Demo Center

Principle

The Demo Center is a Spring Boot application designed to build scopes based on a set of modules. CLM is used to create scopes from modules stored in a Git project.

Projects are stored in a database (h2) and can be cloned by users from the graphical user interface by entering a login/password pair.


By default, the application can be accessed at the following URL: http://localhost:2503/demo-center

Configuration

FlowerDocs

The Demo Center requires access to FlowerDocs Core. It can be configured with the following properties:

Name Description
system.admin.username FlowerDocs user identifier with the SYSTEM_ADMIN role
system.admin.password FlowerDocs user password with the SYSTEM_ADMIN role
system.admin.mail FlowerDocs user email address with the SYSTEM_ADMIN role used to be notified of scope creations
ws.url Web services access URL FlowerDocs Core

LDAP

When creating a scope, the Demo Center replaces certain variables defined as tags in the configuration documents. The LDAP information can therefore be varied in the configuration and defined by the Demo Center in order to create a scope configured for the target environment.

When a scope is created, an organizational unit (OU) is created (if it doesn’t already exist) to isolate the users of each scope. In this OU, two users are created:

  • an OU administrator
  • a scope administrator (corresponding to the user authenticated by SSO or random)
Name Description
ldap.url LDAP access URL
ldap.type LDAP type whose possible values are defined by the LDAPType tag
ldap.user DN of the user used to connect to LDAP
ldap.password User password used to connect to LDAP
ldap.baseDN LDAP DN base
ldap.attributes.search Attribute used to search for users in LDAP
ldap.attributes.id Attribute used to determine a user’s identifier in LDAP
ldap.attributes.displayName Attribute used to determine an LDAP user’s label
ldap.attributes.members Attribute used for LDAP group members
ldap.ouAdmin User identifier to be created in the scope’s organizational unit

Authentication

A user can connect to the Demo Center graphical user interface in two ways:

  • the defined FlowerDocs user account
  • an SSO mechanism (OAuth2)

The OAuth2 standard must be configured by following the Spring Boot documentation. For example, to configure the Google identity provider, you need to add the properties:


spring.security.oauth2.client.registration.google.client-id=<client-id>
spring.security.oauth2.client.registration.google.client-secret=<client-secret>

Email notification

When a scope is successfully created using the Demo Center, a notification email is sent. To configure this mechanism, you need to define at least the following properties for sending an email:

Name Description
spring.mail.host SMTP server URL
spring.mail.port SMTP server port
spring.mail.username Email address of email account
spring.mail.password Email address password
gui.url URL to access FlowerDocs GUI


By way of example, the configuration below allows the use of an OVH email server:


spring.mail.host=SSL0.OVH.NET
spring.mail.port=587 
spring.mail.username=<email>
spring.mail.password=<mot de passe>
spring.mail.properties.mail.smtp.starttls.enable=true 
spring.mail.properties.mail.smtp.ssl.trust=*


If the FlowerDocs user with the SYSTEM_ADMIN role is used to create a scope and no email address is configured, the notification will not be sent.

Modules

To make it easier to build scopes, modules can be configured with the following properties:

Name Description
modules.required Required modules for creating a scope. They are automatically added to the modules selected for creating a scope.
modules.hidden Not visible to users in the graphical user interface

Auto-initialization

The auto-initialization mechanism enables projects to be automatically initialized as soon as the application is started. Each configured project will be automatically created if it does not exist, and cloned to keep modules up to date.

Name Description
startup.projects.index.url Git project URL
startup.projects.index.branch Branch to be cloned
startup.projects.index.credentials.name Git username
startup.projects.index.credentials.password Git user password


The character string index must be replaced by a unique character string.