Day 10: Project Hierarchy
The project structure consists of the following parts:
- Alias groups
- Management data
- Working schedule
- Types and typesets
- Sub-Folders (Recursive)
A folder is a project part that may consist of other sub-folders (and they from others). It forms a hierarchy inside a project. A folder may contain diagrams and documents.
A diagram is an organized set of elements where each element has an exact defined location and size on the diagram canvas.
Element is an elementary part of a model. Elements are specified by their internal id and other user-editable attributes.
The common attributes for all elements are these:
- ID – user id of the element
- Owner – some elements may be owned by other elements and form hierarchies of elements
- Repository – each element must be placed in a repository within a project. A repository may be the project itself, a project folder or a diagram.
- Hyperlink (URL) – a URL address associated with this element. It may contain public content associated with the element
- Style – look and feel of the element.
- Documentation – formatted text associated with the element. It may be its description or any additional data which defines this element and may be included in the project documentation.
- Associated Diagrams – diagrams associated with the element
- Tagged Values – custom key and value pairs. The values may be of various types:
- Multiline text
- Formatted text
- Enumerated value
Some types of elements may have defined more attributes.
The model element is an abstract definition of an element without any information about its placement. It does not need to be placed on any diagram. Models of relationships connect two model elements independently from diagrams. A model element may be expressed by multiple diagram elements and so it may be placed on multiple diagrams or even multiple times on a single diagram.
The diagram element expresses a model element on a diagram. Each diagram element has its defined size, layout, and position within the diagram. The diagram relationships connect two elements on a diagram.
The field is a part or slot of an element, which may not exist without its owning element.
Documentation is a textual description of an element, diagram, field or project folder. The documentation consists of formatted text. It may contain dynamic links to project elements.
Accessing Project Hierarchy
The project hierarchy can be accessed from the Project Tree sidebar. To show it, navigate the ribbon View tab / Window group and click the Sidebars button to choose Project Tree item from the drop-down. Alternatively, it is accessible from the classic menu View/ Sidebars/ Project Tree.
The project tree may be displayed in one of these modes (which you can choose from the drop-down in the second tool strip in the top of the sidebar):
- Hierarchical View – the default view. It shows the hierarchy of project folders and their diagrams and documents. The diagram nodes contain diagram elements as their subnodes.
- Hierarchical Model View – shows the hierarchy of project repositories (folders and diagrams). It may be often the same as Hierarchical View. However, whereas hierarchical view includes diagram elements, Hierarchical Model View includes model elements, which do not need to be placed on any diagram.
- Versioned Hierarchical Model View – enumerates all the versions of the project. Each version has its branch in the project hierarchy.
- Element List – enumerates all model elements in a one-level list.
- Diagram Types – groups the elements by their types. There is a node for each diagram type. Diagrams of a type are enumerated as a non-hierarchical list of diagrams.
The project tree sidebar allows you to reorganize the project hierarchy, move the elements to other diagrams, folders to other folders, etc. You may rename or delete the elements. You will find more information about the project tree sidebar and how to work with it here.
Browsing Elements and Fields
Software Ideas Modeler offers several useful tools that help you navigate the project and its content. One of them is Element Browser – it lists the elements in tabular form. It shows the name, id, type, and repository of elements. You can add other columns to the view to see more details about the listed elements. You may filter the list easily by the element name or you may define any advanced filter as a combination of name pattern, type, stereotype or tagged value. The current view with defined columns and filters may be saved into a report for future use.
The Field Browser is similar to Element Browser, but it allows you to browse the elements fields – attributes, operations, rules, etc.
If you want to navigate in a model through the elements and their relationships – you may find Model Navigator very useful. Choose an element in the diagram from which you want to start to navigate and open Model Navigator (ribbon View tab / Model group / Model Navigator). Navigation is very simple, just click on a related element to center it in the view and show its relationships.