ProjectWise Custom Configurations


 Product(s):OpenBuildings Designer
 Version(s):CONNECT Edition
 Area:ProjectWise Integration
 Subarea:Application Configurations

Problem

I want to configure my project in ProjectWise using a custom folder configuration. How can I do this?

Solution

A custom configuration of a Managed Workspace in ProjectWise would be any project which uses a folder structure different from the folder structure as delivered with OpenBuildings Designer. To configure a Managed Workspace with the delivered folder structure please follow this document. This document also provides an overall view of the configuration variables discussed below.

As a custom configuration is very much subjective, it is not practical to provide an objective guide to how you should go about designing the configuration you are planning to create. Hence, in this Wiki, we will be covering a few important points to keep in mind while creating your custom configuration.

To create a Managed Workspace with a folder structure other than what is delivered (custom configuration), it is important to have a basic knowledge of how the configuration of OpenBuildings Designer works.

It is important to understand that the configuration in ProjectWise uses Configuration Setting Blocks (CSB) while the same configuration in a local machine or shared server would use Configuration files (.cfg). While the existence of the CFG files are important, the configuration variables for a Managed Configuration could also reside completely within the CSBs. This means the CFG files, although being empty, should exist within the configuration with the correct name and extension.

The following table lists specific variables and their respective functions. These are the most important variables that need to be declared properly in order for a Managed Configuration to work. The functions of each of the variables should help guide you on where these variables should resolve to within your custom folder configuration.

Variable

Details

_USTN_CONFIGURATION

  • This should resolve to the root folder where all the information is kept.
  • This should be declared within a CSB.
  • A hardcoded ProjectWise folder selection would be the best way to assign the value to this variable.
  • Usually, this variable is kept under Pre-Defined level.

_USTN_WORKSPACESROOT

  • This variable should resolve to a location where all the Workspaces and their respective CFG files (more about these later) are kept in.
  • The general value is $(_USTN_CONFIGURATION)Workspaces/ . This value can be hardcoded by selecting a required ProjectWise Folder, when the folder structure is different.
  • If in a custom configuration, there is no provision of a folder like this, this folder should resolve to the folder where all the Workspaces and their respective CFG files are in, in some cases, it can be equal to $(_USTN_CONFIGURATION)/.

_USTN_WORKSPACENAME

  • This is one of the most important variables to be declared for creating a Managed Configuration in CONNECT Edition. This variable is used to fetch the correct Workspace for the DGN file opened.
  • The value of this can be hard coded for the particular Workspace, or it can be kept Dynamic by using the dynamic code.
  • Keeping this dynamic would result in using only one CSB for all the projects, while a static or hardcoded value will result in creating different CSBs for different Workspaces.
  • If the value is kept dynamic, make sure that the Workspace and the Workset folders are upgraded to ProjectWise Project and the DGN file to be opened must remain anywhere under these folders.

_USTN_WORKSPACEROOT

  • This variable should resolve to the Workspace folder for the current project.
  • When the Workspace name is declared, it can be used to fetch the Workspace folder.
  • Using $(_USTN_WORKSPACESROOT)$(_USTN_WORKSPACENAME)/ for this variable would result in definition of this folder from the Workspace name and the Workspaces folder. When a dynamic Workspace name is declared, a single CSB can be used for multiple Workspaces.
  • If in a custom configuration, the Workspace folder is not within the Workspaces folder, by correct definition of this variable, the Workspace folder can be resolved. Make sure that the Workspace CFG is at the same level as the Workspace folder and having the same name as the Workspace.
  • A good practice would be to keep all the Workspace Roots along with their respective CFG files in one single folder, so that, one CSB is enough for multiple Workspaces to resolve to the correct location.
  • It is advisable to use the _USTN_WORKSPACENAME for declaring this variable, as that would require only one CSB for multiple Workspaces.

_USTN_WORKSETSROOT

  • Generally, this folder resides under the Workspace Root with the name Worksets, in which case, the value for this variable would be $(_USTN_WORKSPACEROOT)Worksets/.
  • This folder keeps all the Worksets within the current Workspace.
  • If there is no provision of this folder in a custom folder structure, the value of this can be equal to $(_USTN_WORKSPACEROOT)/
  • This variable is needed to correctly define the Workspace Root further down the workflow.

_USTN_WORKSETNAME

  • This is another most important variable to be declared for creating a Managed Configuration in CONNECT Edition. This variable is used to fetch the correct Workset for the current DGN file opened.
  • This value can be hardcoded for a particular Workset, or it can be kept Dynamic by using the dynamic code.
  • Keeping this dynamic would result in using only one CSB for all the projects, while a static or hardcoded value will result in creating different CSBs for different Worksets.
  • If the value is kept dynamic, make sure that the Workspace and the Workset folders are upgraded to ProjectWise Project and the DGN file to be opened must remain anywhere under these folders.

_USTN_WORKSETROOT

  • This variable should resolve to the Workset folder for the current DGN file.
  • When the Workset name is declared, it can be used to fetch the Workset folder. Using $(_USTN_WORKSETSROOT)$(_USTN_WORKSETNAME)/ for this variable would result in definition of this folder from the Workset name and the Worksets folder.
  • If in a custom folder structure, the Workset folder is not within the Worksets folder, then the correct definition of this variable is required to fetch the Workset folder for the current DGN opened. Make sure that the Workset CFG and DGNWS files are at the same level as the Workset folder, and with the same name as that of the Workset.
  • It is advisable to use the variable _USTN_WORKSETNAME to define this as that would require one CSB for all the Worksets.

