Solution Designer Capabilities

This page is about the general functionality of Solution Designer and its user interface. Most of the capabilities are available only within Domain Service Projects but there are also some common elements.

Filtering

Custom Filters

For tables in the Solution Designer, there is a Filter capability. This capability is used to filter elements by one or more column values. You can simply choose a column, the operation and set a filter value. Also you can combine more filters. Each filter will then be added in top of the table header. You can use the Clear filters action to delete all of the filters or use the X in the filter to delete one of them.

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.

Table configuration

For tables in Solution Designer, there is a Table config capability. This capability is used to choose which columns should be shown in the table or to introduce an invididual sorting.

Restore to default

Each change of the table view is vizualized with an appearing capability button Restore to default. Clicking and confirming the restore will set all filters and table configuration back to the default.

Commenting

On every instance page, on the top right side, there is the Comment capability. By using this capability, you are able to see existing comments or to write new ones in the comment field and add this comment by using the Add comment capability. The comment field is mandatory. By using the Cancel capability, the comment will not be saved, and you will be redirected to the instance page.

Documentation

For a lot of artifacts in Solution Designer e.g.

  • Workspace description
  • Projects
    • All project types:
      • Project overview documentation
    • Domaine Service projects only:
      • Namespaces (API, Domain and Integration)
      • Entities (Root Entities, Entities and External Entities)
      • Services
      • Commands
      • Properties
      • Events
      • Agents
      • Errors
      • Operations

The section Documentation allows the user to easily write Markdown documentation. The text editor offers a WYSIWYG and a Markdown mode with live preview that supports both CommonMark and GFM specifications. The edit mode can be entered (only if the user has permission to edit the artefact) by clicking on the content or by using the symbol on the right top displayed while hovering over the content.

For each type of artefact a pre-defined structure is proposed and automatically displayed.

Visualize modelled elements

You can easily create plantUML diagrams by either inserting native plantUML syntax in a codeblock or auto-generate a diagram by clicking on the "Insert diagram" button or using the k5 command.

For all kinds of diagrams the placeholder, ns has to be replaced with the name of the namespace that holds the object for which the diagram should be generated.

Root entities

    aggregate ns:EntityName parents children properties commands

Replace EntityName with the name of the Root Entity you want to generate a diagram for.

Options:

  • parents: Shows direct parent entities of the root entity that should be displayed.
  • children: Shows all direct children of the root entity that should be displayed.
  • properties: Shows all direct associated properties of each entity displayed in the diagram.
  • commands: Shows all associated commands for each root entity displayed in the diagram.
  • all: Shows direct parents, children, associated properties and commands.
Note:

By using the command without any extension the default is to show the aggregate with direct parents, without children, with properties and commands.

Services (Domain Services and Integration Services)

    services ns:ServiceName events agents errors all

Replace ServiceName with the name of the service you want to generate a diagram for.

Options:

  • events: Shows all events published by that service.
  • agents: Shows agents within the same solution that are subscribed to a published event.
  • errors: Shows all business errors that could be thrown by that service.
  • all: Shows all events, agents and business errors associated to that service.
Note:

By using the command without any extension the default is to show the service with its input and output.

Operations

    operation ns:OperationId request response all

Replace OperationId with the name of the operation you want to generate a diagram for.

Options:

  • request: Shows the request (incl. parameter + request bodies).
  • response: Shows the responses.
  • all: Shows request and responses.
Note:

By using the command without any extension the default is to show the operation with its request and responses.

Project overview

    solution api domain integration queue database all

This will generate the project overview diagram for the project you are currently working on.

Options:

  • api: Shows all api namespaces available in the current solution.
  • domain: Shows all Domain Namespaces available in the current solution.
  • integration: Shows all Integration Namespaces available in the current solution.
  • queue: Shows all messaging topics associated to their domain namespace.
  • database: Shows all database collections associated to their domain namespace.
  • all: Shows all api, domain and Integration Namespaces with their related massaging topics and database collections of the current solution.
Note:

By using the command without any extension the default is to show the solution with its api, domain and Integration Namespaces.

Task bar

On the bottom of the page in Solution Designer, there is an expandable panel which contains additional information around project design and development.

Problems section

On the bottom of the page in Solution Designer, there is a panel which contains a **Problems section. In these sections all problems and warnings are listed, and it is possible to navigate to the affected object in order to solve the issue by using the link capability.

Solution CLI section

On the bottom of the page in Solution Designer, there is a panel which contains a **Solution CLI section. There you can find instructions on how to download, install and set up the Solution CLI which is necessary to clone the project to your local machine and test/debug it.

Repository capabilities

The repository capabilities of each service project are located close to the header of each page in the project.

Checkout or switch branch

The current branch you are working on is shown next to the header of each page. The drop down allows you to switch inbetween local branches or checkout new remote branches from the repository.

In case you switch to a branch that no longer is available in the repository you will get a hint and be able to delete the local (checked out) branch by confirming the info. In case you want to keep it and store the changes to the repository, you have to create manually a similar named branch in the repository and commit and push the local branch to the repository.

Reset to remote

In case you want to fall back to a saved state in the repository and overwrite your local changes you can use the Reset to remote capability available in the drop-down of the checkout action. Please be aware that all the local changes can not be restored.

Create new branch

A new branch of the project can be created via the Solution Designer. By using the action in the drop-down of the checkout action you have to provide a Branch name and a Source Branch as input. After clicking Create the new branch is created in the repository and checked out as local branch.

Commit & push

In order to commit and push changes to the remote Git repository, use the Commit & Push capability located in the upper right of each service project page in the Solution Designer. Uncommitted local changes are indicated with a highlighted button and an additional tooltip when hovering over the button.

While commit and push always a auto-merge with the current state of the remote branch happens automatically. In case the merge fails (e.g., design files have been changed manually in the repository) you will get a information and must resolve the conflicts manually (a new branch is created based on the local branch) in the repository.

Header bar capabilities

The header bar offers some basic capabilities regardless of the project type.

Create

The user has the possibility to access different create actions from here. So in every context you can create a Workspace, a Project or a Schema without navigating away from your current view. In the context of a Domain Service Project the capability offers additional project-related entries to create a Branch, an API Namespace, a Domain Namespace, an Integration namespace or a Pipeline configuration. For Generic Service Projects the user can create a Pipeline configuration. And for Application Composition Projects the ability to add a Deployment Target exists.

Settings

On the upper right side of the Solution Designer is the Administration Settings function.

Help

There, you can find a link to the product documentation.

User profile

From there, it is possible to view your name and username, change user settings and log out.

Applications

This item provides links to relevant product components such as Solution Hub and the Schema registry.