More than 2 years after its last release, I finally managed to publish eaUtils 2.0 in December 2024. This updated version integrates a total redesign of the screens. Involved in EA add-in clients' projects using Microsoft WPF (Windows Presentation Foundation), I saw the benefits and decided to replace Windows Forms eaUtils code with WPF, available in dotNet Framework (supported by EA Interop API).
In addition to the screens redesign, eaUtils 2.0 includes the following improvements:
- Edit settings without having to open the settings screen.
- Model locks control improvements.
- Compare diagrams: copy logs to clipboard.
- Sort elements: option to disable reloading the package content in the browser.
- Generate alias settings improvements.
This article illustrates eaUtils 2.0 new interfaces and enhancements from a selection of features: elements sorting, generate alias values, compare diagrams, manage visible relations in a diagram, diagram breadcrumb.
eaUtils is available to download from eautils.com.
[Cliquer ici pour la version en français]
Elements sorting
One of the first features of eaUtils involves sorting elements and diagrams in your EA model repository.
Below is an example of UML classes that need to be sorted by Alias value in their parent package.
A right click on the package in the browser provides access to eaUtils Sort Elements menu. Selecting Alias as the sorting option displays the applicable settings.
With the Edit Settings button, eaUtils sorting settings can be modified through the available checkboxes.
A new Reload option is available: when disabled, the package content is not refreshed by eaUtils, saving time during the execution process in sorting elements within a large model branch.
Once the sorting has finished, the new elements order is visible in the browser (reload option enabled):
Applied to a branch, the package tree screen is available with the ability to select the packages to process, except from the locked ones (see below).
The processed packages are visible as illustrated below:
More information: eaUtils Sorting Help.
Generate alias values
The Alias field is available for any EA element; it can be used to store a reference or short name in addition to the element's name. Diagram properties make to possible to show both the name and alias values for each element.
eaUtils can generate the alias values for elements displayed in a diagram, according to their position vertically (top to bottom) or horizontally (left to right). The following example is a UML Activity diagram from Sparx EA example project, Customer Process.
Aim: generate an alias value for each action based on the following convention: Action-001-cust, Action-002-cust, Action-003-cust, etc.
A right click in the diagram provides access to eaUtils Generate Elements Alias menu.
The Edit Settings button is available to change the required settings:
Once the settings are saved, alias values can be generated.
Result (Use Alias if Available diagram option enabled):
Note: eaUtils Clear Aliases menu is available to roll back.
More information: eaUtils Generate Alias Help.
Compare diagrams
eaUtils provides the capability to compare the content from two diagrams matching different versions e.g. as-is versus to-be architecture. Based on each diagram content, it identifies the new and removed elements within a generated diagram (comparison results).
A typical example is the use of ArchiMate diagrams. The Application Components used in the current and target diagrams (see below) belong to the same package; eaUtils will help identify in the "after" (new) version, the new applications and the deleted ones.
A dedicated diagram for the comparison needs to be set up with a hyperlink to each diagram, identified as the old or new version with alias values. eaUtils Compare Diagrams can be run via a right click from the diagram.
Running eaUtils, a log with the comparison details is available.
A diagram with the visual comparison results is generated:
More information: eaUtils Compare Diagrams Help.
Manage visible relations
Enterprise Architect already has a feature to manage the visibility of the relations within a diagram to manage hidden and visible relations. EA Set Visible Relationships (keyboard shortcut: Ctrl + Shift + I) opens the following:
Whilst this feature is really useful, there are situations involving diagrams with many relations of various types and stereotypes where this flat list is completely not suitable to hide a specific set of relations: ArchiMate or SysML diagrams, UML profile diagrams (MDG technology with custom stereotypes). This led to the definition of an enhanced version of EA Set Visible Relations in eaUtils to get an advanced tree structure to show or hide a set of relations with common properties.
eaUtils Manage Visible Relations is available via a right click from a diagram or using Alt + V keyboard shortcut. In the following screen, the disabled relations are currently hidden, whilst the enabled ones are visible:
The selected relations to update i.e. visibility to be changed, are highlighted with a red marker.
Once confirmed, updated relations are highlighted in green.
More information: eaUtils Manage Visible Relations Help.
Diagram breadcrumb
Diagram navigation involves defining and maintaining links between diagrams.
As it can be time consuming to define, eaUtils Diagram Breadcrumb is available to generate hyperlinks from an active diagram to all diagrams references i.e. with an element that opens the current diagram through a hyperlink, navigation cell, composite element, or package.
eaUtils Diagram Breadcrumb has been opened via a right click from the following BPMN diagram:
The Edit Settings is available to select the active types of linking elements:
Once saved and executed, the number of hyperlinks is visible.
Result on the finalized BPMN diagram (some links have been deleted)
More information: eaUtils Diagram Breadcrumb Trail Help.
Notes:
- The online help has been updated for eaUtils 2 (www.eautils.com/en/help), whilst a dedicated help has been created for version 1.
- New videos illustrating the use of eaUtils 2 are available from a dedicated playlist on YouTube.