###################################################################################################
#
# Name: Common_Predefined_PWSetup.cfg
# Description: Allows an organization to augment the Common Predefined cfg
# Author: Buddy Branham
# Date: 2022/02/28
# Version: 2.0.0.0
#
#--------------------------------------------------------------------------------------------------
# Notes:
# - 2021-02-09 Added Version Option in Advanced Configuration Section
# - 2021-02-18 Revised advanced to ClientWorkspaces
# - 2021-02-23 Revised advanced area, added Dynamic ConfigurationName and ConfigurationRoot
# - 2021-04-12 Revised %if !exists ($(_DYNAMIC_V8WORKSPACESROOT)) + Revised Comments
# - 2021-05-13 Revised Configuration Name logic and general comments
# - 2021-06-08 Updated comments and typos
# - 2021-06-10 Added CEWorkspaceRootNames Option
# - 2021-06-14 Added Nested WorkArea Capabilities (1.6.0)
# - 2021-06-24 Corrected Configuration redirection syntax (1.6.1)
# - 2021-08-05 Added ProjectWise Drive Integration (1.7.0)
# - 2021-08-05 Added CommonPredefined Version Matching (1.7.0)
# - 2021-08-05 Added CONNECTED Project in PWSetup search (1.7.0)
# - 2021-08-10 PWSetup search logic updated (1.7.0)
# - 2021-08-10 _DYNAMIC_WORKAREA_PWSETUP_PATH assignment revised (1.7.1)
# - 2021-09-15 Updated Common Predefined.cfg Matching verification (1.7.2)
# - 2021-09-15 Added PW Explorer Version check (1.7.2)
# - 2021-09-15 Added WorkspaceList/WorkSetList locking for 3.* versions (1.7.2)
# - 2021-09-15 Added PW Drive variables for ConfigurationRoot and WorkArea (1.7.2)
# - 2021-09-15 Revised Order for WorkArea PWSetup to look for CONNECT Project first (1.7.2)
# - 2021-10-07 Added PWSetup location for Workspace Groups root (1.7.3)
# - 2021-02-12 Added Build to Version for minor edit changes (1.7.4.0)
# - 2022-02-21 Refactored file by seperating sections out to included cfgs (2.0.0.0)
# - 2022-02-21 Added Variable Summary (2.0.0.0)
# - 2022-02-28 Initial Release (2.0.0.0)
#
#--------------------------------------------------------------------------------------------------
# Available Variables: Variables previously defined in configuration that may be applicable to cfg file
#
# CSB Block/CFG File Level Variable Value
# Common_Predefined.cfg Pre-defined _DYNAMIC_DATASOURCE_BENTLEYROOT PW Moniker to folder that houses Common_Predefined.cfg
# Common_Predefined.cfg Pre-defined _DYNAMIC_WORKAREA $(DMS_PROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_WORKAREA_NAME $(LASTDIRPIECE(_DYNAMIC_WORKAREA))
# Common_Predefined.cfg Pre-defined _DYNAMIC_PARENTWORKAREA $(DMS_PARENTPROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_PARENTWORKAREA_NAME $(LASTDIRPIECE(_DYNAMIC_PARENTWORKAREA))
# Common_Predefined.cfg Pre-defined _DYNAMIC_CONNECTEDPROJECT $(DMS_CONNECTEDPROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_CONNECTEDPROJECTNAME $(LASTDIRPIECE(_DYNAMIC_CONNECTEDPROJECT))
# Common_Predefined.cfg Pre-defined _USTN_CONNECT_PROJECTGUID $(DMS_CONNECTEDPROJECTGUID(_DGNDIR))
#
# Common_Predefined.cfg Pre-defined _DYNAMIC_MSG_NOT_FOUND NOT FOUND
# Common_Predefined.cfg Pre-defined _DYNAMIC_MSG_VERIFY_PATH PLEASE VERIFY SPELLING AND PATH OF VARIABLE.
#
# Common_Predefined.cfg Pre-defined _DYNAMIC_PWSETUP_PATH _PWSetup
# Common_Predefined.cfg Pre-defined _DYNAMIC_BENTLEY_PWSETUP $(_DYNAMIC_DATASOURCE_BENTLEYROOT)$(_DYNAMIC_PWSETUP_PATH)
#
###################################################################################################
###################################################################################################
# DYNAMIC CONFIG VARIABLE
#--------------------------------------------------------------------------------------------------
# The "_DYNAMIC_CONFIGS" variable can be appended in each cfg file to track
# loading of cfgs and other notations.
###################################################################################################
_DYNAMIC_CONFIGS > Common_Predefined_PWSetup.cfg 2.0.0.0
###################################################################################################
# DEBUGGING/VERIFICATION
#-------------------------------------------------------------------------------------------------
# Verify Common Predefined combatibility
###################################################################################################
_DYNAMIC_COMMONPREDEFINED_PWSETUP_GENERATION=1
_DYNAMIC_COMMONPREDEFINED_PWSETUP_MAJOR=8
_DYNAMIC_COMMONPREDEFINED_PWSETUP_MINOR=0
_DYNAMIC_COMMONPREDEFINED_PWSETUP_BUILD=0
%if !defined (_DYNAMIC_COMMONPREDEFINED_GENERATION) || !defined (_DYNAMIC_COMMONPREDEFINED_MAJOR)
%error Common_Predefined.cfg does not define _DYNAMIC_COMMONPREDEFINED_GENERATION and/or _DYNAMIC_COMMONPREDEFINED_MAJOR. The Common_Predefined.cfg needs to be updated for compatibility
%else
%if ((_DYNAMIC_COMMONPREDEFINED_GENERATION) != $(_DYNAMIC_COMMONPREDEFINED_PWSETUP_GENERATION))
%error Common_Predefined.cfg needs to match Common Predefined PWSetup $(_DYNAMIC_COMMONPREDEFINED_PWSETUP_GENERATION).*.*
%elif ((_DYNAMIC_COMMONPREDEFINED_MAJOR) > $(_DYNAMIC_COMMONPREDEFINED_PWSETUP_MAJOR))
%error Common_Predefined.cfg is newer than Common Predefined PWSetup $(_DYNAMIC_COMMONPREDEFINED_PWSETUP_GENERATION).$(_DYNAMIC_COMMONPREDEFINED_PWSETUP_MAJOR).*. Update Common Predefined PWSetup.cfg
%elif ((_DYNAMIC_COMMONPREDEFINED_MINOR) > $(_DYNAMIC_COMMONPREDEFINED_PWSETUP_MINOR))
%error Common_Predefined.cfg is new than Common Predefined PWSetup $(_DYNAMIC_COMMONPREDEFINED_PWSETUP_GENERATION).$(_DYNAMIC_COMMONPREDEFINED_PWSETUP_MAJOR).* Update Common Predefined PWSetup.cfg
%endif
%endif
###################################################################################################
# DEFAULT VALUES
#--------------------------------------------------------------------------------------------------
# Sets default workspace and folder names used by organization.
# Maintain use of ":" so that this can be pre-established if utilizing this configuration for
# multiple clients/workspaces
###################################################################################################
%if defined (_VERSION_8_11)
_DYNAMIC_V8WORKSPACESROOTNAME : V8Workspaces
##### EDIT: Modify the following line to set organizations default V8 Workspace
_DYNAMIC_V8WORKSPACENAME : V8WorkspaceExample
%elif defined (_VERSION_10_0)
_DYNAMIC_CONFIGURATIONNAME : Configuration
_DYNAMIC_CEORGANIZATIONROOTNAME : Organization
_DYNAMIC_CEWORKSPACESROOTNAME : WorkSpaces
##### EDIT: Modify the following line to set organizations default CE Workspace
_DYNAMIC_CEWORKSPACENAME : CEWorkspaceExample
%endif
_DYNAMIC_MSG_NOT_FOUND : NOT FOUND
_DYNAMIC_MSG_VERIFY_PATH : VERIFY PATH OF VARIABLE.
###################################################################################################
# WORKAREA ROOT
#--------------------------------------------------------------------------------------------------
# REQUIRED: WorkArea Root must to be found to set base location for related configurations
###################################################################################################
%if exists ($(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_FindWorkAreaRoot.cfg)
%include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_FindWorkAreaRoot.cfg
%endif
###################################################################################################
#
# DELETE SECTIONS BELOW IF NOT USED
#
###################################################################################################
###################################################################################################
# PW EXPLORER VERSION CHECK with adjustments
#--------------------------------------------------------------------------------------------------
# Enable the following section if recieving file open error
###################################################################################################
%if exists ($(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_PWExpVersionCheck.cfg)
%include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_PWExpVersionCheck.cfg
%endif
###################################################################################################
# PRODUCT VERSION
#--------------------------------------------------------------------------------------------------
# This section allows dectection of product version, if not already processed in CSB
###################################################################################################
_DYNAMIC_PRODUCT_VERSION_PROCESSED:0
%if !(_DYNAMIC_PRODUCT_VERSION_PROCESSED)
%if exists ($(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_ProductVersion.cfg)
%include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_ProductVersion.cfg
%endif
%endif
###################################################################################################
# WORKAREA PWSETUP INCLUDE (OPTION 2)
# DELETE IF NOT USED
#--------------------------------------------------------------------------------------------------
# Allows the setting of workspace information within a specific workarea
###################################################################################################
%if defined (_DYNAMIC_WORKAREAROOT)
##### EDIT: Revise _DYNAMIC_WORKAREA_PWSETUP_PATH to match Organizational project folder structure
_DYNAMIC_WORKAREA_PWSETUP_PATH:Design/_PWSetup/
_DYNAMIC_WORKAREA_PWSETUP: $(_DYNAMIC_WORKAREAROOT)$(_DYNAMIC_WORKAREA_PWSETUP_PATH)
%if exists ($(_DYNAMIC_WORKAREA_PWSETUP)WorkAreaPWSetup_Predefined*.cfg)
%include $(_DYNAMIC_WORKAREA_PWSETUP)WorkAreaPWSetup_Predefined*.cfg
##### OPTION: The following section maybe deleted if the default location is not changed.
##### OPTION: However, if the default location is changed, the following allows examples to
##### continue to function.
%elif exists ($(_DYNAMIC_WORKAREAROOT)$(_DYNAMIC_PWSETUP_PATH)WorkAreaPWSetup_Predefined*.cfg)
_DYNAMIC_WORKAREA_PWSETUP_VALIDATION:NOT FOUND: $(_DYNAMIC_WORKAREA_PWSETUP)WorkAreaPWSetup_Predefined*.cfg USING DEFAULT PATH: $(_DYNAMIC_WORKAREAROOT)$(_DYNAMIC_PWSETUP_PATH)WorkAreaPWSetup_Predefined*.cfg
%include $(_DYNAMIC_WORKAREAROOT)$(_DYNAMIC_PWSETUP_PATH)WorkAreaPWSetup_Predefined*.cfg
%else
_DYNAMIC_WORKAREA_PWSETUP_VALIDATION:NOT FOUND: $(_DYNAMIC_WORKAREA_PWSETUP)WorkAreaPWSetup_Predefined*.cfg
#%error $(_DYNAMIC_MSG_NOT_FOUND) _DYNAMIC_WORKAREA_PWSETUP CFG: $(_DYNAMIC_WORKAREA_PWSETUP)WorkAreaPWSetup_Predefined*.cfg. $(_DYNAMIC_MSG_VERIFY_PATH)
%endif
%endif
###################################################################################################
# PWDRIVE SETUP
# DELETE IF NOT USED
#--------------------------------------------------------------------------------------------------
# ProjectWise Drive : Example PWDrive Variables
###################################################################################################
_PROJECTWISE_DRIVE_ENABLED:0
_PROJECTWISE_DRIVE_FOUND:0
_DYNAMIC_PWDRIVE_PROCESSED:0
%if (_PROJECTWISE_DRIVE_ENABLED) && !(_DYNAMIC_PWDRIVE_PROCESSED)
%if exists ($(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_PWDrive.cfg)
%include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_PWDrive.cfg
%endif
%endif
###################################################################################################
# WORKSPACE GROUPS
# DELETE IF NOT USED
#--------------------------------------------------------------------------------------------------
# Workspace Groups allow Workspaces (V8 and CONNECT) to be organized by Groups/Clients
# but still utilize the same common predefined cfg files and CSB
###################################################################################################
%if defined (_DYNAMIC_WORKSPACEGROUPNAME)
%if exists ($(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_WorkspaceGroups.cfg)
%include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_WorkspaceGroups.cfg
%endif
%endif
###################################################################################################
# Summary of Variables and Include Statements
###################################################################################################
#--------------------------------------------------------------------------------------------------
# General Variables
#--------------------------------------------------------------------------------------------------
# _DYNAMIC_MSG_NOT_FOUND: NOT FOUND
# _DYNAMIC_MSG_VERIFY_PATH: VERIFY PATH OF VARIABLE.
#--------------------------------------------------------------------------------------------------
# V8
#--------------------------------------------------------------------------------------------------
# _DYNAMIC_V8WORKSPACESROOTNAME : V8Workspaces
# _DYNAMIC_V8WORKSPACENAME : V8WorkspaceExample
#--------------------------------------------------------------------------------------------------
# CONNECT Edition
#--------------------------------------------------------------------------------------------------
# _DYNAMIC_CONFIGURATIONNAME : Configuration
# _DYNAMIC_CEORGANIZATIONROOTNAME : Organization
# _DYNAMIC_CEWORKSPACESROOTNAME : WorkSpaces
# _DYNAMIC_CEWORKSPACENAME : CEWorkspaceExample
#--------------------------------------------------------------------------------------------------
# WORKAREA ROOT
#--------------------------------------------------------------------------------------------------
# %include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_FindWorkAreaRoot.cfg
#--------------------------------------------------------------------------------------------------
# PW EXPLORER VERSION CHECK
#--------------------------------------------------------------------------------------------------
# %include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_PWExpVersionCheck.cfg
#--------------------------------------------------------------------------------------------------
# PRODUCT VERSION
#--------------------------------------------------------------------------------------------------
# _DYNAMIC_PRODUCT_VERSION_PROCESSED:0
# %include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_ProductVersion.cfg
#--------------------------------------------------------------------------------------------------
# WORKAREA PWSETUP INCLUDE (OPTION 2)
#--------------------------------------------------------------------------------------------------
# %include $(_DYNAMIC_WORKAREA_PWSETUP)WorkAreaPWSetup_Predefined*.cfg
#--------------------------------------------------------------------------------------------------
# PWDRIVE SETUP
#--------------------------------------------------------------------------------------------------
# _PROJECTWISE_DRIVE_ENABLED:0
# _PROJECTWISE_DRIVE_FOUND:0
# _DYNAMIC_PWDRIVE_PROCESSED:0
# %include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_PWDrive.cfg
#--------------------------------------------------------------------------------------------------
# WORKSPACE GROUPS
#--------------------------------------------------------------------------------------------------
# %include $(_DYNAMIC_BENTLEY_PWSETUP)Common_Predefined_WorkspaceGroups.cfg