ProjectWise Managed Workspace Support


Managed Workspace Support

Managed Workspace support in ProjectWise Powered by iTwins is designed to pull application workspace files in order to increase the fidelity of the iModel.  Managed Workspaces are a feature of ProjectWise Design Integration, and are designed to align desktop application workspaces, so that design teams can share a project-specific configuration for a given application.

"Unmanaged" workspaces (a collection of support files in a given network share for example) are not supported.

 

Workspace Considerations

In some cases, such as OpenBuildings Designer or ProStructures, failure to find any kind of workspace will cause the connector to fail the Sync job.

Similar to the way the application association of a file is used to help determine the proper connector, the file's associated managed workspace is used to find the files necessary for materials, schemas, linestyles, etc. that are defined for a given CAD file.

The associated application is also used to determine a "template" to use when pulling and reading the associated woprkspace.

However, since a workspace is mainly used to configure a desktop application, this means that some (or even most) of the required files may exist only on the desktop.  Since the Sync services can't access the desktop in this way, those files will not be found.

This is shown in the image below:

Note: The user will need to review their managed workspace carefully to determine what necessary files exist in the managed workspace in the PWDI Work Area as opposed to what is handled on the desktop.

Another possible option (that does not require ProjectWise integration) for desktop workspace files would be to use the iTwin Synchronizer Client tool. However it is not recommended to use both of these approaches on the same iModel as this can lead to sync conflicts and potential data corruption.

 

General Application Using Managed Workspaces with Work Area Connections

Since a managed workspace is associated to a file, and the managed workspace configuration is read from PWDI using WSG, it is possible to synchronize files from DGN-based applications which do not specifically have a file-based connector such as OpenPlant Modeler or Bentley Raceway & Cable Management (BRCM).  In normal operations, the OpenPlant applications synchronize via the desktop application. 

However they can also be synchronized in ProjectWise Powered by iTwin by utilizing the workspace support feature outlined below.

This process requires WSG Plugin version 23.06.03 or higher in order to get the managed workspace data.

When a file is Synchronised with a DGN file, a DGN-based application is required to be asociated it, as well as a managed workspace.  In the example above, a DGN file is asociated to OpenPlant Modeler.  Since OpenPlant Modeler does not have a file-based connector, the workspace service in Infrastructure Cloud will substitute the MicroStation connector and then pull the associated managed workspace from ProjectWise.

When this happens, the workspace service uses a "template" to set a few variables for the application before reading and processing the workspace defined by ProjectWise.

In the case of OpenPlant, the managed workspace configuration needs to include a pointer to the schemas used by OpenPlant by pointing the MicroStation EC Schemas variable to the equivalent OpenPlant variable:

MS_ECFRAMEWORK_SCHEMAS > $(OPM_DIR_SCHEMAS)

This is the same approach that would be used for Bentley Raceway & Cable Management (BRCM)

MS_ECFRAMEWORK_SCHEMAS > $(BRCM_WS_SCHEMAS)

This is just an example of a potential configuration, as each organization will have different configuration architectures. Therefore this may require some level of experimentation.

Fine tuning

Since the workspace service is not running on the desktop, this can lead to errors wehn processing workspace configurations, especially where those configurations are attempting to read the Windows Registry for application version numbers, or other such information.

Since the workspace service includes some specific variables that can't be changed, it is possible to test for these variables in order to fine tune the desktop configuration for more complex environments.  At frist, the user could simply teast for the existence of _ITWINSYNCENGINE like:

%if defined (_ITWINSYNCENGINE)
# include EC Schema files and\or don't read registry

Similarly, if the configuration is complex to test for multiple applications and take more elaborate branching, the it may be better to test fro the pre-set _ENGINENAME variable like:

%if $(_ITWINSYNCENGINE) == "MSTN" && $(_ENGINENAME) == "OpenPlantModeler" 
# include EC Schema files and\or don't read registry

This test is required as there have been cases of including the schema files in this manner can sometime cause Pipeline Manager to incorrectly display.

Further information can be found on Bentley's YouTube channel here: