Settings Management

Revolution Design software uses a robust settings module that allows easy management of user settings, even after the initial install.

This page explains the process of ‘pushing’ settings to end user machines after the initial install. The process for deployment to new installs is very similar; more information on that can be found on the deployment page.

Important = Important Note

Settings XML file

Creating the Settings File

In order to deploy settings and licensing you need to start by creating the XML settings file that you will deploy. The best way to begin is to install the software on a single machine, start it, and use the UI to modify the settings until they match what you would like to deploy.

Once you have the settings how you want them you will need to locate the settings file on the setup machine. Settings files can be found in a sub folder of C:\Users\{username}\AppData\Roaming\Revolution Design Important Note. Software specific sub folders are as follows:

  • Keynote Manager – Keynote Manager\{version}\Keynote Manager_Settings.xmlImportant Note
  • Revit workFlow – Workflow\{version}\workFlow_Settings.xmlImportant Note
  • Selection Master – Selection Master\{version}\Selection Master_Settings.xmlImportant Note

 

Modifying Settings Important Note

After creation of the initial settings file, the file can be purged of any settings that you do not wish to deploy simply by deleting the XML nodes for any setting that you do not wish to deploy. For example, if you only wish to deploy a new license key you can delete all other setting nodes in the file causing only the new license key to be deployed and all other user settings to remain as they are.

For ‘collection’ settings types there are several more options to allow more control over user settings. You can recognize collection type settigs by the value of the XML attribute ‘StorageType’; collection types will have a value of either ‘asList’, ‘asSettingCollection’, or ‘asObservableCollection’ (the differences are internal code requirements and do not effect deployment). The following tools are available for collection types:

  • Push Type – You will notice that each collection type setting node also has an XML attribute named ‘PushType’. The value of this attribute determines how the list in your deployment file will interact with the list that may already be in the users settings file. There are only two valid values for this attribute:
    • Merge – This is the default value and it will merge your list with the users list and the end list will be all the unique values from the combined lists. You can use this to insure that the user has a specified standard list of settign values without removing any custom values they may have added to the list. For example if you wish to make sure that Keynote Manager users have a specific list of office standard master files but don’t want to remove any project specific master files they may have added you should set the push type to merge.
    • Overwrite – This option allows you to completely overwrite the users settings with the values you have in the deployment file. Deploying with overwrite will remove any custom values the user may have entered that are not in your deployment file.
  • Value Attributes – For settings that are ‘asList’ or ‘asObservableCollection’ there are a few additional options for controlling the list of values (asSettingCollection holds a list of settings that have their own overrides per the above so this section is not relevant for them). If the push type of any of these setting nodes is set to ‘Merge’ the following attributes can be added to its ‘Value’ nodes to modify the way they are imported.
    • Replace – This attribute allows you to replace a specific value with a new value. If you do not wish to remove all the users custom values but wish to replace a previous standard value with a new one you can use the replace attribute. The name of the attribute should be ‘Replace’ and the value should be the value you are wishing to replace. For example, if you wish to replace a value of ‘ABC’ with ‘DEF’ the node would look like <Value Replace=”ABC”>DEF</Value>. If the replaced value does not exist in the users settings file, the new value is added and the replaced value is ignored.
    • Index – This value allows you to control the order of the values in the final settings file. The value of this attribute should be an integer and should be the final 0 based index (0 is the first item, 1 is the second, etc.) of the value in the list. If this valueis negative or the attribute doesn’t exist the value will be placed at the end of the list which is the default. If the index is larger than the total number of items in the collection it will be added to the end of the list. If you want to place the value ‘ABC’ at the beginning of the list (before any user custom values) you the node would look like <Value Index=”0″>ABC</Value>.

Pushing Settings to Users

Deploying Settings

Once the settings file is ready to deploy, it must be deployed to end user machines; this can be done via manual copy, through the deployment utility, or through a script or other deployment system that copies the file to the target machine. The settings file can be copied to several locations with slightly different results:

  • User Folder – It is not recommended that you deploy to the user folder for post-install settings deployments as it will completely overwrite all settings the user had customized (unless of course you are trying to completely remove all user set values).
  • Execution Folder – The settings file can be copied into the executing directory of the program. Upon the next restart of the program (Revit or Keynote Manager) the program will recognize that new settings have been deployed and will merge values. Executing directories are as follows:
    • Keynote Manager – C:\Program Files (x86)\Revolution Design\Keynote Manager\{version}\{Plus} (note: remove the ‘plus’ folder for KM Standalone).
    • Revit workFlow – C:\Program Files (x86)\Revolution Design\Workflow
    • Selection Master – C:\Program Files (x86)\Revolution Design\Selection Master
  • All Users Folder – The settings file can be deployed to the all users folder with the same results as deploying to the execution folder. Program specific folders for all users are the same as the user folder location, but they are based in C:\ProgramData instead of C:\Users\{username}\AppData\Roaming.