Dynamic Managed Workspace Framework


Dynamic Managed Workspace Framework Introduction

The Dynamic Managed Workspace Framework (DMWF) is a templated ProjectWise Managed Workspace that is primarily .cfg file based.

The Dynamic Managed Workspace Template saves time in Workspace development.  Both owner/operators and consultants can implement it in the same way.  The functionality within the Workspace can handle multiple workspaces and scenarios. 

Since the Workspace is designed to take advantage of the ability for ProjectWise to be context-sensitive, the template is referred to as the Dynamic Managed Workspace.

Note: to Owners/Operators/Agencies (OOA):  This workspace is designed to allow multiple workspaces to work together.  While an OOA may not need such a robust workspace, implementing this workspace template, and providing installation instruction based on this template, will allow easy adoption by Design Consultants who need to implement additional OOA workspaces.

 

Common Managed Workspace Requirements

The following are a few requirements that are common among the majority of those implementing managed workspaces:


-Simple Configuration Setting Block (CSBs)

     Simple to create and manage

-Adaptable
     Adaptable to a organizations specific needs and well as adaptable to client workspaces.

-Utilize either CSBs or .Cfg file
   Allows the use of controlling the configuration with either CSBs or .cfg files.

-Supports Only Connect as of 24.0.0.0

-Error Checking
     Provides error checking to help identify missing configurations or typos.

The Dynamic Managed Workspace seeks to meet these requirements.

Workspace Philosophy: Framework Variable Redirection Only

All well-designed Workspaces should allow for the minimal redirection of the framework variables to achieve portability when workspace must be distributed to other organizations.

With this in mind, only a few variables must be redirected for V8i and CONNECT Edition workspaces to be placed in any environment.

For V8i, these variables are: (V8 No longer supported with 24.0.0.0)

_USTN_WORKSPACEROOT
_USTN_PROJECTNAME

For CONNECT Edition, these variables are:

_USTN_CONFIGURATION
_USTN_WORKSPACENAME
_USTN_WORKSETNAME

While these are the minimal variables, additional variables will probably be needed to match real-world locations of the configurations and project.

It must also be noted that V8i had limited workspace redirection options. Hence, Owner/Operators had to resort to several different methods to accomplish this.  This template has been developed to allow for V8 workspaces to be organized in a similar manner to that of CONNECT Edition.

Most client-supplied workspaces can be easily incorporated into the Dynamic Managed Workspace structure. However, some workspaces may include customizations that are not directly compatible with ProjectWise.

(V8 No longer supported with 24.0.0.0)

Single CSB Concept

The Managed Workspace is designed to use a single CSB at the predefined level. 

This single CSB points to a common configuration file (Common_Predefined.cfg) that includes dynamic variables that can be used to build an entire Workspace around.   The fundamental idea in this concept is that all framework variables can be set at the Predefined level and locked if needed.  The name for this file is "Common_Predefined" because it is a common configuration (cfg) file used by all products/versions and runs at the Predefined configuration level in the ProjectWise Managed Workspace.

The Common_Predefined.cfg file contains a version check which allows differentiation between variables required for V8i and CONNECT Edition.  In addition, the supplied configuration files incorporate error checking to verify the appropriate folders and configuration files are in place and notify you of any issues.

Workspace specific framework variables are defined in PW Setup files located within each Workpace.  The PW Setup files may also contain variables that can substitute for Environment Variables.  Hence, rather than setting environment variables on the computer, these can be set for each workspace and allow multiple Agency Workspaces to co-exist within the same environment. 

Configuration File Naming Convention

The configuration files have a consistent naming convention. (e.g  Common_Predefined_PWSetup.cfg)

PWSetup: Files with PWSetup in the name are intended to be edited as needed.  The content of these files is for the configuration's adaptation into ProjectWise.   User (Operational) configuration variables (those that start with MS_) should most likely not be defined in these files.

Level Inclusion:  Where appropriate, the PWSetup File Names contain the level at which the ProjectWise Managed Workspace processes them.  (e.g., _Predefined, _Application, etc.)

Location:  The configuration file name will Include where the file resides.  Typically, in one of three locations: Common, Workspace, or WorkArea.   The first part of each cfg typically reflects this.

More Examples:

Common_Predefined.cfg

Common_Application.cfg

Common_SiteOrg.cfg

Common_Predefined_PWSetup.cfg

WorkspacePWSetup_Predefined_Name_Version.cfg

WorkAreaPWSetup_Predefined_Name.cfg

 

Dynamic Variable Naming

Framework variable created for this configuration begins with _DYNAMIC_ to reflect the dynamic context capabilities with the configuration.

Vocabulary

Workspace: Standards shared by multiple projects.  Workspaces are identified by names

Work Area Folder: A ProjectWise WorkArea (previously known as a ProjectWise Project/Rich Project)

PWSetup Folder: Locations where the configurations can be modified to suit ProjectWise Dynamic Workspace Environment.  The "_" is used to put this at the top of the list but can be modified to meet user naming conventions.  Example uses: 

Common PWSetup: PW configuration common to all Workspaces

WorkSpace PWSetup: PW configuration that is Workspace Specific

WorkArea PWSetup: PW configuration that is WorkArea specific

 

Workspace Name Designation 

The Dynamic Managed Workspace needs to designate a workspace name to be used by the application.  The Dynamic Managed Workspace utilizes one variables the CONNECT Edition workspaces.  This _DYNAMIC_CEWORKSPACENAME.  This variable is defined in the file WorkArea PWSetup* and located within the WorkArea in a folder called _PWSetup

The name should align with the folder names in the  ..\Bentley 2023\Configuration\Workspaces\ folders. or Workspace Groups folders.  

To accomplish this, the WorkArea PWSetup .cfg file may contain syntax similar to this:

  %if defined (_VERSION_8_11)

       %error This WorkArea not configured for V8i  

 %elif defined (_VERSION_10_0)

        _DYNAMIC_CEWORKSPACENAME=CEWorkspaceExample

 %endif

Note, the error message prevents this WorkArea from being launched with V8.

Dynamic Managed Workspace Load Process

The  three (3) basic steps are:

  1. Managed Workspace Initiated. The Managed Workspace requires at least one variable assigned to ProjectWise through a CSB.  In the template, the variable is  _DYNAMIC_DATASOURCE_BENTLEYROOT, and the CSB is typically called Bentley Common Predefined 2024  

Subsequent variables are then defined relative to this.  For example,

_USTN_CONFIGURATION=$(_DYNAMIC_DATASOURCE_BENTLEYROOT)Configuration/

The subsequent variables are assigned through the Common_Predefined.cfg file.   This configuration will typically use _DYNAMIC to prepend associated variables.

  1. Workspace Names Established . Once a root variable is created, the next step is to know the Workspace to load. You will pass the name of the Workspace to the Configuration.  This is done in the .\WorkArea\_PWSetup\WorkAreaPWSetup_Predefined*.cfg Three variables should be set in this file to point to the correct workspace: _DYNAMIC_WORKSPACEGROUPNAME, _DYNAMIC_WORKSPACEGROUP_CONFIGURATIONNAME, and _DYNAMIC_CEWORKSPACENAME. Given the following example path ClientWorkspaces\ClientName\Configuration2024\Workspaces\CEWorkspaceExampleAdv\ the variables would be set as follows to align with the folder structure.

    _DYNAMIC_WORKSPACEGROUPNAME = ClientName.

    _DYNAMIC_WORKSPACEGROUP_CONFIGURATIONNAME=Configuration2024

    _DYNAMIC_CEWORKSPACENAME = CEWorkspaceExampleAdv

  2. Workspaces Adopted to the ProjectWise environment. This is accomplished using a configuration file in  .\WorkspaceRoot\_PWSetup\ folder called WorkspacePWSetup_Predefined*.cfg 

 

Additional Links and Information:

Installation/Setup Instructions

Documentation

Dynamic Managed Workspace Framework 2024 (see DynamcManagedWorkspace.xlsx located in the .,,\Bentley2024\Documentation\ folder of the download)

Templates

What's New (Release Notes)

Dynamic Managed Workspace 23.0.1

Dynamic Managed Workspace Framework 24.0.0.0

    Note: Support for V8i Workspace has been removed in DMWF 24.0.0.0 

(See wiki "files" section for older releases)