This article describes the work flow for teams collaborating on a shared project using CaseComplete's built-in version control system.
Create a project (project administrator only)
Create a new shared project: File / New / Shared Project, or share an existing project: File / Sharing / Share this project. You'll be asked for a Repository Location and a Working Folder Location.
- Store the repository in a network folder that everyone has full control security permissions1 to. See the final topic below for alternatives.
- File-syncing services such as DropBox, Microsoft OneDrive, Google Drive, etc. won't work for the repository location. It must be a folder accessible via your LAN.
- Keep in mind that each project must reside in its own folder, so you might want to set up a general folder that will eventually hold multiple repository folders.
- Put the working folder in your own private workspace, e.g. your Documents folder on your local hard drive, or anywhere you have full control security permissions1, including a network drive (certain restrictions apply). Do not create the working folder within the working folder for another project.
- This step can take a while, and while CaseComplete is uploading information into the repository, "Not Responding" may display in the title bar.
Access a shared project for the first time (additional users)
To copy the project files from the repository to your own working folder, click: File / Sharing / Join Shared Project
- Enter the repository location set up by the project administrator in the step above.
- Put the working folder in your own private workspace, e.g. your documents folder on your local hard drive, or anywhere you have full control security permissions1, including a network drive (certain restrictions apply). Do not create the working folder within the working folder for another project.
- Perform this step just once
- This step can take a while, and while CaseComplete is downloading information from the repository, "Not Responding" may display in the title bar.
Open a shared project (everyone)
From now on, to work on the project, open it from the recent files list or use File / Open and browse to your working folder that you specified in the steps above. There is no need to ever browse to the repository on the server, nor should you ever make any modifications directly to the repository. If you do happen to look at the repository location, you won't see any native CaseComplete files. Rather, the information gets stored in a database-like format, and will contain miscellaneous files and folders such as conf, db, hooks, and locks.
Check out the file(s) you want to work on: right click on a package or diagram in the project browser and select Check Out, or just start editing and you will be asked if it's OK to check out the file. A green checkmark is added to the project browser icon indicating you have it checked out:
Make your changes available to teammates
When ready, check in your changes: right click on a package or diagram in the project browser and select Check In, or click the Check In toolbar button. A dialog will show the file(s) that have changed and allow you to add a comment describing your changes. The green checkmark will change to a lock icon, indicating the file is checked in and locked from further changes:
Get changes made by teammates
To see the changes that have been checked in by teammates: right click on the top level package in the project browser and select Get latest version (entire project), or click the Get Latest toolbar button. This will bring over all changed files from the repository (if any) and store them in your own working folder.
Determine what files your teammates are working on
Icons shown in the project browser indicate the file status. When someone else has a file checked out you will see this icon:
CaseComplete will prevent you from editing files that are checked out by someone else.
When a file is out of date you will see this icon:
Someone else has checked in changes to the file and you don't have the latest version yet. To get their changes, click the Get Latest button as described above.
Important: These icons don't update automatically, so when someone checks a file in or out, you won't immediately see the icon change. To see the current status for all project files, click the Refresh Status toolbar button.
Add new packages (folders)
As your project grows, you'll want to add packages to hold new use cases and requirements: right click on an existing package and select Add Package. In the resulting dialog, select Save package in its own file if you want to be able to check it out independently. Or, if it should always be checked out with its parent, unselect this option. If you change your mind in the future, right click on the package in the project browser to change the setting.
Alternatives to using a network folder for the repository
CaseComplete integrates with Subversion servers as well as many other version control systems, such as Microsoft TFS. Advantages of using a server over a shared folder include:
- Tighter security
- Access via http
- Superior performance when accessing via WANs and VPN
Visual SVN Server is a very easy server to set up and administer (http://www.visualsvn.com/server). There are also many cloud-based Subversion servers, for example, http://www.projectlocker.com which allow access to your repository from any computer with internet access.
1Full control refers to the shared folder permissions, not to be confused with NTFS permissions.