TF_DATASETS

  • This variable should resolve to the folder where the National Dataset(s) folder(s) is/are kept, i.e., parent folder of the Dataset folder.
  • The value of this variable can be hardcoded by selecting a ProjectWise folder where the Dataset is kept. This can also be a folder in the local machine, in which case, make sure for all the client machines, the folder resides in the same path.
  • If in a custom folder structure, there is no provision of such a folder, then this should resolve to the parent folder of the Dataset folder.
  • If this variable is used in a CSB, make sure any declaration in the Workset CFG for this variable is commented out.

TF_DATASETNAME

  • This variable is recommended to be declared in the CFG file of each of the Worksets. If different Worksets use different Datasets, then the name that is declared in the CFG of that Workset would get applied and the Dataset would be fetched based on that.
  • If in a custom folder structure, you use only one National Dataset, then this can be hardcoded in a CSB which can then be applied to all the Worksets and Workspaces.
  • If this variable is used in a CSB, make sure any declaration in the Workset CFG for this variable is commented out.

TFDIR

  • This variable should resolve to the Dataset folder. If the above two variables are correctly declared, then using $(TF_DATASETS)$(TF_DATASETNAME)/ would correctly resolve to the Dataset folder.
  • If in a custom folder structure, there is only one Dataset that is used, instead of declaring the previous two variables, this variable can be hardcoded by selecting a ProjectWise Folder which is the Dataset folder.
  • If in a custom configuration, the Datasets are kept in local machines, make sure the value of the above two variables are correctly defined and then assign a value of this variable as mentioned earlier.
  • If this variable is used in a CSB, make sure any declaration in the Workset CFG for this variable is commented out.

_USTN_WORKSPACESTANDARDS

  • This variable should resolve to the Standards folder for a Workspace. Generally, the Workspace Standards folder resides under the Workspace Root. This contains the Dataset elements which are specific to that Workspace.
  • The general value for this variable is $(_USTN_WORKSPACEROOT)Standards/.
  • If for a custom folder structure, the Standards folder for the Workspace is at somewhere else (the relative path remains same for all the Workspaces) then declare this variable in a CSB and use as much relative path as possible to point to the correct folder.
  • If the Standards folder for different Workspaces are in different locations relative to the Workspace Root folder, then correctly declare this variable for each of the Workspaces in their respective Workspace CFG files.
  • Make sure the Standards folder contain all the subfolders as it has in a delivered configuration.

_USTN_WORKSETSTANDARDS

  • This variable should resolve to the Standards folder for the Workset. Generally, the Workset Standards folder resides under the Workset Root. This contains the Dataset elements specific for the Workset.
  • The general value for this variable is $(_USTN_WORKSETROOT)Standards/.
  • If for a custom folder structure, the Workset Standards folder is kept at a different location which is same relative to the Workset Root folder for all the Worksets, then declare this variable in CSB.
  • If for a custom folder structure, the Workset Standards folder is kept at a different location which is not same relative to Workset Root folder for all the Worksets, declare this for each of the Worksets in their respective Workset CFG files.
  • Make sure the Standards folder contain all the subfolders as it has in a delivered configuration.

The Workspace and the Workset CFG files contain configuration variable declarations which are specific to each of the Workspaces and Worksets. If your folder structure doesn’t allow the configuration as mentioned in the CFG files, make sure you change them as per your requirement (example, Designs, Sheets, Outputs, etc.). If any configuration change is to be applied to all the Workspaces and Worksets, it is easier to do this in a CSB while commenting out the configuration declarations in the CFG files. Any configuration declaration, which is specific to any single Workspace or Workset, should be done in the respective CFG file.


General Note:

Every time you open a file from ProjectWise, a copy of the final configuration is saved as a CFG file in the local ProjectWise working directory. You can go to the local ProjectWise working directory, open the Workspace folder, and within that sort by Date Modified. The latest CFG file with its name in Hexadecimal code will be the final configuration file that was used the last time you opened a file from ProjectWise. This configuration file will have the resolved values for all the configuration variables. It can also be used for troubleshooting the configuration. A good rule of thumb is, if the value of any configuration variable points to a ProjectWise directory/file instead of a local (ProjectWise local working directory) directory/file, that would mean the variable is not resolved correctly.

Note for V8i users:

Please keep in mind that in V8i there is no Workspace, so the _USTN_WORKSPACESROOT, _USTN_WORKSPACEROOT and _USTN_WORKSPACENAME variables are not required. Also in V8i, Worksets are called Projects. So _USTN_WORKSETSROOT would be replaced by _USTN_PROJECTSROOT, _USTN_WORKSETNAME would be replaced by _USTN_PROJECTNAME and _USTN_WORKSETROOT would be replaced by _USTN_PROJECTCFG which should resolve to the PCF file for the project.

V8i users also need to declare _USTN_SITE resolving to the standards folder which is under the \workspace folder in the delivered configuration (standards folder should contain all the subfolders), _USTN_USER which by default resolves to the \users folder under the \workspace folder in the delivered configuration (this folder should contain at least one user configuration) and _USTN_WORKSPACEROOT which would replace the _USTN_CONFIGURATION variable used in the configuration of CONNECT Edition.