Skip to main content

Model elements

Available in product editions: TeamProfessional

Introduction​

Model elements are the basic building blocks used to visually represent various parts of a software architecture, a business domain, a service, or any other system that you want to visualize. Relationships, in turn, play a central role in modeling the interaction between these model elements.

When the original data lives in an external system, use an external proxy element so that information can still take part in the design. External proxy elements are model elements like the others; their source of truth remains outside the workbench.

Model elements are represented as cards in diagrams.

Model elements overview​

This page provides you with an overview of all model elements within the project, sorted by OML profile.

The available model elements and their properties are defined by the project's modeling configuration, which is based on the Open Modeling Language (OML). You can use standard configurations (e.g. C4, DDD) or custom modeling configurations composed from OML profiles. See Customization for an overview and the OML configuration reference for configuration structure.

You can view the details of a model element by clicking on the respective row within the table or using the table row action Show details. This opens a second column to the right of the table where the following information can be accessed:

  • Details: Master data for the model element, excluding the description (see also Create a model element); all writable fields are editable here as well.
  • Description: The description of the model element
  • Relationships: This tab comprises all Incoming and Outgoing relationships to other model elements of the project. In a diagram, these relationships are visualized as arrows between model element cards. You can also easily delete the element or open its Spotlight View.
  • Usages: Displays where the model element is already in use.
  • Loop: Here, you can find links and connections to other parts of the project.

Additionally, you can find the following actions in the overflow menu of the details:

  • Share model element: This open a dialog where you can copy the model element's URL or share it directly via email.
  • Create new project: Directly create a new service project based on the information that has been given. Only available for containers.
  • Open spotlight: Opens the Spotlight view of this model element where you can see all incoming and outgoing relationships of the element, regardless of diagrams.
  • Delete model element (see Delete a model element below)
❗️info

If you select several model elements in the overview and open the details, your multi-selection is shown in the sidebar. Here, you can view and change all fields that are common to the selected model elements at the same time.

Table mode and Focus mode​

In the model elements overview, you can choose between two different modes:

  • The table mode provides you with a large table view of all model elements for better overview and comparability between elements. In this view, details of model elements can still be displayed on the right side, but the space for viewing and managing details is more reduced.
  • The focus mode renders the table smaller in width and only displays one column, whereas the details of a model element are spanning the larger portion of your browser window. This makes it easier to focus on one model element in particular, work within the details, and write in editors. The one-column table on the left side can be used to navigate between individual model elements.

You can switch between these two modes at any time by clicking on the corresponding button in the table toolbar.

❗️info

Please note that the column settings in the table mode (default state or also custom views) are retained also in focus mode, but only one column is visible. Accordingly, filters are still applied in both modes and kept during switching.

Create a model element​

Model elements that have been created within the diagram modeling tool (see Diagrams) are automatically displayed within the model elements overview. Additionally, it is possible to create new model elements from the Model elements overview page. These model elements are then also available in the diagram modeling tool.

To create a new model element, use the Create capability to the right of the table tool bar.

Model elements are defined using the following master data:

  • Type: Choose the type of the model element (required)
  • Label: The name of the model element (required)
  • File name: Unique identifier for the model element that is used in the repository to where it is saved. If not specified by the user, the Label is used as a base for the File name (required)
  • Summary: A short summary of the element that will also be displayed in the cards within a diagram (optional)
  • Description: This is a longer description of the model element and its role within the diagram (optional)
  • Icon: Name of the icon used on the model element card in the diagram(s). If not specified, the standard icon for the respective model element type will be used (optional)
  • Tags: To tag the model element (optional)

Additionally to these standard fields, other fields defined in the OML configuration reference are displayed in the Create action as well.

Table configurations​

The table can be displayed in two different views:

  • Tree table view (default): Shows all model elements and their containments.
  • Data table view: Shows all model elements without nesting.

The buttons to change the display styles can be found in the table toolbar, left to the Create model element button.

Filtering​

Custom filters​

In all tables within the Solution Designer, you can filter the view to only display the information you need via the Configure filter dialog accessible via the filter icon which is located right above each table. You can set a filter for one column at a time. Select the column you want to filter for, choose an operation and enter your filter value. This is a list of all operations available (note that depending on the column type some operations might not be available):

Standard Text Filters​

These operations search for text inside a column without worrying about capital or lowercase letters.

  • Includes: Shows rows where the column text contains your filter value anywhere inside it (e.g., searching "apple" will find "Pineapple", "Apples", and "snapple").- Not Includes: Shows rows where your filter value cannot be found anywhere inside the column text (e.g., searching "apple" will hide "Pineapple" but keep "Banana").
  • Equals: Shows rows only if the column text matches your filter value exactly from start to finish (e.g., searching "Apple" will find "Apple", but will hide "Apples" or "Green Apple").
  • Not Equals: Shows rows only if the column text is different from your filter value (e.g., searching "Apple" will keep everything except rows that say exactly "Apple").
Case-Sensitive Filters​

