Find in All Diagrams (eaUtils enhanced version)
Sparx EA native feature
Enterprise Architect's Find in All Diagrams feature displays the diagrams that contain a selected element, or an instance of that element e.g. a class or an actor.
This feature can be run from a selected element:
- within a diagram via a right click, Find, Find in All Diagrams;
- or from the project browser via a right click, Find in All Diagrams.
Example for a class that has been instanciated as a lifeline in a sequence diagram and used in three class diagrams:
- The keyboard shortcut Ctrl+U can be used to call this feature.
- If the element is used in a single diagram, this diagram is opened.
- If the element is not used in any diagram, the list is empty:
eaUtils enhanced version
Pending a future enhancement in Sparx built-in EA Find in all Diagrams, an enhanced version has been implemented in eaUtils add-in:
- Display the package name for each diagram in the list, and the full path for the selected diagram.
- This information can be essential when the diagram name is not enough to identify the model is belongs to.
- The Full path can be disabled via eaUtils settings when it has an impact on the loading time when using a very large centralised EA repository/DB.
- Support the Image Asset usage from boundary diagram objects.
- Find information flows where the selected element is a conveyed item (e.g. an ArchiMate Data Object between ArchiMate Application Components).
- Support for connectors / relationships.
- Show the element or connector details (type, stereotype, guid).
The Find in All Diagrams is available via a right click on a element or a connector, Extensions > eaUtils > [Browser] Find in All Diagrams, or using the Alt + U keyboard shortcut (if enabled in the general settings).
The Alt+U shortcut also gives the advantage of making this feature available from Enterprise Architect "Find in Project" (Ctrl+F) result entries.
Find in all diagrams with elements
The screenshot below illustrates eaUtils Find in All Diagrams for a UML class:
- Details of the element are shown on top of the results (Results on Class "Class1" - GUID ....) : element type, stereotype and guid
- It is used in 2 diagrams (Link)
- An instance of this class is used in a single diagram (Classifier)
The screenshot below illustrates eaUtils Find in All Diagrams for the instance of a class:
- The instance is used in a single diagram (Link)
- Its classifier is used in 2 diagrams (Instance)
Used with Image Asset elements, as an alternative to EA Image Library since version 13, I found that Sparx EA Find in all Diagrams does not support the diagram usage in the following scenario:
- Create an image or boundary from the Common toolbox on the diagram.
- Right click and select Appearance > Select Image Asset as Alternate Image.
- Select the image asset element to link.
- Result: the image is displayed and linked with this boundary element.
The following diagram illustrates a boundary element and an image asset.
Running Sparx Find in All Diagrams on the Image Asset element only generates results when the element itself is used on diagrams (added as a Link). However this is not compliant with SparxSystems recommendations i.e. using a boundary instead of image asset elements on diagrams (see the above scenario). eaUtils "Find in all Diagrams" supports boundary elements linked with Image Assets:
- Used with a boundary, the same element used in other diagrams is identified with Usage Type = Link. The linked Image Asset used on diagrams is identified with Usage Type = Image Asset.
- Used with an Image Asset, its usage in diagrams is identified with Usage Type = Link. The associated boundary elements on diagrams is identified with Usage Type = Boundary (image).
Using Information Flows between elements such as Components is a useful feature in EA (see the illustration below).
Finding all diagrams with the information flow where a class, data object, or data type is conveyed can be useful. eaUtils Find in all diagrams supports information flows i.e. the following results are available for a class that is conveyed between UML components. Having selected a "Flow (Connector)" entry, the list of conveyed items is displayed (see DataType1).
Find in all diagrams with connectors
eaUtils supports connectors to run find in all diagrams as illustrated on the following UML class diagram:
Results show the diagrams where the selected connector is visible. Note: diagrams where the connector has been hidden are not available in the list.
- Usage Type
- Link is displayed when the element is found in the diagram (identical to EA built-in feature).
- Classifier is displayed when an instance of this element is found (identical to EA built-in feature).
- Instance is displayed when the 'classifier' of the selected 'instance' is found (added in eaUtils, this type is highlighted with a yellow background).
- Image Asset is displayed when the searched element is a boundary and its linked Image Asset is found (added in eaUtils, this type is highlighted with a blue/green background).
- Boundary (image) is displayed when the searched element is an Image Asset and a boundary using it (alternate image set) is found (added in eaUtils, this type is highlighted with a light blue background).
- Flow (Connector) is found when the selected element is found within the list of conveyed elements on an information flow (added in eaUtils, this type is highlighted with a blue background).
- Connector applies for a selected connector.
- Created Date, Modified Date: diagram created and modified date/time.
- Author: diagram author.
- Locked (true/false).
- Parent Package: name of the package that contains the diagram.
- Diagram Type and Name (identical to EA built-in feature).
- When a diagram is selected from the list, the diagram full path i.e. the names of all parent packages is displayed above (note: it can be hidden via eaUtils settings).
- On top of the results table, details of the element or connector are shows: element or connector type, stereotype, guid.
- Up and down arrows can be used as an alternative to the mouse to change the selected diagram.
- A click on a column header changes the sorting order e.g. display diagrams by modified date.
- A double click on a diagram opens this window and selects the element or connector. From EA 13 (build 1503 minimum), the diagram focus applies to the selected element.
- Click on CLOSE or press the Esc key to close the popup window.
- When a single diagram is found, it is displayed (identical to EA built-in feature).
- When no diagram is found, the following result is displayed.
Find in all diagram feature has been shared via the videos below.