A machine with the following is required to install Harmony:
Windows 10 - Home or Professional
4GB RAM
50Mb free disk space
ProjectWise Desktop Explorer 10.0.3.3XX or later (if using Harmony with Bentley ProjectWise)
Harmony was designed and tested on a 64-bit Operating System.
Installation
Double click the installer to start the install for Harmony.
The install is approximately 10Mb in size and will take a few minutes. If you have ProjectWise Explorer installed, a plug-in for it will automatically be installed. In order to integrate with ProjectWise, Harmony must be installed after ProjectWise.
Organization code
As part of the contract signed between you and Pencil 9 for the use of Harmony, you will have been sent an Organization code. Ensure this is entered correctly when you launch Harmony for the first time.
Harmony can be used in "Guest" mode. This mode is only utilized by external parties who are collaborating within BIM 360. Using Guest mode disables synchronization with an Organization's standards and the ability to create standard definitions.
Creating installation packages
If your organization needs to generate an install package, ensure that Harmony is installed on a machine and the correct Organization code has been entered. Next navigate to C:\ProgramData\Pencil 9\Harmony and locate Organization.XML . Append this file as part of the install package to be placed in the same location. Harmony will read the Organization code and not require prompting by the application.
Quick Start
Let’s start by creating your first example package and automating its delivery!
The steps below guide you in creating your first package, creating an entry into the master standards catalogue and then using Harmony to automate its delivery.
Create a new folder within your My Documents folder. Name the folder Harmony source files. Add some files to this folder.
Create an empty folder called Harmony on your C Drive; C:\Harmony\
Launch Harmony and navigate to the Admin screen by clicking the third icon on the left hand side menu. Input your account credentials, which would have been sent to you. Note: For users who are in trial mode, the following credentials can be used:
User name: harmonyadmin
Password: Harmony1234
Click New Standard. This creates a new line in the master standards catalogue.
Set the fields as follows:
Infrastructure
Network
Source
Folder in step 1. eg C:\Users\XXXXX\Documents\Harmony source files
Display Name
Defaults to folder in step 1, can be changed if required.
Version
Optional: 1.0
Status
WIP
Vendor
Optional: Any text is acceptable
Application
Optional: Any text is acceptable
Target
C:\Harmony\
Description
Optional: My first Harmony package!
Click Commit to master to ensure the content is saved to the database.
Test the functionality by selecting the row you just created and clicking the Test standard button.
Congratulations, you have just automated the delivery of your first item!
The content from Step 1 should now have synchronized to the location in Step 2.
Now, imagine instead of Step 1 being a practice location on your machine, this can be a file server location on your network, a cloud storage solution, Autodesk® BIM 360® or Bentley ProjectWise. This is referred to as a “Master Location”. Step 2 represents a “Target Location”.
Harmony is great at automating the delivery of content from a Master Location to a Target Location. In addition to automating the delivery of the content, Harmony will always keep the target content up to date, and can also automate the configuration of your design applications (such as Autodesk user profiles and Bentley workspaces)
To remove this example package from your local machine, just go to the Download screen, select the Harmony source files line and click the Remove standard button.
To remove this example package from the master standards catalogue, go to the Admin screen, highlight the Harmony source files line and select the Remove standard button.
Now that you have created an example package, learn more about the functionality of Harmony in the proceeding sections.
There are four main areas that can be accessed from the main navigation bar on the left hand side of the Harmony application.
The Available screen. This shows the Standards that are available for a user to use
The Downloaded screen. This shows the standards that have been downloaded and enables a user to manage those standards on their computer.
The Admin screen. This is for admins to configure and test the Standards prior to making them visible on the Available screen.
The About screen. This has links to a user guide as well as other useful information such as release notes.
Available Screen
The Available screen shows the Standards that are available for the user to Set.
Set standard
To set a Standard, ensure that the standard to be set is highlighted and select the Set standard button. If you already have the standard, Set standard will make an already downloaded standard become the current standard and will also ensure the most up to date content is retrieved.
Harmony will retrieve the content and set the standard which could include automatically configuring the appropriate design application to use the content that has been retrieved.
Log-in credentials may be required to authorize the user if the standards are in a location where authentication is required.
Refresh catalogue
Selecting this button will refresh the available standards. This is useful if an entry in the master standards catalogue was recently updated and the user wants to see the updated content.
Launch application
This is an efficient way to launch the appropriate application. To launch your design application, select the application from the Launch application dropdown box and then select the button. This is useful after using the Set standard button. There are no extra command switches used by Harmony’s application launcher, it just launches the application allowing the most current configurations to be active. Applications can be launched outside of Harmony, however note any command switches (such as Autodesk user profile switches) in the shortcut will take precedence.
Downloaded screen
The Downloaded screen displays all the standards that have already been cached or set previously.
Set standard
To set a Standard, ensure that the standard to be set is highlighted and select the Set standard button. Harmony will retrieve the content and set the standard. Log-in credentials may be required to authorize the user if the standards are in a location where authentication is required.
Load Playlist
Use this button to load a Playlist file. Navigate to the location where the file is located and click Open. This will read the Playlist file and set the standard. The loaded standard will be shown in the Downloaded list.
Launch application
This is an efficient way to launch the appropriate application. To launch your design application, select the application from the Launch application dropdown box and then select the button. This is useful after using the Set standard button. There are no extra command switches used by Harmony’s application launcher, it just launches the application allowing the most current configurations to be active. Applications can be launched outside of Harmony, however note any command switches (such as Autodesk user profile switches) in the shortcut will take precedence.
Refresh catalogue
Selecting this button will refresh the available standards. This is useful if an entry in the master standards catalogue was recently updated and the user wants to see the updated content.
Remove standard
To remove a Standard from the machine, ensure that the standard to be removed is highlighted and select the Remove standard button. Harmony will delete the content and remove any configurations that were applied.
Reset design application
To reset a design application back to default settings, select the application to be reset from the drop down and click the reset button.
Harmony will review the list of Downloaded standards and reset only that specific application if it was set by Harmony. For example, an AutoCAD® profile is reset to <<Unnamed Profile>> and Civil 3D® is reset to <<C3D_Imperial>>. For Bentley CE applications, this will reset the configurationsetup.cfg to the version prior to Harmony being used.
If there was no application set by Harmony, no action will be taken.
Admin screen
The Admin screen enables an administrator to configure standards, test and set them to be visible to other Harmony users. There are two tabs along the top; Standards and Design Apps. The Standards tab is used to manage the standards and the Design Apps tab is for generating an Instruction file to configure design applications.
Logging in
Access to the Admin screen requires a username and password. Pencil 9 will generate an account for admins that require access. Once an account is created, the user will receive an email from support@pencil9.com which will detail the username and password.
Note: For users who are in trial mode, the following credentials can be used:
User name: harmonyadmin
Password: Harmony1234
Selecting the Admin screen button brings up a dialogue box which will request the user to enter their credentials. The first time a user logs into the Admin screen, a prompt will request the temporary password be reset. See the section on Password requirements for what compoenents are required in a password.
Once the password has been reset, the application will log the user in.
A user can also reset their password at anytime from the Standards tab. See User Account for more information.
Forgot password
For users that have forgotten their password, input your username (this will be your email address) and select the “forgot password” button on the log-in screen. An email with a verification code will be sent to the user. Once the verification code has been successfully entered, the user will be able to reset their password.
Password requirements
The following are the criteria for new passwords:
Must be greater than 8 characters in length
Must contain a number
Must contain a lowercase letter
Must contain a uppercase letter
Must contain a special character
Standards tab
New Standard
To add a new line in the master standards catalogue, select the New standard button. This will generate a new line in the table. Within the new line, add the following details to correctly generate an entry.
Heading
Entry
Source Infrastructure
Network - Enables selection of network folder for Source ProjectWise - Enables selection of ProjectWise folder for Source BIM360 - Enables selection of Autodesk Construction Cloud or Autodesk BIM360 location for Source Amazon Web Services - Enables selection of Amazon Web Services S3 Bucket for Source Microsoft Azure - Enables selection of Microsoft Azure Container for Source Google Cloud Platform - Enables selection of Google Cloud Platform Bucket for Source
Source
Network, ProjectWise, BIM360 - Set source folder by pasting the path into the line or selecting the three dots and navigating to the folder.
Source - Amazon Web Services
Select the three dots and then fill in as below: AWS region - Use the drop down to select the AWS Region of the bucket. e.g. USEast1 Bucket Name - This is the name of the bucket. e.g. p9-cad-standards Folder (Standard) Name - This is the name of the folder in the bucket that contains the Standard. e.g. p9-acad2020
Source - Microsoft Azure
Select the three dots and then fill in as below: Azure Connection string - Paste the entire connection string from the account access keys page Container (Standard) Name - This is the name of the Container, within which the Standard is stored e.g. p9-acad2020
Source - Google Cloud Platform
Select the three dots and then fill in as below: GCP Bucket Name - This is the name of the GCP Bucket exactly as it appears in the Google Cloud Platform. e.g. p9-cad-standards Folder (Standard) Name - This is the name of the first level folder within the GCP Bucket, within which the Standard is stored e.g. p9-acad2020
Display Name
User defined name for the Standard. The folder where the standard is located is the default value.
Version
Optional: User generated version number
Status
WIP - Only visible on this screen Checking - Only visible on this screen Approved - Visible to all users on the Available screen
Vendor
Optional: User defined "Vendor"” label
Application
Optional: User defined “Application” label
Target
Set target destination on local machine
Description
Optional: User defined description of the standard
Note: The Commit to Master button must be pressed to commit the changes to the master standards catalogue. If the changes are not committed prior to leaving the Admin screen, all changes will be lost.
Test Standard
This enables an admin to test a standard during the process of creating a new standard, prior to approving the standard for use by advancing it to the Approved state.
To use this function, select the standard to be tested and then click the Test Standard button.
Harmony will locate the source content and process this. An information screen will then show the status of the standard and some statistics such as the number of files and zipped files, whether an Instruction file was found and any settings that were applied.
This information can be useful in confirming that all the settings have been applied.
The Open button on the Test dialogue will open the target location which is useful when developing the Instruction file.
Note: The test button only works for testing the application configuration for a Network based standard. For testing the application configurations from Bentley ProjectWise, a Playlist needs to be created and a file opened from Bentley ProjectWise. See for more information.
Playlist
A Playlist file is used to automate the delivery of Standards from ProjectWise. Select the Standard(s) to be used for the project in ProjectWise and then select the Playlist button. This generates a Playlist file and Harmony will open the location where the file is created. The Playlist file can then be placed in ProjectWise. Notes:
The Playlist file must not be renamed.
The Playlist file can be placed in any folder within a Bentley ProjectWise project. When a file is opened Harmony will first look in the current folder for a Playlist and will continue up the project folder tree looking in each parent folder. Once Harmony locates a Playlist it will process the Playlist and stop searching the folder tree. This allows flexibility and greater control of automation on your project. Playlists can be strategically placed to only automate specific folders within a project structure.
If an admin needs to see which standard was referenced into the Playlist, the user can export the file from ProjectWise and open this with a text editor such as notepad. The name of the standard is given within the Resource_display_title tags as shown below: <Resource_display_title> </Resource_display_title>
It is recommended that the admin writes the standard being referenced in the description field for the Playlist file after placing within ProjectWise.
Playlist Pause
A Playlist Pause file can be used to instruct Harmony to not automate certain folders. Similar to creating a Playlist file, select the Playlist Pause button (it doesn’t matter which standard is currently selected) and Harmony will generate a Playlist Pause file and open the location where the file is located. The Playlist Pause file can then be placed in ProjectWise.
Notes:
The Playlist file must not be renamed.
The Playlist Pause file can be placed in any folder within a Bentley ProjectWise project. As Harmony is searching up the folder tree looking for Playlists, if the first Playlist it finds is a Playlist Pause file, Harmony will stop looking for Playlists and no automation will occur.
Remove Standard
This removes an entry from the master standards catalogue. Ensure that the line to be removed is selected prior to clicking the Remove standard button. A dialogue to confirm the deletion will appear. Note: This does not delete any files. This only removes the entry from the master standards catalogue.
Commit to Master
This synchronizes all changes to the master standards catalogue. Any changes made on a single row on the table needs to be confirmed by clicking the Commit to master button.
Note: Selecting any other element within the Harmony interface whilst editing a row will bring up a dialogue box requesting the user to confirm or discard the changes being made to the standard being edited.
Refresh catalogue
Selecting this button will refresh the available standards. This is useful if an entry in the master standards catalogue was recently updated and the user wants to see the updated content.
User account
This button allows the logged in user to reset their password or log out of the admin screen. Reset password: After clicking this button, an email with a verification code will be sent to the user. Once the verification code has been successfully entered, the user will be able to reset their password. Log out: Clicking this button logs the user out of the admin screen. The user must log back into Harmony to access the Admin screen. Note: The user does not have to log out of the Admin screen prior to closing the application. Closing the application will log the user out automatically.
Design Apps tab
Design/Engineering Application
This starts the process to generate an Instruction file which is used to automate the configuration of a design application.
Select the application for which an Instruction file is to be created from the dropdown. This loads the relevant set of options for the application.
Autodesk® AutoCAD® Instruction file
Selecting Autodesk AutoCAD from the Design/Engineering Application dropdown brings the following items that can be set:
Root folder location to be trusted for a standard.
This should be the location a standard is being cached to. All subfolders will also be trusted locations.
Only a single folder can be defined here.
C:\Harmony\
Main CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here. See note 2
C:\Harmony\CAD\menu\Custom_menu.CUI;
Enterprise CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here.
This is often used for client delivered CUI files.
If this is blank no enterprise CUI will be used because there is no application default.
C:\Harmony\CAD\menu\Client_menu.CUI;
Print spooler location
Sets the folder used by the Print Spooler where temporary plot files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Plot\Temp
Printer configration paths
Sets the folders where the printer configurations are located. See note 1, 2
C:\Harmony\CAD\Plot\
Printer description paths
Sets the folders where the printer descriptions are located. See note 1, 2
C:\Harmony\CAD\Plot\
Plot style folders
Sets the folders where the plot configuration files are located (CTB or STB). See note 1, 2
C:\Harmony\CAD\Plot\
Auto save location
Sets the auto save location.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Templates location
Sets the folder where drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Sheet Set Templates location
Sets the folder where Sheet Set drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Default for QNEW
Sets the default template drawing used for (QNEW).
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Default for Sheet creation
Sets the default template drawing used for sheet creation and page setup overrides.
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Tool palette paths
Set the folders where the Tool palettes are located.
The default folders built into the application do not have to be included here, only extra ones. See note 1
C:\Harmony\CAD\Palettes\
Log file location
Sets the folder where log files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Logs\
Temporary file location
Sets the folder location for temporary drawing files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Temporary XREF location
Sets the folder location for temporary XREF files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
* Denotes mandatory fields Note 1: Multiple folders need to be separated by a semi-colon. Note 2: Any blanks will use the application default.
Any additional settings can be taken from an Autodesk ARG file and pasted here.
Ensure that the syntax and format match the ARG file. Multiple sections are supported.
Root folder location to be trusted for a standard.
This should be the location a standard is being cached to. All subfolders will also be trusted locations.
Only a single folder can be defined here.
C:\Harmony\
Main CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here. See note 2
C:\Harmony\CAD\menu\Custom_menu.CUI;
Enterprise CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here.
This is often used for client delivered CUI files.
If this is blank no enterprise CUI will be used because there is no application default.
C:\Harmony\CAD\menu\Client_menu.CUI;
Print spooler location
Sets the folder used by the Print Spooler where temporary plot files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Plot\Temp
Printer configration paths
Sets the folders where the printer configurations are located. See note 1, 2
C:\Harmony\CAD\Plot\
Printer description paths
Sets the folders where the printer descriptions are located. See note 1, 2
C:\Harmony\CAD\Plot\
Plot style folders
Sets the folders where the plot configuration files are located (CTB or STB). See note 1, 2
C:\Harmony\CAD\Plot\
Auto save location
Sets the auto save location.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Templates location
Sets the folder where drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Sheet Set Templates location
Sets the folder where Sheet Set drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Default for QNEW
Sets the default template drawing used for (QNEW).
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Default for Sheet creation
Sets the default template drawing used for sheet creation and page setup overrides.
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Tool palette paths
Set the folders where the Tool palettes are located.
The default folders built into the application do not have to be included here, only extra ones. See note 1
C:\Harmony\CAD\Palettes\
Log file location
Sets the folder where log files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Logs\
Temporary file location
Sets the folder location for temporary drawing files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Temporary XREF location
Sets the folder location for temporary XREF files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
* Denotes mandatory fields Note 1: Multiple folders need to be separated by a semi-colon. Note 2: Any blanks will use the application default.
Any additional settings can be taken from an Autodesk ARG file and pasted here.
Ensure that the syntax and format match the ARG file. Multiple sections are supported.
_USTN_CONFIGURATION
The path to the WorkspaceSetup.CFG file
C:\Harmony\ORD_Americas\
WorkSpace name*
_USTN_WORKSPACENAME
This is the name of the WorkSpace to be loaded for the project
_CT_Civil Standards - Imperial
* Denotes mandatory fields Note 1: Any Bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings.
_USTN_WORKSETSROOT
Sets the root location of the Workset. This is location of the Workset CFG file
F:\Projects\
Workset Name (PW)
_USTN_WORKSETNAME
Sets the name of the Workset.
Project001
CFG Location\Name
Set the location and name to where a configuration for these Instructions will be written
C:\BentleyCommon\CommonConfiguration.cfg
* Denotes mandatory fields Note 1: Any bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings. Note 3: The dropdown fields contain variables that can be used as a starting point for defining the path within ProjectWise which are defined as follows:
$(dev(_DGNDIR)) - This dynamically defines the path of the Datasource in ProjectWise that a file was opened from.
$(dms_project(_DGNDIR)) - This dynamically defines the path of a rich project in ProjectWise that a file was opened from.
$(dms_parentproject (_DGNDIR)) - This dynamically defines the path of a parent rich project in ProjectWise that a file was opened from. This is useful when a rich project is nested inside another rich project.
_USTN_WORKSETSROOT
Sets the root location of the Workset. This is location of the Workset CFG file
F:\Projects\
Workset Name (non-PW)
_USTN_WORKSETNAME
Sets the name of the Workset.
Project001
* Denotes mandatory fields Note 1: Any bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings.
Note: Any bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings.
Note: Any bentley variables can be placed in the fields.
Create instruction
Click the Create instruction button to export the settings to a Harmony instruction file. Harmony will open the location of the exported instruction file. This file can then be placed in the same folder as the standard to be automated (the master standards root folder).
Load instructions
Click the Load instruction button to import a previously saved set of settings from a Harmony instruction file. Use the interface to modify any settings prior to clicking Create instruction to re-export the content.
New Standard
To add a new line in the master standards catalogue, select the New standard button. This will generate a new line in the table. Within the new line, add the following details to correctly generate an entry.
Heading
Entry
Source Infrastructure
Network - Enables selection of network folder for Source ProjectWise - Enables selection of ProjectWise folder for Source
Source
Set source folder based on the Source Infrastructure selection earlier
Display Name
User defined name for the Standard. The folder where the standard is located is the default value.
Version
Optional: User generated version number
Status
WIP - Only visible on this screen Checking - Only visible on this screen Approved - Visible to all users on the Available screen
Vendor
Optional: User defined "Vendor"” label
Application
Optional: User defined “Application” label
Target
Set target destination on local machine
Description
Optional: User defined description of the standard
Note: The Commit to Master button must be pressed to commit the changes to the master standards catalogue. If the changes are not committed prior to leaving the Admin screen, all changes will be lost.
Root folder location to be trusted for a standard.
This should be the location a standard is being cached to. All subfolders will also be trusted locations.
Only a single folder can be defined here.
C:\Harmony\
Main CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here. See note 2
C:\Harmony\CAD\menu\Custom_menu.CUI;
Enterprise CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here.
This is often used for client delivered CUI files.
If this is blank no enterprise CUI will be used because there is no application default.
C:\Harmony\CAD\menu\Client_menu.CUI;
Print spooler location
Sets the folder used by the Print Spooler where temporary plot files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Plot\Temp
Printer configration paths
Sets the folders where the printer configurations are located. See note 1, 2
C:\Harmony\CAD\Plot\
Printer description paths
Sets the folders where the printer descriptions are located. See note 1, 2
C:\Harmony\CAD\Plot\
Plot style folders
Sets the folders where the plot configuration files are located (CTB or STB). See note 1, 2
C:\Harmony\CAD\Plot\
Auto save location
Sets the auto save location.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Templates location
Sets the folder where drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Sheet Set Templates location
Sets the folder where Sheet Set drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Default for QNEW
Sets the default template drawing used for (QNEW).
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Default for Sheet creation
Sets the default template drawing used for sheet creation and page setup overrides.
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Tool palette paths
Set the folders where the Tool palettes are located.
The default folders built into the application do not have to be included here, only extra ones. See note 1
C:\Harmony\CAD\Palettes\
Log file location
Sets the folder where log files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Logs\
Temporary file location
Sets the folder location for temporary drawing files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Temporary XREF location
Sets the folder location for temporary XREF files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
* Denotes mandatory fields Note 1: Multiple folders need to be separated by a semi-colon. Note 2: Any blanks will use the application default.
Any additional settings can be taken from an Autodesk ARG file and pasted here.
Ensure that the syntax and format match the ARG file. Multiple sections are supported.
Root folder location to be trusted for a standard.
This should be the location a standard is being cached to. All subfolders will also be trusted locations.
Only a single folder can be defined here.
C:\Harmony\
Main CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here. See note 2
C:\Harmony\CAD\menu\Custom_menu.CUI;
Enterprise CUI file
If profile has a custom CUI or CUIX. Full path including the file should be inserted here.
This is often used for client delivered CUI files.
If this is blank no enterprise CUI will be used because there is no application default.
C:\Harmony\CAD\menu\Client_menu.CUI;
Print spooler location
Sets the folder used by the Print Spooler where temporary plot files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Plot\Temp
Printer configration paths
Sets the folders where the printer configurations are located. See note 1, 2
C:\Harmony\CAD\Plot\
Printer description paths
Sets the folders where the printer descriptions are located. See note 1, 2
C:\Harmony\CAD\Plot\
Plot style folders
Sets the folders where the plot configuration files are located (CTB or STB). See note 1, 2
C:\Harmony\CAD\Plot\
Auto save location
Sets the auto save location.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Templates location
Sets the folder where drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Sheet Set Templates location
Sets the folder where Sheet Set drawing templates are located.
Only a single folder can be defined here.
C:\Harmony\CAD\Templates\
Default for QNEW
Sets the default template drawing used for (QNEW).
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Default for Sheet creation
Sets the default template drawing used for sheet creation and page setup overrides.
Only a single file can be defined here.
C:\Harmony\CAD\Templates\imperial.dwt
Tool palette paths
Set the folders where the Tool palettes are located.
The default folders built into the application do not have to be included here, only extra ones. See note 1
C:\Harmony\CAD\Palettes\
Log file location
Sets the folder where log files are stored.
Only a single folder can be defined here.
C:\Harmony\CAD\Logs\
Temporary file location
Sets the folder location for temporary drawing files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
Temporary XREF location
Sets the folder location for temporary XREF files.
Only a single folder can be defined here.
C:\Harmony\CAD\Temp\
* Denotes mandatory fields Note 1: Multiple folders need to be separated by a semi-colon. Note 2: Any blanks will use the application default.
Any additional settings can be taken from an Autodesk ARG file and pasted here.
Ensure that the syntax and format match the ARG file. Multiple sections are supported.
_USTN_CONFIGURATION
The path to the WorkspaceSetup.CFG file
C:\Harmony\ORD_Americas\
WorkSpace name*
_USTN_WORKSPACENAME
This is the name of the WorkSpace to be loaded for the project
_CT_Civil Standards - Imperial
* Denotes mandatory fields Note 1: Any Bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings.
_USTN_WORKSETSROOT
Sets the root location of the Workset. This is location of the Workset CFG file
F:\Projects\
Workset Name (PW)
_USTN_WORKSETNAME
Sets the name of the Workset.
Project001
CFG Location\Name
Set the location and name to where a configuration for these Instructions will be written
C:\BentleyCommon\CommonConfiguration.cfg
* Denotes mandatory fields Note 1: Any bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings. Note 3: The dropdown fields contain variables that can be used as a starting point for defining the path within ProjectWise which are defined as follows:
$(dev(_DGNDIR)) - This dynamically defines the path of the Datasource in ProjectWise that a file was opened from.
$(dms_project(_DGNDIR)) - This dynamically defines the path of a rich project in ProjectWise that a file was opened from.
$(dms_parentproject (_DGNDIR)) - This dynamically defines the path of a parent rich project in ProjectWise that a file was opened from. This is useful when a rich project is nested inside another rich project.
_USTN_WORKSETSROOT
Sets the root location of the Workset. This is location of the Workset CFG file
F:\Projects\
Workset Name (non-PW)
_USTN_WORKSETNAME
Sets the name of the Workset.
Project001
* Denotes mandatory fields Note 1: Any bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings.
Note: Any bentley variables can be placed in the fields. Note 2: All these variables can be locked so they are not overwritten by proceeding configuration settings.
Note: Any bentley variables can be placed in the fields.
Creating a Playlist
A Playlist file is used to automate the delivery of Standards from ProjectWise. Select the Standard(s) to be used for the project in ProjectWise and then select the Playlist button. This generates a Playlist file and Harmony will open the location where the file is created. The Playlist file can then be placed in ProjectWise. Note: The Playlist file must be placed in the root of the project for Harmony to function properly.
Launch Design Application
To launch your design application, select the application from the Launch Design App dropdown box and then select the button. This is useful after using the Set standard button.
Key Concepts
This section outlines the fundamental ways in which Harmony operates and then suggests some strategies that the admin could employ in order to maximize the benefit that Harmony can bring.
There are a few functions that are available for admins to use for the configuration of their applications.
Synchronization of content from one location to another.
Configuration of design applications.
Plug-ins for Document Management Systems
Harmony will always synchronize content prior to setting any configurations.
In developing a strategy for your organization, it is worth knowing that Harmony can use either of the items 1 and 2 listed above or both together. Item 3 is used to automate the configuration from a Document Management System offering a “no-touch” experience for the end user.
Synchronization of content
Once a source and destination are set, Harmony will create a copy of the source content in the target location after the Set Standard or Test button has been clicked.
If a source folder contains zip files, Harmony will also extract the contents of those zip files.
Once a synchronization is complete, any subsequent click of the Set standard button will start a check process to ensure that only the content from the source is at the target. Modifications to the target location are removed and replaced with that from the source ensuring that only the content from the source is at the target location.
See for more information.
Configuration of design applications
To configure a design application, an Instruction file is required and placed within the root folder of the source location. This file is read by Harmony and the configuration applied.
The Instruction file is generated by Harmony from the Design Apps tab of the Admin screen. This is where the configuration of the application is set.
See for more information.
See for more information.
See for more information.
Plug-ins for Document Management Systems
Plug-ins for Document Management Systems such as Bentley ProjectWise are also setup during the install, if the application was detected on the machine at that time.
The plug-ins do not require any input from an end-user or configuration from an administrator as they are fully automated. For Bentley ProjectWise, the only item required to automate a project is to have a valid Playlist file in a folder within a ProjectWise Work Area.
When a file from the Document Management System is then set to open, the Playlist automates the process of ensuring the most current up to date standards are synchronized and the design application configured properly.
This occurs before the file is opened and thus allows an application to be configured prior to launch.
The Playlist file is generated by Harmony from the Standards tab of the Admin screen.
See for more information.
Working across a Network
When working across a Network infrastructure (including but not limited to Shared Drives, Mapped drives, Network locations and cloud sync solutions such as One Drive), it is important to note that there is one extra step in the workflow to open a file.
Harmony is launched and the user needs to select the standard to be set.
The user opens the application and then opens the file to be worked on.
This first step, launching and setting the standard first, ensures that the latest content is cached and the design application is configured for use.
An application launcher is provided on the Available and Downloaded standards screens. This is an efficient way to launch the appropriate application. There are no extra command switches used by Harmony’s application launcher, it just launches the application allowing the most current configurations to be active. Applications can be launched outside of Harmony, however note any command switches (such as Autodesk user profile switches) in the shortcut will take precedence.
When setting a source or target for a networked location, ensure the full path is given where possible rather than mapped drives. This is to ensure that users who don’t have the same mapped drive are still able to access the content. Where all users have the same mapped drive, the drive letter can be used.
Working from BIM 360
When working from Autodesk BIM 360, it is important to note that there is one extra step in the workflow to open a file.
Harmony is launched and the user needs to select the standard to be set.
The user opens the application and then opens the file to be worked on.
This first step, launching and setting the standard first, ensures that the latest content is cached and the design application is configured for use.
An application launcher is provided on the Available and Downloaded standards screens. This is an efficient way to launch the appropriate application. There are no extra command switches used by Harmony’s application launcher, it just launches the application allowing the most current configurations to be active. Applications can be launched outside of Harmony, however note any command switches (such as Autodesk user profile switches) in the shortcut will take precedence.
Storing content in Amazon Web Services
Standards can be stored in an Amazon Web Services (AWS) S3 bucket and accessed by anyone through Harmony. The following sections outline the permissions and steps required to successfully setup AWS S3 buckets for storing Standards.
Roles and permissions
In order to create AWS Buckets, the user must have appropriate permissions. The following policy is recommended to be applied to the user for working with AWS Buckets:
AWS managed policy: AmazonS3FullAccess. This policy grants permissions that allow full access to Amazon S3.
The simplist method to achieve this is to access the Identity and Access Management Console, create a new User Group (e.g. S3_Admins), add the users and apply the AmazonS3FullAccess policy. See the link below for details on this workflow:
Please note that Harmony is currently only able to access the following AWS Regions:
Location
Region
Africa (Cape Town)
AFSouth1
???
CNNorth1
????
CNNorthWest1
Europe (Frankfurt)
EUCentral1
Europe (Milan)
EUSouth1
Europe (Ireland)
EUWest1
Europe (London)
EUWest2
Europe (Paris)
EUWest3
US East (N. Virginia)
USEast1
US East (Ohio)
USEast2
US West (N. California)
USWest1
US West (Oregon)
USWest2
Each bucket can have folders and sub-folders, however Harmony can access only the first level folder within a Bucket. For this reason, it is required to create a first level folder for each Standard and have no sub-folders. With this architecture a single AWS S3 bucket can house all Standards, each within their own folder.
Making a bucket public
Whilst creating a bucket, within the "Block public access (bucket settings)" section, ensure there is no tick against "Block all public access" and "Block public and crosss-account access to buckets and objects through any public bucket or access point policies"
If the bucket has already been created, select the bucket and then select "Permissions". From here, click Edit within the "Block public access (bucket settings)" and ensure there is no tick against "Block all public access" and "Block public and crosss-account access to buckets and objects through any public bucket or access point policies".
A policy also needs to be added to the bucket for access. Click the bucket that was created and then select the "Permissions" tab. Scroll down to the "Bucket Policy" section. Copy and insert the following text into the Bucket Policy section. Replace the lines highlghted in yellow with your Bucket ARN, which is shown at the top of the "Edit bucket policy" section.
Once an AWS bucket and folder for the Standard have been created. A zipped copy of the Standard should be placed in the folder alongside an Instructions file, if required. The following information is required by Harmony when creating a new line in the master catalogue:
Item
Value required
AWS Region
This is the name of the AWS Region where the bucket was created. Use the drop down to select the same region.
e.g. USEast1
Bucket Name
This is the name of the Bucket.
e.g. p9-cad-standards
Folder (Standard) Name
This is the name of the folder in the bucket that contains the Standard.
e.g. p9-acad2020
Storing content in Microsoft Azure
Standards can be stored in a Microsoft Azure Container and accessed by anyone through Harmony. The following sections outline the permissions and steps required to successfully setup Microsoft Azure Containers for storing Standards.
Roles and permissions
In order to create Azure Containers, the user must have appropriate permissions. The following roles are the minimum recommended for working with Azure Containers:
Storage Account Contributor - Lets you manage Storage accounts, including accessing storage account keys which provide full access to storage account data.
Storage Blob Data Owner - Allows for full access to Azure Storage blob containers and data
Further details on the available roles and permissions can be found on the Microsoft Learn site here:
A Storage account is required within which Containers can be created to store Standards. Follow the steps on the pages below create a Storage account and Container and learn how to upload a "blob":
Storage account creation notes
Whilst creating a Storage account, the following are Pencil 9 recommendations for selected sections/tabs. All other items can be configured as required by your organization:
Tab: Section
Field
Recommendation
Advanced: Security
Allow enabling public access on containers
Disable to reduce risk from public exposure.
Advanced: Security
Enable storage account key access
Enabled. Must be enabled as access will be via Access key
Container creation notes
Consideration should be given to the name of the Container. This will be the name of the folder created on the local machine.
Each Container can have virtual folders, however Harmony can access only the content in the root of the Container. For this reason, it is required to create a new Container for each Standard and have no folders. There will therefore be a Container for every Standard.
Connection string
The Connection string for an Access key will be required by Harmony to access the Container and any content. See the following page to see where this can be obtained. The entire Connection string should be copied and is used wihin Harmony (see next section).
Once a Microsoft Azure container has been created. A zipped copy of the Standard should be placed within this alongside an Instructions file, if required. The following information is required by Harmony when creating a new line in the master catalogue:
Item
Value required
Azure Connection string
Paste the entire connection string copied from the previous step
Container (Standard) Name
This is the name of the Container, within which the Standard is stored
e.g. p9-acad2020
Storing content in Google Cloud Platform
Standards can be stored in a Google Cloud Patform (GCP) bucket. The following sections outline the permissions and steps required to successfully setup GCP for storing Standards.
Roles and permissions
In order to create GCP Buckets, the user must have appropriate permissions. The following role is recommended for working with GCP Buckets:
Cloud Storage: Storage Admin - Grants full control of buckets and objects. When applied to an individual bucket, control applies only to the specified bucket and objects within the bucket.
Further details on the available roles and granting access to a role can be found on the GCP site here:
Each bucket can have folders and sub-folders, however Harmony can access only the first level folder within a Bucket. For this reason, it is required to create a first level folder for each Standard and have no sub-folders. With this architecture a single GCP Bucket can house all Standards, each within their own folder.
Making a bucket public
In order to ensure that all users are able to access the Standard, the allUsers group must be granted Viewer rights. Follow the steps on the GCP website at the link below. The page below outlines the steps to enable this at an individual object or Bucket level.
Once a GCP bucket and folder have been created. A zipped copy of the Standard should be placed in the folder alongside an Instructions file, if required. The following information is required by Harmony when creating a new line in the master catalogue:
Item
Value required
GCP Bucket Name
This is the name of the GCP Bucket exactly as it appears in the Google Cloud Platform.
e.g. p9-cad-standards
Folder (Standard) Name
This is the name of the first level folder within the GCP Bucket, within which the Standard is stored
e.g. p9-acad2020
Working from ProjectWise
Please ensure that ProjectWise is installed prior to installing Harmony. This will ensure that the Harmony plug-in for ProjectWise is installed. If installing projectwise after Harmony has been installed, simply run the Harmony install again and Harmony will install the ProjectWise plug-in.
When working with Harmony and ProjectWise, there is an extra file that needs to be placed into ProjectWise which provides a fully automated solution for delivering and setting a Standard.
This is a Playlist and can be placed in any folder within a ProjectWise Work Area. Once an admin creates and adds a playlist to the project,
Harmony will search up the project tree looking for a Playlist when a file is launched. If a Playlist is found, it is processed and Harmony stops looking for additional Playlists.
The standards and applications will be automated for the entire team, regardless of the team’s location.
See for more information.
Autodesk configuration
Harmony can be used to configure an Autodesk application such as AutoCAD or Civil 3D by delivering resources as well as configuring a profile which is set to use that content. There are no additional requirements to manage content, cui files, lisp files, dll files, and more. The content should be reviewed and organized in the normal manner. Harmony will simply automate delivering this content to your project teams and ensure their applications are configured to use the right content for each project.
Autodesk configuration on a network
To configure an Autodesk standard for use on a network, take the following steps:
Compress your standard and place this in the source location on your network.
Within the Admin screen for Harmony, create an entry in the master standards catalogue. See for more information.
Create an Autodesk instruction file and place this in the source location.
See for more information.
See for more information.
Check the standard is configured correctly by launching the design application. To launch your design application, select the application from the Launch application dropdown box and then select the button. See for more information.
Within the Admin screen for Harmony, change the status of the entry in the master standards catalogue to Approved to make this standard visible to all users.
The configuration work is complete after changing the status to Approved.
Autodesk configuration on BIM 360
To configure an Autodesk standard for use within BIM 360, take the following steps:
Compress your standard and place this in a folder within BIM 360.
Within the Admin screen for Harmony, create an entry in the master standards catalogue. See for more information.
Create an Autodesk instruction file and place this in the source location.
See for more information.
See for more information.
Create a Playlist file and place this is the same location as defined in Step 1. See for more information.
To set the standard, click Load Playlist in the Download screen. Navigate to the Playlist file created in the previous step and click Open. This will read the Playlist and set your standard.
Check the standard is configured correctly by launching the design application. To launch your design application, select the application from the Launch application dropdown box and then select the button. See for more information.
Within the Admin screen for Harmony, change the status of the entry in the master standards catalogue to Approved to make this standard visible to all users.
The configuration work is complete after changing the status to Approved.
Autodesk configuration in ProjectWise
To configure an Autodesk standard for use within ProjectWise, take the following steps:
Compress your standard and place this in a folder within ProjectWise.
Within the Admin screen for Harmony, create an entry in the master standards catalogue. See for more information.
Create an Autodesk instruction file and place this in the source location.
See for more information.
See for more information.
Create a Playlist file and place this in your project. See for more information. Place this in a folder within ProjectWise to automate that folder and its subfolders.
Launch a design file from ProjectWise to confirm the configuration is working.
Within the Admin screen for Harmony, change the status of the entry in the master standards catalogue to Approved to make this standard visible to all users.
Bentley configuration
This guide assumes the user is familiar with the Managed Workspace and the CONNECT edition suite of Bentley Design applications. For the CONNECT Edition suite of Bentley design applications, there are a few critical variables that need to be set for base functionality.
Bentley configuration on a network
To configure a standard for use with Bentley design applications, take the following steps:
Compress your standard and place this in the source location on your network.
Create an entry in the master standards catalogue. See for more information.
Create a Bentley instruction file and place this in the source location. See for more information.
Open the Design application. When launching your application, only the workspace set in the Instruction file is available. Open a file to confirm the standard is being set.
Change the status of the entry in the master standards catalogue to Approved.
Note: Harmony will modify the ConfigurationSetup.CFG file in C:\ProgramData\Bentley\[Application]\Configuration location. The original file is re-named and a new file is generated which includes any configuration changes. Unsetting a Standard or removing a standard re-sets the original file back in place.
Bentley configuration in ProjectWise
There are many ways to configure Bentley applications from ProjectWise with a Managed Workspace. This guide outlines one way in which Harmony can be used to automate the delivery of content and configuration of Bentley CONNECT edition design applications.
In order to utilize Harmony in ProjectWise the following steps are required:
Compress your standard and place this in a folder within ProjectWise.
Create an entry in the master standards catalogue. See for more information.
Create a Bentley instruction file and place this in the source location. See for more information.
Generate a Playlist and place this in a folder within ProjectWise to automate that folder and its subfolders. See for more information.
The next set of steps are to configure the application and then connect this to the managed workspace in ProjectWise.
In your ProjectWise datasource, create a folder away from any projects and create a CFG file,
E.g. Standards\Managed WorkSpace\PW_Bentley_Common.CFG.
In the PW_Bentley_Common.CFG file, insert the path and name placed in Harmony for CFG Location\name.
E.g. %include C:\Harmony\Bentley\HarmonyConfigurations.cfg.
In ProjectWise Administrator, create a Configuration Settings Block (CSB) in the Predefined or Global level and create a %include statement to the PW_Bentley_Common.CFG file created in Step 1.
E.g. %include $(dev(_DGNDIR))Standards\Managed WorkSpace\PW_Bentley_Common.CFG Save the CSB.
Assign the CSB to your project.
Ensure the rest of the project is configured correctly. At a minimum, a CFG file is required for the location defined in the WorksetsRoot location.
Within the Standards tab of the Harmony Admin screen, select the standard to be automated in ProjectWise and then click Playlist.
Copy the playlist that was created by Harmony into a folder within the Project to automate that folder and its subfolders.
The project is now ready for use. Select a DGN file and open with the appropriate application. Harmony will cache the content locally and create the CFG file with the configuration for the project. ProjectWise will read that CFG file and launch the application with the appropriate settings.
Bentley Standards organization
Organizations can place content in many different locations within the Bentley delivered folder structure, for example within Organization, Organization-Civil or the Workspace.
In managing content for your organization or that delivered by a client organization, it is easiest to leave the folder structure as delivered and make minor changes to incorporate this into your organization.
One method of organizing this is to locate all the Standards within a folder structure that allows easy upgrading and maintenance. One suggestion for a target folder structure is:
This can be placed in the Configuration Location field in Harmony and the appropriate standard should have this folder structure as well. This allows the segregation of organization and application including the version.
Multiple Bentley applications in a project
If multiple applications are required for use on a project, a variable can be used to to define the application name and thus set the Configuration location accordingly. In this scenario, the following would be placed in the Configuration Location field in Harmony:
The Application name folder must then exactly match the value of the variable for each application being set. Eg the following are the values for _USTN_PRODUCT_NAME for that application; OpenRoads Designer, Microstation.
Autodesk, the Autodesk logo, AutoCAD and Civil 3D are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries.