Site Standards - Where do I Store Common Project Configuration Statements?

Assuming that your projects have a consistent base structure, once you have worked with a few Project Configuration Files (PCF) you will probably think "why am I duplicating the same variable statements in every PCF?".

For instance our current MicroStation example PCFs include statements like:

MS_DGNLIBLIST      > $(_USTN_PROJECTDATA)DGNLIB/*.dgnlib
MS_SEEDFILES      = $(_USTN_PROJECTDATA)seed/

These locations are going to be the same for every project in a well organised system, so should you put them in your site standards file?

In organisational terms it may be beneficial to have one standard set of project variables in the site configuration. On the other hand there will still need to be variables in a PCF to handle project variations so needing to look in two places may be an undesirable overhead.

A site standards file (or files, breaking the site standards down into a number of files can make maintenance easier) should contain all of the settings that apply to all projects and users of the site.

Typical current practice is that most statements containing $(_USTN_PROJECTDATA) are put into the PCF along with other statements that specify project specific resources, project specific seed file names for instance.

The site standards configuration will contain all of the whole site settings (as discussed in other posts here).

Here are some pros and cons:

Pro Con
A PCF containing all project specific statements gives you one location to review when modifying or troubleshooting a project. (However you will still need to refer to site standards.) Duplication in each PCF makes application of global changes to projects more time consuming. This can be ameliorated by intelligent use of Find/Replace in Notepad++ (or other text editor).

A site configuration containing the majority of project variables makes it easy to apply global changes.

Both site configuration and PCF must be referred to when making changes, potentially more scope for oversight or omission?

Locating the majority of project variables in a site configuration reduces the PCF content to the project specific variations making those variations more obvious. Site standard variables can be overridden in the PCF where necessary.

A minimal PCF could lead to uncertainty, particularly for less experienced or part time CAD administrators.
Specifying default project variables at the site level should ensure that a site specific value is applied even if omitted from the PCF. n/a

Having started writing this post with an open mind I'm now coming down in favour of placing all of the common PCF statements in a site configuration and minimising each PCF's content to the project variations.

I would do this by naming my main site standards configuration file (in the _USTN_SITE location) as 00_Company_Standards.cfg with the common project variables in 01_Company_CommonProjectStandards.cfg (the numbering ensuring the project variables are read after the general standards

This is really a matter of what you are comfortable with, either approach will work.

I definitely recommend using Bentley Configuration Explorer to review configurations. It reduces the scope for error as all variables are evaluated regardless of their location and the order in which they are evaluated can be seen.