- Update (07/02/2017) added permissions introduced in Enterprise Architect 13: Edit Scripts, Run Scripts, Configure Project Prerequisites
Sparx Enterprise Architect security feature involves setting up users, groups, permissions for access and authentication purposes. It can be applied for a shared access to model repositories configured and stored on a central database such as MySQL, Postgres, SQL Server... Windows Active Directory is supported so authentication can be performed based on the users' Windows sessions.
EA lets one exports the list of users, groups, and permissions to XML in order to copy such configuration from one Enterprise Architect repository to another. I've been asked to generate a custom Excel export in EA to extract the following information, requested by administrators in charge of maintaining the EA projects: list of users and assigned groups, list of permissions enabled for each group and for each user.
One of the great and powerful sides of Sparx Systems Enterprise Architect modelling tool is it open automation interface (API) to extend its features. As regards I was able to generate a custom Excel export for EA via VB Scripts by querying the internal database. Even though the API is pretty well documented by Sparx Systems, I couldn't get the name for the permissions id values I retrieved.
I had to run a manual check on each permission to produce the following mapping table. This information can be useful if you come across a similar scenario.
|Develop and manage workflow scripts.
|Compact and repair a project database.
|Change the audit settings in the 'Audit Settings' dialog.
|Enable auditing and display data in the 'Audit View' and 'Audit History' tab.
|Baselines - Manage
|Create, delete, import and export Baselines.
|Baselines - Restore model
|Merge data into the project model from a Baseline or XML file.
|Change your own password.
|Check Data Integrity
|Check and repair project data integrity.
|Add, modify and delete datatypes.
|Configure alternative element images.
|Configure controlled Packages and Package properties.
|Configure Project Prerequisites*
|Configure prerequisites on a project e.g. EA version, blacklisted MDG...
|Create and manage Resources window items: document templates, patterns, profiles and favorites. Also required to create and modify CSV Specifications.
|Add, modify and delete Stereotypes.
|Configure Version Control
|Set up version control options for the current model.
|Edit Scripts *
|Add, edit, delete and regroup model scripts.
|Export a model to XMI. Also required for CSV Import and Export, and for creating and editing CSV Specifications.
|Generate document and web reports from model Packages.
|Generate Source Code and DDL
|Generate source code and DDL from a model element, and synchronize code against model elements if it already exists.
|Import a model from XMI. Also required for CSV Import and Export, and for creating and editing CSV Specifications.
|Lock an element or Package.
|Create new diagrams, copy and delete existing diagrams, and save a diagram as a UML Pattern.
|Create, edit and delete glossary items in the Project Glossary.
|Update and delete model Issues.
|Manage Project Calendar
|Add, update and delete Project Calendar events; those without this permission can view calendar items.
|Manage Project Settings
|Update and manage project-wide settings including: the available project resources, metrics and risks, the default element font for the model and the model default diagram
|Manage Reference Data - Update
|Update and delete reference items.
|Create and synchronize replicas.
|Update and delete Test records.
|Reverse Engineer from DDL and Source Code
|Reverse engineer from source code or ODBC, and synchronize model elements against code.
|Run Scripts *
|Run and debug a script.
|Security - Enable/Disable
|Disable user security in Enterprise Architect.
|Security - Manage Locks
|View and delete element locks set by other users.
|Security - Manage Users
|Maintain users, groups and assigned permissions.
|Spell check a Package and set the spell check language.
|Transfer model between different repositories.
|Perform transformations of Packages and elements.
|Update diagram appearance, properties and layout, including on the 'Page Setup' dialog.
|Save model changes (including deletions) for elements, Packages, and relationships.
|Use Version Control
|Check files in and out using version control.
|Display all locks that have been set in the model.
- * : permissions introduced in Enterprise Architect 13
Here is a screenshot from the custom Enterprise Architect Excel export result with the groups permissions information: