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:
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.
_DYNAMIC_WORKSPACEGROUPNAME = ClientName.
_DYNAMIC_WORKSPACEGROUP_CONFIGURATIONNAME=Configuration2024
_DYNAMIC_CEWORKSPACENAME = CEWorkspaceExampleAdv
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
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)