These operations work exactly like the standard text filters, but capitalization must match exactly.

  • Includes (case sensitive): Finds the value inside the column, but capital and lowercase letters must match perfectly (e.g., searching "Apple" will find "Green Apple", but will hide "pineapple" because of the lowercase "a").
  • Not Includes (case sensitive): Hides rows that contain the exact capitalized value, but keeps rows if the capitalization is different (e.g., searching "Apple" hides "Green Apple" but keeps "pineapple").
Multi-Value List Filters​

These operations are used when a column contains a list of multiple items and the user enters multiple values to filter by (only available for data type tags, selection list, and rating).

  • Includes all: Shows rows only if the column contains every single one of the selected values (e.g., filtering for "Red" and "Large" only shows items that are both Red and Large).
  • Not includes all: Hides rows only if they contain every single one of your values at the same time; it keeps rows that have only some or none of them.
  • Includes some: Shows rows that contain at least one of the selected values (e.g., filtering for "Red" and "Blue" shows items that are Red, items that are Blue, and items that are both).
  • Not includes some: Hides rows if they contain any of the selected values (e.g., filtering for "Red" and "Blue" will hide any item that has Red or Blue in it).
ℹ️note

Please note that you can only add one filter value per filter (expect for columns of data type tags, selection list, and rating). If you want to combine filters, add additional filter(s) per value via the Add filter button. They will be combined with a logical OR. That means rows will be shown if at least one of the filters matches a data set.

After clicking on Apply, the table is displayed filtered according to your given values. The filters are additionally displayed above the table, where you can also remove individual ones via clicking their x icon, or clear all filters at once via Clear filters to return to the standard view of the table.

Quick filters​

For some tables in the Solution Designer, pre-defined quick filters are available and displayed permanently above the table. These fixed filters can also be combined with additional custom filters as described above.

Custom views​

You can save filters, sorting and column arrangement of the model element overview in a custom view that is then accessible in a dropdown within the table header. Custom views are displayed for all users of the Solution Designer.

To save a custom view, apply your changes to the model elements overview table and click on the Save icon that appears in the table toolbar. Give the custom view a name and click on save; the view will then be added to the dropdown.

Custom views can be edited and deleted in the Configure settings modal of the table, accessible via the gear icon in the table toolbar. Here, you can change the view label, see the type (tree table oder data table), delete the view, and arrange all custom views of the model elements table in the order you want. Just drag an drop the individual view cards to the position you prefer and click on Save.

❗️info

Two views are always available within the model elements table: "All model elements (hierachy)" that depicts containment relationships between model elements via a tree structure within the table; as well as "All model elements (flat)" that shows all model elements in a simple data table. Custom views can be created from both view types.

⚠warning

Please note that parts of a custom view's configuration may under certain circumstances no longer match the current configuration of the data grid view. As a result, certain data may not be displayed, or some features may not work properly. Such custom views are marked with an "outdated" tag. In this case, recreate the view to restore functionality.

Browse Git projects to create new model elements​

Model elements can also be created by referencing existing Git projects. To visualize existing Git projects as System, Container or Component on diagrams click the Browse Git option of the Create model element button.

In the action you will first have to select the Git provider and repository group before the projects of the selected repository group are displayed. For one or more projects you now can decide to create a model element. Available model elements for a project are System, Container or Component.

The model elements created this way will use the chosen projects name and description. A link to the project itself is also created automatically and shown in the section Implementation of the Loop tab.

Edit a model element​

All editable fields can be directly edited within the details view of a model element. You can view the details of a model element by clicking on the respective row within the table or using the table row action Open details. This opens a second column to the right of the table where all information can be accessed and changed.

ℹ️note

When you select a model element on the canvas, all incoming and outgoing relationships of that model element are marked by animated grey (incoming) and blue (outgoing) arrows.

Delete a model element​

The capability to delete a model element can be found in overflow menu at the end of each table row, as well as in the overflow menu of the details section of each model element.

⚠warning

When you delete a model element, it is also removed from all diagrams in which it is used. You will need to confirm the action before the selected model element is permanently deleted.

Loop​

Connect model element to architectural decision​

In the Loop tab of the details, you can link a model element to a specific decision within your project. Just click on the Add decision capability and select the decisions you want to connect to the model element.

Connect model element to implementation project​

You can also add implementation projects and/or Git projects to your Loop to document the implementation of your System, Container, or Component. Just click on the Add project button in the Implementation section. You can then choose between the following options:

  • Add project: Select one or several implementation project(s) within your Cloud Solution Workbench to be connected to your model element. This will create one link to the internal implementation project (service project) as well as one link to the corresponding Git repository.
  • Add Git repository: Select one or several Git repositories after specifying a Git provider and repository group.

Allows users to add, view, and remove external URLs in the "Links" section of the Loop panel for model elements. Users can easily associate relevant resources by adding links through a simple interface, and can access these resources by clicking on the link.

These Loop URLs are extras on a single instance. To make a URL a named field of the type — shown on every instance — declare a link property in the OML profile.