How to transfer Security Tasks and Roles between Systems

David Meego

From the Microsoft Dynamics GP Application Level Security Series.

With the change from the optimistic user and class based security model in Microsoft Dynamics GP v9.0 (and v8.0) to the pessimistic role and task base security model in Microsoft Dynamics GP v10.0, a question that is often asked is how can security settings be transferred between a test and live system.

With version 8.0 and 9.0, you could use the Export and Import facility built into Advanced Security to transfer the settings for a user/company or class as an XML file. As Advanced Security is no longer relevant with the role and task based model, that option is not available for version 10.0.

The alternative for version 10.0 is to copy the data from the appropriate tables from source system to the target system. You can copy the data using a variety of methods, but the simplest would be to use the XML Table Export and XML Table Import features of the Support Debugging Tool for Microsoft Dynamics GP. As we will be using Advanced Mode features, we will need to log in as a user with administrator permissions.

Below are the steps, please skip steps already completed previously: 

  1. Click here for the links to download the tool from PartnerSource.
     
  2. Extract the archive files to your application folder.
     
  3. Launch Microsoft Dynamics GP and select Yes to include new code.
     
  4. Log into Microsoft Dynamics GP as 'sa' or a user with administrator permissions.
     
  5. From the menus click Microsoft Dynamics GP, click Tools, click Support Debugging Tool.
     
  6. From the Support Debugging Tool window, click Options, click Dex.ini Settings.
     
  7. On the Debug Tab, in the Support Debugging Tool Options section, select the Enable Debugger Advanced Mode Features checkbox.  If a System Password is in use, you will need to enter it.
     
  8. Click OK to close the Dex.ini Settings window.
     
  9. From the Support Debugging Tool window, click Options, click XML Table Export. If a System Password is in use, you will need to enter it. 
     
  10. Add the tables to Export from the Microsoft Dynamics GP product in the System Series.  The table below shows the tables to use.  If you wish to transfer the settings without the actual user assignments, leave off the final two tables.
Table Name Physical Name Description
sySecurityMSTRRole SY09100 Master table for Security Roles
sySecurityAssignTaskRole SY10600 Assignment table for Security Roles to Tasks
sySecurityMSTRTask SY09000 Master table for Security Tasks
sySecurityAssignTaskOperations SY10700 Assignment table for Security Tasks to Operations
sySecurityMSTRModAlt SY09200 Master table for Alternate/Modified Groups
sySecurityAssignModAltOperations SY10800 Assignment table for Alternate/Modified Operations
     
sySecurityAssignUserRole SY10500 Assignment table for Users to Security Roles
sySecurityAssignUserModAlt SY10550 Assignment table for Users to Alternate/Modified Groups

The window should look similar to the following screenshot: XML Table Export

Table Name Physical Name Description
sySecurityMSTRRole SY09100 Master table for Security Roles
sySecurityAssignTaskRole SY10600 Assignment table for Security Roles to Tasks
sySecurityMSTRTask SY09000 Master table for Security Tasks
sySecurityAssignTaskOperations SY10700 Assignment table for Security Tasks to Operations
sySecurityMSTRModAlt SY09200 Master table for Alternate/Modified Groups
sySecurityAssignModAltOperations SY10800 Assignment table for Alternate/Modified Operations
     
sySecurityAssignUserRole SY10500 Assignment table for Users to Security Roles
sySecurityAssignUserModAlt SY10550 Assignment table for Users to Alternate/Modified Groups

The window should look similar to the following screenshot:

XML Table Export
  1. Change the Export Path if desired. 
     
  2. Click Export to export the data into the specified XML file.

On the target system, install the Support Debugging Tool and activate Advanced Mode as before.

  1. From the Support Debugging Tool window, click Options, click XML Table Import. If a System Password is in use, you will need to enter it. 
     
  2. Select the Import Path to point to the previously exported XML file.
     
  3. Select the Overwrite Table Contents checkbox to remove the old settings before importing the new settings.
     
  4. Select the tables you wish to be imported.
     
  5. Click Import.
     
  6. When completed, close the window.

Now the data from the source system will have been copied to the target system. If you did not copy the User Assignments, you can now use the Microsoft Dynamics GP v10.0 user interface to select the Security Roles and Alternate/Modified ID for each user and company combination.

Note: A quick note about SmartLists added using SmartList Builder.  If the systems do not have the exact same SmartList Builder configuration (by copying data files), it is possible for the SmartList Security IDs to be different between systems.  In this case copying security between the systems could give incorrect results.  The idea is that the test system is the same as the live system, same dictionaries installed, same data.

To speed up the selection of the tables for export, a settings file has has been attached to the bottom of this post which can be loaded using the Configuration Export/Import window.

For more information on the role and task based security model, see the Knowledge Base (KB) article below:

Frequently asked questions about role-based security in Microsoft Dynamics GP 10.0 (KB 951229)** ** Secure Link 

Just a little addition, the SnapShot tool can also be used to transfer data between systems. For more information have a look at the SnapShot for Microsoft Dynamics GP post.

David

10-Nov-2008: Add link to SnapShot as another method.

07-Apr-2010: Added warning about custom SmartLists added by SmartList Builder.

Debugger Settings.dbg.zip