- 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.
ID | Permission | Description |
35 | Admin Workfow | Develop and manage workflow scripts. |
5 | Administer Database | Compact and repair a project database. |
30 | Audit Settings | Change the audit settings in the 'Audit Settings' dialog. |
31 | Audit View | Enable auditing and display data in the 'Audit View' and 'Audit History' tab. |
33 | Baselines - Manage | Create, delete, import and export Baselines. |
34 | Baselines - Restore model | Merge data into the project model from a Baseline or XML file. |
15 | Change Password | Change your own password. |
17 | Check Data Integrity | Check and repair project data integrity. |
18 | Configure Datatypes | Add, modify and delete datatypes. |
20 | Configure Images | Configure alternative element images. |
24 | Configure Packages | Configure controlled Packages and Package properties. |
38 | Configure Project Prerequisites* | Configure prerequisites on a project e.g. EA version, blacklisted MDG... |
9 | Configure Resources | Create and manage Resources window items: document templates, patterns, profiles and favorites. Also required to create and modify CSV Specifications. |
19 | Configure Stereotypes | Add, modify and delete Stereotypes. |
28 | Configure Version Control | Set up version control options for the current model. |
39 | Edit Scripts * | Add, edit, delete and regroup model scripts. |
11 | Export XMI | Export a model to XMI. Also required for CSV Import and Export, and for creating and editing CSV Specifications. |
23 | Generate Documents | Generate document and web reports from model Packages. |
21 | Generate Source Code and DDL | Generate source code and DDL from a model element, and synchronize code against model elements if it already exists. |
12 | Import XMI | Import a model from XMI. Also required for CSV Import and Export, and for creating and editing CSV Specifications. |
7 | Lock Elements | Lock an element or Package. |
25 | Manage Diagrams | Create new diagrams, copy and delete existing diagrams, and save a diagram as a UML Pattern. |
36 | Manage Glossary | Create, edit and delete glossary items in the Project Glossary. |
14 | Manage Issues | Update and delete model Issues. |
37 | Manage Project Calendar | Add, update and delete Project Calendar events; those without this permission can view calendar items. |
8 | 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 |
3 | Manage Reference Data - Update | Update and delete reference items. |
6 | Manage Replicas | Create and synchronize replicas. |
13 | Manage Tests | Update and delete Test records. |
22 | Reverse Engineer from DDL and Source Code | Reverse engineer from source code or ODBC, and synchronize model elements against code. |
40 | Run Scripts * | Run and debug a script. |
0 | Security - Enable/Disable | Disable user security in Enterprise Architect. |
2 | Security - Manage Locks | View and delete element locks set by other users. |
1 | Security - Manage Users | Maintain users, groups and assigned permissions. |
26 | Spell Check | Spell check a Package and set the spell check language. |
16 | Transfer Data | Transfer model between different repositories. |
32 | Transform Package | Perform transformations of Packages and elements. |
4 | Update Diagrams | Update diagram appearance, properties and layout, including on the 'Page Setup' dialog. |
10 | Update Elements | Save model changes (including deletions) for elements, Packages, and relationships. |
29 | Use Version Control | Check files in and out using version control. |
27 | View Locks | 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: