Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Page Properties
hiddentrue
idrDOC

Product Version
Report Note
AssigneeMartin

Resources & Remarks

  • Version 2.4 - options" ...  "synchronousContentAnalysis": true (OKTO-4309)

Modification History

NameDateProduct VersionAction
Antje08 FEB 20212.4New page properties macro.
Antje12 FEB 20212020 WinterrDOC
Agnieszka15 FEB 20212020 WinterrLANG
Martin20 April2021 SummerNew parameter customMicroserviceOnDelete 

Martin: mit 2021 Autumn Alpha1 gibt es eine neue Section "groups". Die hier spezifizierten Gruppen werden im Tenant erstellt und die angegebenen Rollen zugewiesen.
https://jira.optimal-systems.de/browse/COOL-14292

Martin: mit 2021 Autumn Alpha5 Das Password im Profile verschlüsselt gespeichert. Wird das Profile ausgelesen, wird nur das verschlüsselt Password mit einem Prefix ausgegeben. Bitte die Ausgangspassworte sorgfältig aufbewahren!
Bitte auch nochmals den Hinweis beim GET Aufruf geben.

...

As of Versionproduct version 2020 Winter | component version 1.0
Request MethodPOST
Response FormatHTTP status code
Description


Excerpt

Updates the tenant creation profile that is used while creating a tenant of a customer with all the information that should be set up, e.g., additional roles, users, schema and client settings. Each SaaS application has its own tenant creation profile.

It is possible to use the following placeholders within the tenant creation profile that will be replaced by values determined from the parameters of each tenant creation call:

PlaceholderDescription

${DISPLAY_TENANT_NAME}

The Keycloak Realm Display Name that is shown on the Keycloak login page.
${TENANT_NAME}The Keycloak Realm Name which corresponds to the tenant name in yuuvis®.

The following yuuvis® roles are set per default for each tenant:

  • YUUVIS_DEFAULT (briefly: full access to every object via default role set)
  • YUUVIS_CREATE_OBJECT (briefly: create objects)
  • YUUVIS_MANAGE_SETTINGS (briefly: save result list column and filter configurations as standard)
  • YUUVIS_TENANT_ADMIN (briefly: update schema, role set, manage users, ... for the tenant)
  • YUUVIS_SYSTEM_INTEGRATOR (briefly: update global schemata and role sets for the system, create tenants) 

An admin user is created for each tenant that is used for the initial tenant administration. This user has all the above roles except YUUVIS_TENANT_ADMINISTRATOR.

Settings for Keycloak can be adjusted and additional roles can be created by passing the desired values for the corresponding parameters:

  • general section (These set parameters are displayed in the Keycloak GUI, realm setting Themes.)
    As of 2021 Summer:
    • displayNameHTML parameter
      Define the branding on the login page. If not specified, the Keycloak realm HTML Display name will be set by default to "<div class="yuv-brand-logo">${DISPLAY_TENANT_NAME}</div>".
    • supportedLocales parameter
      Set the languages for the language selection in the login dialog. The default locales are en for English and de for German. Find more available locales in the Keycloak documentation.
    • defaultLocale parameter
      Set the locale to specify the language used in the e-mail invitation. The default locale is
      en.
    • customMicroservice parameter
      Define the URL of the custom microservice that should be asynchronously called after the tenant is prepared in the backend to configure additional necessary custom settings. 
    • customMicroserviceOnDelete parameter
      Define the URL of the custom microservice that should be asynchronously called after deleting a tenant to remove additional custom settings.
  • roles section: 
    • Define additional roles (in addition to the pre-defined role set), each of them with a role title and a description
  • groups section:
    As of 2021 Autumn: Specify groups that will be created in the tenant with the listet listed roles assigned to them.
  • user section:
    • Create standard users and assign roles to them. You may want to create technical users who manage the schema, for example.
      If you want to invite the created users via e-mail, set  "withInvitation": "true". The default value is false.
      Note: if "true", the e-mail section and its parameters must be set to match the SMTP e-mail service installed.
    • As of  2021 Autumn Alpha4: If you want to set up a technical user who should not be forced to change his password while logging in for the first time, set the parameter "temporaryPassword": "false", as seen in the example below. The default is "true".
  • email section:
    Set up all e-mail keys to be able to send invitations to newly created users using your configured e-mail service.
    The mandatory keys are host, username, and password.

Meaning of the response HTTP status codes:

HTTP Status CodeMeaning
201 CREATEDSuccessful, the tenant with the specified name has been created.
401 UNAUTHORIZEDThe call was unauthorized.


Request Example


Panel
POST /tenant-management/api/system/profile HTTP/1.1

{
     "general": {
          "displayNameHTML": "<div class=\"yuv-brand-logo\">${DISPLAY_TENANT_NAME}</div>",
"customMicroservice": "https://myCustomMicroserviceURL",
          "customMicroserviceOnDelete": "https://myCustomMicroserviceOnDeleteURL",
"supportedLocales": ["en","de","es"],
"defaultLocale": "es"
,      },

     "email": {
        "host": "myemailservice.com",
        "port": 25,
        "fromDisplayName": "myHostName",
        "from": "myemailaddress",
        "enableSSL": true,
        "enableStartTLS": true,
        "enableAuthentication": true,
        "username": "emailserviceuser",
        "password": "PaswordWith8Characters1Uppercase1SpecialNoUserName"
      },

     "roles": [ 
         {
             "role": "Role 1",
             "description": "Description of Role 1"
         }, ...    ],

    "user": {
       "users": [
          { 
"username": "annebraun",
"email": "grasshoffbraun@optimal-systems.de",
"firstName": "Anne",
"lastName": "Braun",
"roles": ["YUUVIS_DEFAULT"],
"password": "PaswordWith8Characters1Uppercase1SpecialNoUserName",
"temporaryPassword": false,
"enabled": true
},
...
    ],
        "withInvitation": true
}
}


Response Example

201 CREATED

no response body

...