Developing for Dynamics GP

by David Musgrave (Perth, WA, Australia) and the Microsoft Dynamics GP Developer Support Team (Fargo, ND, USA)

How to transfer Security Tasks and Roles between Systems

How to transfer Security Tasks and Roles between Systems

  • Comments 18

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.
     
  11. 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 

  12. Change the Export Path if desired. 
     
  13. 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.

Attachment: Debugger Settings.dbg.zip
  • For the next couple of weeks, I have decided to focus on Microsoft Dynamics GP application level security and methods for resolving security related issues.

  • David Musgrave over at Developing for Dynamics GP is tackling Dynamics GP 10 Security in a new series

  • From the Dynamics GP Blogster

    http://dynamicsgpblogster.blogspot.com/2008/11/microsoft-dynamics-gp-10-security.html

  • Dave,

    Is it necesssary to log in with a user that has admin privileges in GP or a admin rights in SQL for the specified tables?

    Thanks

    Andrew

  • Hi Andrew

    All the Advanced mode functions of the Support Debugging Tool (including XML Table Export and XML Table Import) required the user to have database owner or administrator rights at the SQL level.  They would also need security access to the actual forms and if a system password is in use, they would need that to.

    Because the Advanced Mode features can allow access to the data directly, they are all protected from use by unauthorised users.

    David

  • One of the great things about blogging is the ability to inform and educate partners and customers on

  • From the Microsoft Dynamics GP Application Level Security Series . This is the final article in this

  • Wil this tool (or possibly another tool available) allow you to transfer security from 1 company to many other companies all in 1 step?

  • Denise,

    No this tool won't do that.  It is merely (in 2 steps) copy all the records from one database into another database as-is.  It doesn't make any changes.

    What you would need to do is copy the security records for one user/company and then insert the modified records (with the new company id) back to the same table.

  • I was really excited to find this posting. Unfortunately for me the import side of the process failed. I ended up using DTS to accomplish this task.

  • Hi Chris

    Can you explain what failed with the import side of the process?

    Did you select to Overwrite Table Contents?

    Thanks

    David

  • Posting from Jivtesh Singh at About Dynamics, Development and Life

    www.jivtesh.com/.../dynamics-gp-sdt-essential-series-2.html

  • David -

    This is very helpful. I have additional question - I performed TEST upgrade from GP9 to GP2010 - In TEST - I setup configured Security from scratch. I plan backing up my DYNAMICS from my TEST, then when I  perform the real upgrade - restoring DYNAMICS database from the backup. Would this eliminate the need to export and re-import security?

    Thanks for any guidance.

  • Hi Bron

    This would eliminate the need to export and re-import security.  However, it will also wipe out any changes made to the DYNAMICS database in the time between the test upgrade and the live upgrade.

    You would be creating the situation for a number of issues including cross linked notes and problems with multi-currency.

    blogs.msdn.com/.../understanding-notes-and-the-note-index-field.aspx

    I would recommend against this approach.

    David

  • Posting from Terry Blaser at Dynamics GP Support and Services Blog

    blogs.msdn.com/.../how-to-move-your-security-settings-from-test-into-production.aspx

Page 1 of 2 (18 items) 12
Comments Information

PLEASE READ BEFORE POSTING

Please only post comments relating to the topic of this page.

If you wish to ask a technical question, please use the links in the links section (scroll down, on right hand side) to ask on the Newsgroups or Forums. If you ask on the Newsgroups or Forums, others in the community can respond and the answers are available for everyone in the future.

Leave a Comment
  • Please add 4 and 8 and type the answer here:
  • Post