Network and Local Configurations

We are going through a large PC refresh and a significant number of our new machines will be laptops. We are trying to work how to have the configuration (cfg) available to the laptop machines when offline. We have set up a sync from the network to the local machine for the cfg. and I have edited the ConfigurationSetup.cfg as follows;

[General]
_PDT_nDrv = M:/
_PDT_lDrv = C:/
_PDT_locCFG = PennDOT_CE_Configuration/

%if exists ($(_PDT_nDrv)$(_PDT_locCFG)*.cfg)
   _PDT_Drv = $(_PDT_nDrv)
%else
   %if exists ($(_PDT_lDrv)$(_PDT_locCFG)*.cfg)
      _PDT_Drv = $(_PDT_lDrv)
   %else
      error Exiting, No network or local Configuration found
   %endif
%endif

_USTN_CUSTOM_CONFIGURATION = $(_PDT_Drv)$(_PDT_locCFG)

[SetConfiguration]
%if !defined (_USTN_USER_CONFIGURATION)
%if defined (_USTN_CUSTOM_CONFIGURATION) && ($(_USTN_CUSTOM_CONFIGURATION) != "") && exists ($(_USTN_CUSTOM_CONFIGURATION))
_USTN_CONFIGURATION = M:/PennDOT_CE_Configuration/
%endif
%endif

Unfortunately line 21 doesn't seem to like being redefined to a new value.

Here is my debug for this section, note line 9 and 10;

    Processing macro file [C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\ConfigurationSetup.cfg]
      (System): _PDT_nDrv=M:\ [M:\]
      (System): _PDT_lDrv=C:\ [C:\]
      (System): _PDT_locCFG=PennDOT_CE_Configuration\ [PennDOT_CE_Configuration\]
      Starting skip to endif, [C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\ConfigurationSetup.cfg], line 27, depth = 0.
      (System): _PDT_Drv=$(_PDT_lDrv) [C:\]
      Starting skip to endif, [C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\ConfigurationSetup.cfg], line 32, depth = 0.
      endif, [C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\ConfigurationSetup.cfg], line 34, depth = 0.
      (System): _USTN_CUSTOM_CONFIGURATION=$(_PDT_Drv)$(_PDT_locCFG) [C:\PennDOT_CE_Configuration\]
      (System): _USTN_CONFIGURATION=M:\PennDOT_CE_Configuration\ [M:\PennDOT_CE_Configuration\]
    End of macro file [C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\ConfigurationSetup.cfg]
 

I have also tried to defining line 21 to use a variable and not be hard coded but that doesn't seem to work.

_USTN_CONFIGURATION = $(_USTN_CUSTOM_CONFIGURATION)

Any help on how others would be handling configurations for laptops would be helpful. I would prefer to not use different icons for Network and Local configurations.

Parents
  • I cheat in a way that seems to work in my testing (we haven't rolled out connect officially so i can't say for sure it works in production):

    1.  i point _USTN_CONFIGURATION to a folder that is on the local machine, always (since this file never changes it helps that users don't have to dig into C:\ProgramData and Microsoft seems to like to have weird permissions in the entire ProgramData folder, so i avoid screwing with it)
    2. That directory on the local drive then has a WorkspaceStandards.cfg that tests for the network and defines variables we use in terms of network location or local location.

    #-----
    # Workspace Configuration
    # Version 1.0
    #-----
    _OUR_SERVER=//servername/
    _LOCAL_CONFIG_ROOT=C:/Caddlib/Connect/
    _SERVER_CONFIG_ROOT=$(_OUR_SERVER)CADDLib/Connect/
    %if defined (_SERVER_CONFIG_ROOT) && exists ($(_SERVER_CONFIG_ROOT))
      _OUR_CONFIG_ROOT = $(_SERVER_CONFIG_ROOT)
    %else
      _OUR_CONFIG_ROOT = $(_LOCAL_CONFIG_ROOT)
    %endif
    
    # -----
    # Organization Location
    # -----
    MY_ORGANIZATION_LOCATION = $(_OUR_CONFIG_ROOT)Corp/
    
    %if defined (MY_ORGANIZATION_LOCATION) && exists ($(MY_ORGANIZATION_LOCATION))
      _USTN_ORGANIZATION = $(MY_ORGANIZATION_LOCATION)
    %else
    	%echo Unable to locate Organization Standards folder $(MY_ORGANIZATION_LOCATION)
    	%error Please e-mail cadd support for help.  [Computer: $(COMPUTERNAME), User: $(USERNAME)]
    %endif
    
    # rest of code for setting workspace & workset stuff removed, but is similar
    # to above

     

Reply
  • I cheat in a way that seems to work in my testing (we haven't rolled out connect officially so i can't say for sure it works in production):

    1.  i point _USTN_CONFIGURATION to a folder that is on the local machine, always (since this file never changes it helps that users don't have to dig into C:\ProgramData and Microsoft seems to like to have weird permissions in the entire ProgramData folder, so i avoid screwing with it)
    2. That directory on the local drive then has a WorkspaceStandards.cfg that tests for the network and defines variables we use in terms of network location or local location.

    #-----
    # Workspace Configuration
    # Version 1.0
    #-----
    _OUR_SERVER=//servername/
    _LOCAL_CONFIG_ROOT=C:/Caddlib/Connect/
    _SERVER_CONFIG_ROOT=$(_OUR_SERVER)CADDLib/Connect/
    %if defined (_SERVER_CONFIG_ROOT) && exists ($(_SERVER_CONFIG_ROOT))
      _OUR_CONFIG_ROOT = $(_SERVER_CONFIG_ROOT)
    %else
      _OUR_CONFIG_ROOT = $(_LOCAL_CONFIG_ROOT)
    %endif
    
    # -----
    # Organization Location
    # -----
    MY_ORGANIZATION_LOCATION = $(_OUR_CONFIG_ROOT)Corp/
    
    %if defined (MY_ORGANIZATION_LOCATION) && exists ($(MY_ORGANIZATION_LOCATION))
      _USTN_ORGANIZATION = $(MY_ORGANIZATION_LOCATION)
    %else
    	%echo Unable to locate Organization Standards folder $(MY_ORGANIZATION_LOCATION)
    	%error Please e-mail cadd support for help.  [Computer: $(COMPUTERNAME), User: $(USERNAME)]
    %endif
    
    # rest of code for setting workspace & workset stuff removed, but is similar
    # to above

     

Children
  • Hi Kevin,

    Just an FYI, we are seeing an issue with the DGNws file. If a user goes offline (working using local cfg) then goes back online (using network CFG) the DGNws is still being read from local location for the first instance of the application. The second time the application is launched the DGNws is being read from the correct location. It seems to be caching the DGNws file in one of the user files (not upf or ucf).

    Ultimately we should probably not load a DGNws when running on the local CFG. But still this local cache is causing an initial issue.

    ~HTH

    John.

    yep