Folders and Placeholders

From ObjectVision

Revision as of 15:43, 19 November 2019 by Martin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search


For a GeoDMS project folders (and subfolders) with the following content are relevant:

  • installed Software
  • project specific configuration, data and documentation files
  • project specific (intermediate) results and exports.


In GeoDMS configurations placeholders with logical folder names like SourceDataDir and LocalDataDir are used for folders.

They make configurations clear and easily transferable to other locations/machines. It is advised to use these placeholders, although physical path names are also allowed.

All placeholders used in a storageName or as second argument of the expand function, starting and ending with a % character will be expanded, e.g. StorageName = "'%SourceDataDir%/brondata.csv'". The last column in the next table presents the expanded values for a project folder: C:/prj/nl_later.

Placeholder Description Default Value Expanded Value (example)
%currentDir% The folder of the root configuration file that is opened by the GUI. For shipped configurations this is usually the cfg subfolder of the projDir.
%exeDir% The folder in which the software is installed. non-overridable

%programFiles32%/ ObjectVision/ GeoDMS<versionnr>

%programFiles32% The folder that contains the (32 bit) programs, known as the value of %env:Program Files (x86)% or if that is empty (such as on 32 bit platforms): the value of %env:Program Files% (see %env:xxx% below). non-overridable c:/Program Files
%projDir% The full name of the project specific folder containing the (original) configuration, data and documentation folders. non-overridable C:/prj/nl_later
%projBase% Parent of the projDir non-overridable C:/prj
%configDir% The directory in which the config.ini and a set of configuration files are located. By default this is a subfolder of the projDir with as name the project name.  %currentDir%/%projName% C:/prj/nl_later/cfg/nl_later
%dataDir% The base folder containing the project specific primary data files, often also organised in subfolders.  %sourceDataProjDir%/data C:/prj/nl_later/data
%localDataDir% The default base folder used for the project specific localDataProjDirs. The local data folder is written to the Windows Registry (HKE_CURRENT_USER/Software/ObjectVision/DMS). C:/LocalData C:/LocalData
%localDataProjDir% The base folder used for the project specific (intermediate) results (CalcCache) and exports. Views are exported to this folder, unless otherwise configured in a ExportSettings container of a view definition.  %localDataDir%/%projName% C:/LocalData/nl_later
%sourceDataDir% c:/SourceData
%sourceDataProjDir%  %sourceDataDir%/%projName%
%CalcCacheDir% The folder used for the for project specific (intermediate) results (CalcCache).  %localDataProjDir%/



Documentation files are often placed in a doc folder of the project folder. There is no placeholder for this folder and can be referred at by '/doc'.

When a configuration is opened, the GeoDMS considers the folder that containing the root configuration file as currentDir. The physical paths for the other logical folders in the configuration are derived from this path, but can be overruled by entries in the ConfigSettings container. Since the must be known before the configuration is opened(because the /bin/DmsProject.dll must be loaded) and the , , and must be known before any calculation starts (including derivation of ConfigSettings values), these placeholders are only overridable in the config.ini file.

There are also other placeholders that refer to other parts of the execution environment and sometimes based on the context of usage:

Placeholder Description
%projName% folder name of %projName%
%env:xxx% is expanded to the value of environment variable with the name xxx.
%storageBaseName% is expanded to the base name of a storage (excluding the filename extension)
 %XXX% (for XXX not matching any of the above) if XXX is defined as parameter<string> in /ConfigSettings/Overridable, take the value of that parameter. If the user overrode that value in the GUI in Tools->Options->Config Settings, the override value is taken (which is stored as machine specific registry setting under Software/ObjectVision/Overridable).
Personal tools