Shared Workspace

Hi

My office is currently running V8 2004 (both MicroStation and Powerdraft) and has a shared workspace drive for Architects & Electrical/Mechanical/Civil Engineers. The existing shared workspace is in quite a mess with lots of unused UCF's and other files & folders I intend to upgrade the office to V8i ASAP but in the interim I am cleaning up the existing V8 config from scratch by creating a fresh shared workspace on my local machine which shall eventually be copied over to the network drive.

Currently each CAD user has a shortcut on his/her desktop which has command line switch that loads up a startup.cfg file specific to that persons discipline (all very standard I'm sure) There isn't a project configuration set nor a corporate interface as such.

Currently I have started editing creating new startup.cfg's but I want to ensure that I am putting the correct variable definitions in the correct .cfg files. My thinking is that each startup.cfg will need to specify _USTN_USERNAME and _USTN_USERINTNAME to obviously load up the correct user config and interface. It works fine in testing however, I have read several articles recommending that these are best put in a site .cfg.

  1. Does this apply to discipline based UCFs or the more common method of using $(USERNAME).ucf? If it recommended, how would I go about doing it given that the site config's are shared by all disciplines?
  2. Are there any factors I should be aware of using this method user configs?
Thanks
  • Personally, I have defined _USTN_USERNAME : $(USERNAME) in msconfig. _USTN_USERNAME is determined by _USTN_USER, which points to a network drive folder. This by default loads the configuration (.ucf) depending on who has logged in on a workstation. Assuming that every person can be assigned to a specific discipline, the personalized ucf can then load further configurations like .pcf and so forth.

    Maybe it helps to think of the hierarchy using users and groups: assign users to a group, and the group loads a common interface, depending on their tasks.

    Regards, Andreas

  • I've used the following method for several firms now and used the same principle for users from 3 to 150. Below is worth a read:

    http://communities.bentley.com/Products/MicroStation/MicroStation_-_all_pre-V8_versions/MicroStation_-_all_pre-V8_versions_Programming/f/163/t/21510.aspx

    You can use the hta to set anything from project and client to discipline etc.



  • Thanks for your replies.

    Bear, I'm not quite sure how your hta file would tie in with my setup as that kind of thing is a bit over my head at this stage. What I would like to do is have a site config query which ucf to load and once it gets that information, the load the UCF. Below is the code for 2 of the startup configs

    #------------------
    # MS_Arch_V8_Startup.cfg
    #------------------
    MSDIR=C:/Program Files/Bentley/Program/MicroStation/
    _USTN_WORKSPACEROOT = C:/Cad/M_Workspace/
    %lock _USTN_WORKSPACEROOT
    %include $(MSDIR)CONFIG/msconfig.cfg
    #----------------------------------------------------------------------
    # _USTN_ variables #specific to each discipline user
    #----------------------------------------------------------------------
    _USTN_USERNAME = ms_Arch_v8 #name of current user config
    _USTN_USERINTNAME = ms_Arch_v8_interface

     

      and the other..
    #------------------
    # MS_Civils_V8_Startup.cfg
    #------------------
    MSDIR=C:/Program Files/Bentley/Program/MicroStation/
    _USTN_WORKSPACEROOT = C:/Cad/M_Workspace/
    %lock _USTN_WORKSPACEROOT
    %include $(MSDIR)CONFIG/msconfig.cfg
    #----------------------------------------------------------------------
    # _USTN_ variables #specific to each discipline user
    #----------------------------------------------------------------------
    _USTN_USERNAME = ms_civils_v8 #name of current user config
    _USTN_USERINTNAME = ms_civils_v8_interface

    So if someone uses a shortcut using the first startup config, I want a site config file to check the value of  _USTN_USERNAME and load the the ms_arch_v8.ucf config.

     %if defined $(_USTN_USERNAME) = ms_arch_v8
    _USTN_USERCFG = $(_USTN_WORKSPACEROOT)users/ms_arch_v8/ms_arch_v8.ucf
    %lock _USTN_USERCFG

    %endif

     I tried the above code as a basic conditional check but I'm getting a syntax error

    syntax error, expected "(", [C:\Cad\M_Workspace\standards\user_conditions.cfg], line 1

    I know its looking for a ( but I don't know where it I don't have much experience with programming and this has got me stumped. It's probably quite obvious where I've gone wrong and I'd appreciate any guidance to help get me started

    Thanks again

  • The hta is a good way to help users set variables that you can use later on in the build. For instance, you could have a discipline drop down that you could use to load your discipline menus etc.

     That aside, I would personally stay away from editing ANY delivered MS cfg files. I've found the best way is to have a cfg file copied into the config\appl directory of MS that helps set the _USTN_SITE variable. If you have a look at the links I provided, you'll see how I set up that cfg file so that you can even set the build up depending on version. Very easy to do.

    This is where the hta help as well. If you have a look at the vbscript I get the hta to copy the cfg file into the config\appl directory for me. Means there is no way users can get it wrong and you don't have to worry about what editing delivered files will do.

     By setting site:

    %if exists ($(build_drv)$(STD_MS)/Standards/.)
    _USTN_SITE = $(build_drv)$(STD_MS)/Standards/
    %endif

    I then have MS read my config files when it starts up. I break my build config files down to make it easier to follow. See pic attached. One of these is my user cfg file where I set the location of all user files.

    Set the user directory -

    %if exists (c:/$(USERNAME))
    STD_USER = C:/ $(USERNAME)
    %else
    STD_USER = U:/$(USERNAME)/Bentley/
    %endif

    By using the %if exists I can have users work away from the office as required. Very handy.

    I would stay AWAY from using ucf files to set ANY build variables. Creates too many issues.

    JMO.