Stinking Pile of Directories

So, what does STD_APP have to do with anything?

Well, while worrying about how to sort out everything else, I forgot one thing. Up until now I’ve been able to keep applications separated from each other, but with Workspace\Workset, most of the application files are stored at the Workset level and what became really apparent is that there’s no consistent approach across all of the products on how directories are installed under Workset to keep products separate from each other if you want to run multiple applications from a single network location.

While OpenPlant uses:

…….\WorkSpaces\OpenPlantExample\WorkSets\Metric\Standards\OpenPlant\

OpenBuildings uses:

…….\WorkSpaces\Building_Examples\worksets\BuildingTemplate_US\Standards\

Add to this the fact there are other directories installed at different locations as well and things start to get messy. While there are some additional directories added at the Workspace level, so far, they haven’t been too excessive and can be used at this level to service numerous Worksets. Easy enough to change down the track.

Splitting this area out wasn’t an easy process. I try to avoid using custom variables where I can, so my initial thought was to use:

_USTN_PRODUCT_DIR_NAME

Worked fine to start with, but with this I also wanted to change the location of the cfg files for the Workspaces and Worksets.

_USTN_WORKSPACESROOT    = $(STD_CLIENT)Workspaces/$(_USTN_WORKSPACENAME)/

%lock _USTN_WORKSPACESROOT

 

_USTN_WORKSETSROOT      = $(_USTN_WORKSPACEROOT)Worksets/$(STD_APP)/

%lock _USTN_WORKSETSROOT

Only issue with this is that this just raised errors. Many thanks to local Bentley Communities member Tuan Le. Great guy to bump ideas off and loves to play with configs as much as I do. Turns out the issue is that the variable is not set early enough in the process so wasn’t being set correctly when I needed it. Only way around it was to go ahead and set my own variables at the appl level.

So, back to std_appl.cfg with some additions to the end. Remember, I’m only covering OpenPlant and OpenBuildings here, but you could add pretty much any application in the same way.

New lines are:

%if defined (TFDIR)

                STD_APP = OpenBuildingsCE

%endif

 

%if defined (OPM_DIR_PREFS)

                STD_APP = OpenPlantCE

%endif

 

The idea here is to use variables from the applications set at the appl level so I can set my own.

Problem solved. Final result looks like:

Rant time. This situation on occurred because applications are being developed in isolation without any thought to how firms would use these in a network environment. It is NOT an ideal situation to have to set builds for these applications in different locations. The easiest option is a single location for all applications under each Workspace location. Help us work with these applications by setting up each application in a similar way. It would save us a LOT of work around testing and build work if we had that consistency.

More soon, stay tuned.

Anonymous