stoney mail: OpenLDAP directory data organisation

From stoney cloud
Jump to: navigation, search

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.

Mail

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
Existence
Mandatory
Description
ou
MUST
x
This configuration leaf (ou: Organizational Unit), collects the stoney mail service related configuration.
description
MAY
x
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
Existence
Mandatory
Description
ou
MUST
x
This reseller leaf (ou: Organizational Unit), collects the stoney mail service reseller related configuration.
description
MAY
x
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
Existence
Mandatory
Self-Service
Changeable
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000000.
organizationName
MAY
x
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
MAY
The description of the leaf.
sstIsCompany
MUST
x
Is the entry a company? Either TRUE (yes) or FALSE (no).
sstIsActive
MUST
x
Is the entry active? Either TRUE (yes) or FALSE (no).
sstExternalID
MAY
The ID (or number) of a customer, person or product in an external database (for example: 234567).
sstIsDefault
MAY
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
MUST
x
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
Existence
Mandatory
Description
ou
MUST
x
This logout-redirect leaf (ou: Organizational Unit), collects the stoney mail service reseller logout-redirect related configuration.
description
MAY
x
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
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
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
MAY
The description of the leaf.
sstWebsiteURL
MUST
x
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