For a GeoDMS project, the directories (and subdirectories) with the following contents are relevant:
- installed software;
- project specific configuration, data and documentation files;
- project specific (intermediate) results and exports (LocalData)
- background data (Source data), immutable from the project's perspective
- software
In GeoDMS configurations, placeholders with logical directory names like projDir and dataDir are used to refer to these directories. They are useful in making configurations clear and easily transferable to other locations/machines. It is advised to always use these placeholders, although absolute storage paths are allowed. All placeholders used in a storageName or as 2nd argument to the expand function and surrounded by '%' will be expanded if known, e.g. in StorageName = "'%dataDir%/brondata.mdb'". The Expanded Value column shows the expansions assuming the current directory to be: C:/prj/nl_later/cfg and the GeoDmsVersion to be 6.054
| Placeholder | Description | Default Value | Expanded Value (example) |
| %exeDir% | The directory in which the software is installed. | The folder of the executable that is running (non-overridable). |
C:/Program Files/
ObjectVision/
GeoDMS6054
|
| %programFiles32% | The directory that contains the (32 bit) programs. | %env:Program Files (x86)% or if that is empty (such as on 32 bit platforms): %env:Program Files% (non-overridable) | C:/Program Files |
| %projDir% | The full name of the project specific folder containing the (original) configuration, data and documentation folders. | parent of %currentDir%, the folder that contains the read configuration file (overridable by the projdir value in section [Directories] of %configDir%/Config.ini). | C:/prj/nl_later |
| %projBase% | Parent of the projDir | parent of %projDir% (non-overridable) | C:/prj |
| %currentDir% | The folder in which the root configuration file is located. These folders may also be located outside the project directory, such as after a Save As operation which adds a projDir=xxx in section [Directories] of %configDir%/Config.ini after saving. |
%projDir%/cfg | C:/prj/nl_later/cfg |
| %configDir% | The directory in which the config.ini and a set of configuration files are located. By default this is a subdirectory of the projDir with as name the project name. | %currentDir%/%projName% | C:/prj/nl_later/cfg/nl_later |
| %dataDir% | The base directory containing the project specific primary data files, often also organised in subdirectories. | %sourceDataProjDir%/data | C:/SourceData/nl_later/data |
| %localDataDir% | The default base directory used for the project specific localDataProjDirs. The local data directory is written to the Windows Registry (HKE_CURRENT_USER/Software/ObjectVision/DMS). | C:/LocalData | C:/LocalData |
| %localDataProjDir% | The base directory used for the project specific (intermediate) results (CalcCache) and exports. Views are exported to this directory, unless otherwise configured in a ExportSettings container of a view definition. | %localDataDir%/ %projName% |
C:/LocalData/nl_later |
| %sourceDataDir% | C:/SourceData | C:/SourceData | |
| %sourceDataProjDir% | %sourceDataDir%/%projName% | C:/SourceData/nl_later | |
| %CalcCacheDir% | The directory used for the for the project specific (intermediate) results (CalcCache). | %localDataProjDir%/CalcCache | C:/LocalData/nl_later/CalcCache |
The documentation files are often placed in a doc subdirectory of the project directory. There is no placeholder for this directory and can be referred at by '%projDir%/doc'.
When a configuration is opened, the GeoDMS has the folder that contains that configuration as currentDir. The physical paths for the other logical directories in the configuration are derived from this path, but can be overruled by entries in the ConfigSettings container or (obsolete) the corresponding values in the config.ini file. Since %projdir% must be known before the configuration is loaded (because %prjDir%/bin/DmsProject.dll must be resolved) and %localDataDir%, %localDataProjDir%, and %CalcCacheDir% must be known before any calulation starts (including derivation of ConfigSettings values) , they are only overridable in %configDir%/config.ini. The placeholders in the configuration will be replaced by the physical paths, if this path is needed e.g. to read or write a file.
There are also other placeholders that refer to other parts of the execution environment and sometimes based on the context of usage:s
| Placeholder | Description |
| %projName% | folder name of %projDir% |
| %env:xxx% | is expanded to the value of environment variable with the name xxx. |
| %storageBaseName% | is expanded to the base name (excluding the filename extension) |
| %geoDmsVersion% | |
| %osverssion% | |
| %username% | |
| %computername% |
The following folder structure represents a typical GeoDMS application:
- %env:ProgramFiles%/objectvision/GeoDMSxxx is the GeoDMS program files where xxx is the GeoDms version number
- %projDir% is the project folder to which the current model configuration refers. Mutable data and other resources (including the dms scripts of the current configuration) for which the current project is the authentic resource holder, are placed in (subfolders of) the project folder. %projDir% is by definition a sub folder of %projBase% with the name %projName%. Typically, the project folder contains the following subfolders:
- %projDir%/data for mutable project data such as MetaData.mdb
- %projDir%/bin containing DmsProject.dll which defines a project specific Skinning.
- %projDir%/cfg containing the GeoDMS configuration script(s). included subscripts are placed in subfolders that are related to the script's name.
- %projDir%/doc containing project documentation
- %localDataProjDir% which is by default defined as C:/LocalData/%projName% is a folder that contains all reproducible (intermediate) results including the project's CalcCache and results subfolder which is the default location for data-exports. %localDataprojDir% is by default defined as a sub folder of %localDataDir% with the name %projName%
- %sourceDataProjDir% is the location of non-mutable (within the project context) data. %sourceDataprojDir% is by default defined as a sub folder of %sourceDataDir% with the name %projName%
Directories and Placeholders