stoney mail: OpenLDAP directory data organisation
Contents
Abstract
This document describes the OpenLDAP directory data organisation for the stoney mail service, including groupware functionality based on Open-Xchange.
Data Organisation
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the stoney mail service.
The following LDIF shows the mail entry of the whole OpenLDAP directory tree for the stoney cloud:
dn: ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: organizationalUnit objectclass: top ou: mail
Mail Configuration
The sub tree for the configuration of the stoney mail service:
dn: ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: configuration description: The sub tree for the configuration of the stoney mail service.
The following table describes the different attributes:
Attribute | |
|
Description |
ou | |
|
This configuration leaf (ou: Organizational Unit), collects the stoney mail service related configuration. |
description | |
|
The description of this leaf. |
Legend:
- x: Mandatory in all cases.
Mail Reseller
The sub tree for the reseller specific stoney mail service configuration:
dn: ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: reseller description: The sub tree for the reseller specific stoney mail service configuration.
The following table describes the different attributes:
Attribute | |
|
Description |
ou | |
|
This reseller leaf (ou: Organizational Unit), collects the stoney mail service reseller related configuration. |
description | |
|
The description of this leaf. |
Legend:
- x: Mandatory in all cases.
The sub tree for the specific stoney mail service settings for the reseller Reseller Ltd. with the uid 4000000.
dn: uid=4000000,ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstReseller objectclass: sstServiceConfigurationObjectClass uid: 4000000 o: Reseller Ltd. description: The sub tree for the specific stoney mail service settings for the reseller Reseller Ltd. with the uid 4000000. sstIsActive: TRUE sstIsDefault: TRUE sstBelongsToResellerUID: 4000000
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
uid | |
|
|
|
A unique integer value with 7 digits or more. For example: 4000000. |
organizationName | |
|
|
|
The organisation name of the reseller. For example: Reseller Ltd. when sstIsCompany: TRUE ). Or in case of a person (sstIsCompany: FALSE ), the organisation name would be set to: Surname, Name (The content of the attributes surname and givenName ).
|
description | |
|
|
|
The description of the leaf. |
sstIsCompany | |
|
|
|
Is the entry a company? Either TRUE (yes) or FALSE (no).
|
sstIsActive | |
|
|
|
Is the entry active? Either TRUE (yes) or FALSE (no).
|
sstExternalID | |
|
|
|
The ID (or number) of a customer, person or product in an external database (for example: 234567). |
sstIsDefault | |
|
|
|
Contains the leaf a default entry? Either TRUE (yes) or FALSE (no). If sstIsDefault is set to TRUE , this entry acts as a fall back configuration. In other words: If a reseller doesn't have his own (online) backup service configuration, then this on will be used.
|
sstBelongsToResellerUID | |
|
|
|
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000. In this case, the attribute uid and sstBelongsToResellerUID must match with each other!
|
Legend:
- x: Mandatory in all cases.
Mail Reseller Logout-Redirection
The sub tree for the reseller logout-redirect specific stoney mail service configuration:
dn: ou=logout-redirect, ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: logout-redirect description: The sub tree for the reseller logout-redirect specific stoney mail service configuration.
The following table describes the different attributes:
Attribute | |
|
Description |
ou | |
|
This logout-redirect leaf (ou: Organizational Unit), collects the stoney mail service reseller logout-redirect related configuration. |
description | |
|
The description of this leaf. |
Legend:
- x: Mandatory in all cases.
The sub tree for the reseller logout-redirect specific stoney mail service settings, coming from the fully qualified domain name (fqdn) groupware.stoney-cloud.org.
dn: ou=groupware.stoney-cloud.org,ou=logout-redirect, ou=reseller,ou=configuration,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstLogoutRedirect ou: groupware.stoney-cloud.org description: The sub tree for the reseller logout-redirect specific stoney mail service settings, coming from the fully qualified domain name (fqdn) groupware.stoney-cloud.org. sstWebsiteURL: http://www.stoney-cloud.org/
The following table describes the different attributes:
Attribute | |
|
|
|
Description |
ou | |
|
|
|
This leaf (ou: Organizational Unit), contains the logout-redirect related configuration for a specific fully qualified domain name (fqdn). For example: groupware.stoney-cloud.org. |
description | |
|
|
|
The description of the leaf. |
sstWebsiteURL | |
|
|
|
The URI the user is redirected to, after they log out from the groupware application. For example: http://www.stoney-cloud.org/ or https://www.stoney-cloud.org/. |
Legend:
- x: Mandatory in all cases.
Mail Domains
The leafs containing the mail domains for the stoney mail service. We can have one of the following mail domain types:
- Mail Domain: A local mail domain. For example: example.com.
- Mail Domain Aliase: A mail domain (for example: example.org), which points to a local mail domain. For example: example.com. All email addresses ending with @example.org are thus forwarded to the local mail domain example.com.
- Mail Domain Forward: A mail domain (for example: example.net), which points to an external mail domain (for example: external-domain.com).
- Third Level Mail Domain: A third level mail domain (for example: customers.example.com). Actually a sub set of a normal mail domain.
Mail Domain example (example.com)
The following example shows the mail domain name stoney-cloud.org:
dn:sstMailDomain=example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailDomain objectclass: sstGroupwareOX objectclass: sstProvisioning objectclass: sstRelationship sstMailDomain: example.com sstIsActive: TRUE sstGroupwareOXContextID: 3724493 sstGroupwareOXDomain: groupware.example.com sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T105847 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724493 # This attribute has the same function as the uid in other services.
Mail Domain Alias example (example.org)
The following example shows the mail domain alias example.org, which points to the local mail domain example.com.
dn: sstMailDomain=example.org,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailDomainAlias objectclass: sstProvisioning objectclass: sstRelationship sstMailDomain: example.org sstIsActive: TRUE sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T115418 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724533 # This attribute has the same function as the uid in other services.
The following sub tree is an essential part of the Mail Domain Alias example:
dn: sstMail=@example.org,sstMailDomain=example.org,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailWildcardAlias objectclass: amavisAccount objectclass: sstProvisioning objectclass: sstRelationship sstMail: @example.org sstMailForward: @example.com sstIsActive: TRUE sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T115418 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724533 # This attribute has the same function as the uid in other services.
Mail Domain Forward example (example.net)
A mail domain (for example: example.net), which points to an external mail domain (for example: external-domain.com).
Third Level Mail Domain example (customers.example.com)
A third level mail domain (for example: customers.example.com).
dn:sstMailDomain=customers.example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailDomain objectclass: sstGroupwareOX objectclass: sstProvisioning objectclass: sstRelationship sstMailDomain: customers.example.com sstIsActive: TRUE sstGroupwareOXContextID: 3724493 # This is the product UID of the Mail Domain customers.stepping-stone.ch sstGroupwareOXDomain: groupware.example.com sstProvisioningExecutionDate: 0 sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningState: 20100824T105847 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3724493 # This attribute has the same function as the product UID in other services.
Mail Accounts
The leafs containing the mail accounts for the stoney mail service. We can have one of the following mail account types:
- Mail Account: ...
- Mail Alias Aliase: ...
- ...
- Third Level Mail Accounts': A third level mail account (for example: 3733908@customers.example.com). This is actually the same as a normal mail account.
Third Level Mail Account example (3733908@customers.example.com)
A third level mail account example (for example: 3733908@customers.example.com).
dn: sstMail=3733908@customers.example.com,sstMailDomain=customers.example.com,ou=mail,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstMailAccount objectclass: amavisAccount objectclass: sstProvisioning objectclass: sstGroupwareOX objectclass: sstRelationship sstMail: 3733908@customers.example.com userPassword: {SSHA}aZGHe8drtP39HvKhW7eQoKsrR4c1ZjgwNmI0Mjcy sstMailMessageHomeDirectory: /var/vmail/2/242/734/3734242 sstMailMessageStore: mdbox:~/mdbox sstMailReadIMAP: TRUE sstMailReadPOP: TRUE sstMailReceive: TRUE sstMailSend: TRUE sstMailWebmail: TRUE # Original is TRUE, FALSE would better, as we don't have a web mail for the customer mail accounts. But don't change now. sstMailAccountFolderSent: Sent sstMailAccountFolderDrafts: Drafts sstMailAccountFolderTrash: Trash sstMailAccountFolderSpam: Spam sstQuota: 104857600 # Quota in Bytes 104857600 are 100 Mebibyte (MiB) sstIsActive: TRUE givenName: sst-int-tst-0001 surname: os.stoney-cloud.org # The default domain of our OpenStack based public stoney cloud preferredLanguage: en-GB # Could be either en-GB or de-CH sstGender: 0 # O is neutral, f is female, m is male sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002 sstBelongsToBillingUID: 3734242 # This the product UID of te Mail Account 3734242@customers.stepping-stone.ch sstGroupwareOXContextID: 3726904 # This is the product UID of the Mail Domain customers.stepping-stone.ch sstGroupwareOXAccountType: User # Could bei either user or resource sstProvisioningMode: add # Shouldn't this be changed to added after a successful provisioning step? sstProvisioningExecutionDate: 0 sstProvisioningState: 20100824T105847