Physical Storage



Locations in VC/m represent stages or states in the workflow. When an object is transferred to a location, its components may also be copied or moved into a corresponding physical storage space. Where this is may vary depending on what type of component it is. For example, a text file, such as an HTML file, may be placed into a filesystem directory. However, a native Caché component such as a class may be placed into a namespace where it can be edited and executed. Alternatively, if the location is a library-view location, it may just be copied into the VC/m repository.

The system manager is responsible for determining the physical storage spaces that each location maps to. A developer needs to be aware of what these are so that they can access the components.

Mapping Structures


To see a location's mapping structure, navigate to the location in the folders panel. When you click on it, the main panel should display information about the location. There should be a section that looks something like this:

Note: Although the screenshot above pictures relative paths being used for physical addresses, the use of relative paths is discouraged. The reason they have been used above is because the VC/m environment that is pictured is the free 30-day evaluation kit. It uses relative paths so that the user is able to install the evaluation kit in a directory of their choice without compromising the physical storage mappings.

A mapping structure is a list of rules that VC/m refers to when transferring an object to a location. In the image above, you can see 4 rows. When processing the transfer, VC/m compares each of the objects' components with each mapping rule in order. In this case, it checks if the component is a text file with a .php extension. If so, it stores the component in text format at a physical address which is a directory: \pages\php. If the component does not meet the criteria, VC/m compares it to the next rule. This tests to see if the component is a text file. If so, it stores it in text format at the directory \pages. The third rules checks to see if it is a binary component. Finally, if it matches none of the preceding criteria, VC/m treats it as an M-specific component-type, and stores it in M format in the namespace VCM-DEV1.

For this particular location, this would be the outcome if several varied components were transferred to it:

MAC.dbconvert BIN.logo.png T.formsubmit.php T.readme.html
T.*.php

T.*

BIN.*

*

The following diagram demonstrates the mapping structure:

Working Location and Library-view Location Mapping


The mapping structure example given above would create a working location. This can be seen by the fact that components are stored at accessible addresses in an editable and executable format. A library view location, however, maps all of its objects' components to the library, from which they cannot be run.

The mapping structure for a library view location, therefore, looks like this:

Component Mask Storage Format Physical Address
* L VCM-LIBRARY

For more information about working and library-view locations, see the article on location types.


See Also: Locations, Components, Managing Physical Storage, Managing Locations, Location Types