The Service panel shows all libraries available in the service. Use the panel to manage your libraries and to use its contents during modeling on the execution pane.

You have two options to add a library to a service:

Adding a Library via the Asset Drawer

Open the Asset Drawer by clicking button in the search box of the service panel.

The Asset Drawer lists all available assets. It displays assets...

  • ...that have been uploaded to the current namespace.
  • ...that have been uploaded to namespace Shared.

Browse the list to find the asset you want to use in your service.

To add a library to your service click the corresponding button.

The added library is now displayed in the service panel and you can use it during modeling.

Adding a Library via the Manage Libraries Dialog

If you want to add your own libraries to a service, hover over the Libraries folder in the service panel and use option Manage Libraries .

The dialog Manage Libraries opens.

All libraries that have been uploaded to the current namespace are shown in this dialog:

  • Currently unused libraries are displayed on the left side of the window.
  • The libraries that are already used in this service are shown on the right side.

Expand the drop-down lists to display the details of each library such as versions and dependencies.

To add an unused library to the project, click Add library .

The library is now displayed in the column Used Libraries.

If you have finished, click Save to persist your changes.

The added library is now displayed in the service panel and you can use it during modeling.

Use option Documentation to display the documentation of a library.

You can find it in the Manage Libraries dialog...

... as well as in the service panel when you hover over a library.

If documentation is available, it will be opened in a new browser tab.

This allows developers to access library documentation at any time during the development process.

Adding Libraries With Dependencies

Libraries may have dependencies between each other. The Designer supports you to add all necessary libraries:

When you add a library that contains dependencies...

... the Designer also adds all dependent libraries.

If you add a library, that contains dependencies but not all dependent libraries are available in the current namespace...

... the missing library is added, but highlighted in red.

In that case, go to the library administration and upload the missing library to the namespace to make it available in your service.

Handling Library Conflicts

Especially if you develop your own libraries (see Developing and Using Libraries for details) and create different versions, it is possible that library dependencies conflict with each other when you add them to a service.

Example:

Jane developed her own library, Janes_Lib in a first version 1.0.0 . She provides David her library.
He uses Janes_Lib 1.0.0 during the creation of his own library Davids_Lib 1.0.0 .

Now, Jane extends her library and creates Janes_Lib 2.0.0 .
Jane gives the new version of her library to John, who uses Janes_Lib 2.0.0 in his own library Johns_Lib 1.0.0 .


All three developers upload their own libraries to a shared namespace, because they want to develop a service together.

David starts modeling the service. He wants to use his library, so he adds Davids_Lib 1.0.0 to the service.

Since he used Janes_Lib 1.0.0 in his own library, Janes_Lib is also added to the service - in the necessary version 1.0.0 .

John wants to collaborate with David, he also wants to use his library Johns_Lib 1.0.0 .

However, the button to add the library is disabled, and John gets a conflict message.

Since John used Janes_Lib 2.0.0 in his own library, there is a version conflict between Janes_Lib 1.0.0 in Davids library and Janes_Lib 2.0.0 in Johns library.

John and David have now two possibilities to solve the version conflict:

  • David can upgrade the library version of Janes library to use Janes_Lib 2.0.0 in his library.
    This is probably the most common case.
  • John could downgrade the library version of Janes library to use Janes_Lib 1.0.0 in his library.

Once David and John are using the same version of Janes_Lib , both can use their libraries in the service.