Setting up projects
Whenever you want to create a solution with Solution Designer you need to set up a project first. Solution Designer currently supports the following project types:
Application composition projects
This project type is used to compose applications by adding multiple components from a repository.
Create new projects
You can create new application projects by clicking on the "Create" button on the Projects overview page and providing the following information:
In the "Create Project" dialog choose Application Composition Project
Specify a unique acronym for this project
Give the application a name
Select the Git provider that should be used to store the project's source code
Choose a repository group at this Git provider
Choose one or more tags (optional)
Choose an icon (optional)
Enter a description of your application (optional)
Click on create
Now that you have a new application composition project you need to add at least one deployment target before you can start adding components.
Click on "Add deployment target"
Select a namespace from the drop-down (you will see all configured deployment targets)
After having added deployment targets you can start adding components by clicking on the "+" button.
Read more about managing application composition projects.
Delete projects
To delete an application composition project you just have to click on the trash icon in the right upper corner inside an application project. You will be prompted with a confirmation screen where you have to type the acronym of the application to delete it.
Service projects
This project type is used to create a single microservice that you decided to implement on your own. The creation of a project requires some information on the project's category, type and implementation language. You have two options to create a project:
Create a new project from scratch
Import a Project Template from the Marketplace
Create new projects
Project category:
Starting with the project category, Solution Designer offers the following categories of projects:
Experience API: Experience APIs refer to a project that will be connected to an external channel. For example a mobile or a web-based application.
Domain Service: Domain services encapsulate the core business logic of a business domain.
System API: Refers to projects that will be integrated to other projects in order to enhance the functionality of the latter.
All options work basically as a flag expressing the overall purpose of the application.
The idea is that, while all of these could easily be incorporated in one big monolith, this would be considered a bad design as any small change would affect the entire project. In other words, by putting each project in the corresponding layer, it allows for a modular design where a small change will affect only the altered project.
Project type:
Solution Designer offers two different project types that support different approaches of development:
Low-Code Projects: Modelling based on Domain Driven Design principles with rich code support for all modelled elements
Pro-Code Projects: Full control over model and implementation with basic code support for build and deploy
Implementation language:
The third information necessary to create a new project is the implementation language of the project. Since both project types generate supporting code, you need to specify the implementation language for the project. Currently, the following languages are supported:
TypeScript: Available for both Low-Code and Pro-Code Projects
Java: Available for both Low-Code and Pro-Code Projects (you need to provide a package name for the project)
JavaScript: Available only for Pro-Code Projects
Project master data:
Finally, you can define the Master Data of the new project as follows:
Acronym: The project's acronym must be unique and must not contain more than 8 characters in capital letters and numbers without special characters (required)
Name: The name of the project (required)
Git provider: A list of all Git providers for which you have an access token (required)
Repository group: All repository groups in the specified Git provider for which you have at least read rights ( required)
Domains: Tags to group the projects on the Overview page (optional)
Icon: Name of the icon used on the Overview page (required)
Description: Description of the project. Shown on the Overview page (optional)
Confirming the entries completes the creation of a new project.
Project states:
The state of the creation process is shown in the Projects overview. It shows Processing while the project is being created. In this state you can open the project, but you cannot proceed any action. In case of an error, it is also shown on the project in the overview. In this case you can open the project in order to delete it.
If a project was created successfully it is stated as New for the first 24 hours after creation. If its state is * Error* after creation or import, it means that the creation or initialization of the project on the remote Git repository failed. In this case it cannot be guaranteed, that the project is now ready to work.
Possible reasons for this are:
The remote Git repository is not available at the moment
Invalid Git username and Git token combination defined
The defined Git token does not provide enough permissions to create a new repository
Recommendation:
Ensure that the above-mentioned points are set up correctly
Delete the project in Solution Designer
Ensure that the remote Git repository was deleted as well (if necessary, delete it by hand)
Try to re-create the project using Solution Designer. If it still fails, please contact your administrator
Export projects
To share a project with other users or teams in the local Marketplace, open the project and navigate to the Overview page and then select the Export capability. To execute that capability, you need to have the role MP_USER. Then you are asked to enter the following information for the exported project:
Marketplace Name: The display name of the project at the marketplace (required)
Contributed By: Name or organization (required)
Marketplace Tags: Tags that allow other users to search for (optional)
Marketplace Description: Description for the project (optional)
Confirming the entries will transfer your project to the local marketplace, and it can be reused by others.
Delete projects
To delete a project, open it in Solution Designer, navigate to the Overview page and select the Delete capability. Then you are asked to confirm the deletion.
When deleting a project, multiple steps are done in order to clean up the project properly. The following list shows the data that is cleaned up while deleting:
Artifacts of the project in the database
Git repository with its data
All deployments of that projects
Cached data related to that project