Locations



Locations (sometimes refered to as logical locations) are one of the core concepts built into VC/m's abstracted structure. While object versions constitute the units of your source base, locations are their containers. In this way, they are designed to play two key roles:

  • To represent a stage along a development or workflow cycle.
  • To determine where a copy of the object versions' components should be physically stored.

Note: A fresh installation of VC/m does not come configured with any locations. The system manager configures the environment to suit their organization. As such, any examples given in this documentation may not fit well with the system you are using. Your system manager may be able to help you if this is the case.

Representing a Development Stage


Locations are designed in this way so that you can enforce workflow procedures and ensure the integrity of your source base. For example, an environment with a very simple bug-fix cycle could have locations called 'Sandbox', 'Test' and 'CurrentRelease'. This would be the procedure that a developer would need to follow when fixing a bug:

  1. The master copies of current software release are located at the 'CurrentRelease' location. The developer needs to check the relevant objects out from 'CurrentRelease' to 'Sandbox'. New versions of each object are created and they can be modified at this location.
  2. The developer checks them back in to the 'Test' location where they can be executed.
  3. Finally, they either pass the changes and transfer the object versions back to 'CurrentRelease', or fail them by checking them out again to 'Sandbox'.

Determining Physical Storage


Each location is mapped onto one or more physical locations. This means that an object version can have components which are stored in different storage formats and at different, for example, an image which is a binary file, a web page which is a text file, and a Java applet which is stored in Visual SourceSafe.

The following diagram gives an example of how a location might map onto physical storage spaces:

Each physical location may have more than one logical location mapped onto it. This can be used to divide the contents of a physical location into groups. For example, a test area may have a logical location for object versions undergoing testing and one for object versions which have been tested. Object versions can then be changed from TESTING to TESTED, without physically moving them.

To read more about how this works, see the article on physical storage.


See Also: Physical Storage, Locations Folder