1. Overview
This document describes the operational aspects of edoras one and its integration with other systems.
It is intended for system administrators responsible for configuring an edoras one installation.
2. Tenant JSON definition
A new tenant in edoras one is created by adding a new tenant definition to the edoras one installation
and restarting the server. The location and file naming convention for the tenant definitions is
specified by the tenant.data.location
property, and is specific to the application environment.
2.1. Overall structure
The tenant definition is a JSON object definition, something like the following:
{ "name": "acme", "accounts": [ { "name": "acme", "domain": "acme.com", "groups": [ "Manager" ], "mainColor": "#FF0000", "highlightColor": "#00FF00", "backgroundColor": "#0000FF", "logoUrl": "http://localhost:8080/logo.png", "users": [ { "userFirstName": "John", "userName": "Smith", "userLogin": "john", "userEmail": "john.smith@acme.com", "groups": [ "Manager" ], "language": "en" } ] } ] }
The following sections describe the available attributes for each part of the definition.
2.2. Tenant information
The top level of the JSON contains information about the tenant. The following attributes are supported:
Attribute name | Description |
---|---|
|
a list of the initial accounts |
|
admin user’s login |
|
admin user’s email address |
|
tenant name |
2.3. Account information
An account entry defines an initial account within the tenant. The following attributes are supported:
Attribute name | Description |
---|---|
|
domain name (used to create user email addresses automatically) |
|
main color property (optional) |
|
highlight color property (optional) |
|
background color property (optional) |
|
logo url used in page top left corner (optional) |
|
a list of group names |
|
account name |
|
a list of the initial account users |
For each account entry, an account will be created with the given name, groups and users.
2.4. User information
A user entry defines an initial user within the account. The following attributes are supported:
Attribute name | Description |
---|---|
|
groups that the user belongs to |
|
user’s language |
|
user’s email address |
|
user’s first name |
|
user’s login |
|
user’s last name |
For each user entry, a user will be created with the given information.
If no email address is provided and the account domain is set, then an email address will be created from the domain and user’s first and last names.
When defining a user’s group membership, both the default edoras one group names
(edoras one Modeler
etc.) and the group names explicitly defined in
the account may be used.
3. Integrating edoras one with other systems
3.1. Mail integration
3.1.1. Outgoing mail
To send outgoing mails, edoras one uses a org.springframework.mail.javamail.JavaMailSender
instance.
A suitable bean definition is therefore required in the installation-specific Spring configuration. For debugging purposes in a local development environment, a simple logging implementation is provided that simply logs all outgoing mails to the server log (no mail is actually sent):
<!-- during development, just log outgoing emails -->
<bean id="mailSender" class="com.edorasware.cloud.core.mail.LoggingMailSender"/>
For real servers, a full bean configuration will be required:
<bean name="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="defaultEncoding" value="UTF-8"/>
<property name="host" value="smtp.gmail.com"/>
<property name="port" value="465"/>
<property name="username" value="${mail.no-reply.username}"/>
<property name="password" value="${mail.no-reply.password}"/>
<property name="javaMailProperties">
<props>
<prop key="mail.debug">${mail.debug}</prop>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.socketFactory.port">465</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.fallback">false</prop>
<prop key="mail.smtp.quitwait">false</prop>
</props>
</property>
</bean>
In a typical installation where the bean configuration is stored on the server where it will be used, the property placeholders shown in this example can be directly replaced with the appropriate values.
For details about mail sender configuration please refer to the Spring documentation.
3.1.2. Incoming mail
It is also possible to configure edoras one to listen for incoming mails in a particular mailbox and to take suitable action when a mail is received. How this should be configured will depend on the details of your installation and how incoming mails are to be interpreted.
4. Standard properties
TODO: describe the standard edoras one environment properties
5. Tomcat configuration
5.1. Connector configuration
To allow to send UTF-8 characters in URIs (e.g. the search requests) we need to allow UTF-8 URI encoding in tomcat (server.xml).
<!--
Define a non-SSL HTTP/1.1 Connector on port 8080
URIEncoding is set to UTF-8
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
/>
<!--
Define an AJP 1.3 Connector on port 8009
URIEncoding is set to UTF-8
-->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>