Alfresco et le Multi-tenancy

Présentation du Multi-Tenancy

Le Multi-tenancy (MT) est une architecture logicielle, où une seule instance du logiciel alfresco s’exécute sur un serveur, tout en mettant à disposition des organisations clientes multiples (les locataires) des instances indépendantes. Le Multi-tenancy s’oppose avec une architecture multi-instance, où des logiciels distincts (ou matériels) sont mis en place pour les organisations de clients différents. Avec une architecture multi-tenancy, l’application est conçu pour partitionner ses données et sa configuration, de sorte que chaque organisation cliente travaille avec une instance de l’application virtuelle personnalisée et indépendante.

Alfresco peut être configuré comme une instance unique dans un environnement multi-client. Cela permet à plusieurs clients indépendants d’être hébergés sur une instance installé sur un serveur. L’instance de base d’Alfresco est alors partitionné logiquement de telle manière qu’elle apparaisse pour chaque client comme instance unique.

Mise en place du Multi-Tenancy

Par défaut, Alfresco supporte une instance unique (ST) pour son environnement. La mise en place du Multi-tenancy sur Alfresco permettra l’exécution d’une instance pour chaque client. Toutes ces instances seront mises à disposition à partir d’un seul serveur Alfresco.

Afin de permettre un environnement multi-tenancy, vous devez renommer les trois fichiers suivants en supprimant l’extension .sample. Les fichiers sont disponible dans le répertoire suivant, $Alfresco_Home/tomcat/shared/classes/alfresco/extension/mt:

  • Renommer mt-context.xml.sample en mt-context.xml
  • Renommer mt-admin-context.xml.sample en mt-admin-context.xml
  • Renommer mt-contentstore-context.xml.sample en mt-contentstore-context.xml

Après modification des trois fichiers redémarrer Alfresco pour initialiser le Multi-Tenancy.

Création d’un « espace client » (Tenant)

L’utilisateur administrateur par défaut « admin » d’Alfresco peut être considéré comme le super utilisateur des « espaces clients ». Tous les clients peuvent être administrés par l’utilisateur « admin » à partir de la console d’administration des « espaces clients ».

Pour accéder à la console d’administration des « espaces clients », vous devez vous connectez à l’interface explorer d’Alfresco en utilisant le compte « admin ».

L’URL pour accéder à la console d’administration des « espaces clients » se trouve à l’adresse suivante :

http://<nomduserveur> :<port>/alfresco/faces/jsp/admin/tenantadmin-console.jsp

Voir la capture d’écran suivante :

tenant_1

Illustration 1: Capture de la fenêtre d’administration des « Espaces Clients »

Pour créer un « espaces clients » à partir de la console d’administration des « espaces clients » à titre d’exemple, saisir la commande suivante :

create apie.com password /usr/tenant/apie

Dans cet exemple, apie.com est le domaine du nouvel « espace client », password est le mot de passe de l’administrateur de l’« espace client » et apie est le nom de l’« espace client ».

Maintenant, admin@apie.com est le compte administrateur de l’« espace client » apie.com.

Utilisation d’un « espace client »

Suite à la création de notre nouvel « espace client » apie.com notre Alfresco contient maintenant 2 « espaces Clients » :

  1. Le premier espace par défaut
  2. Le deuxième apie.com

Connecter vous à l’explorer d’Alfresco avec le compte administrateur admin@apie.com et son mot de passe password, vous accédez à la page d’accueil du nouvel « espace client » de apie.com, voir la capture suivante :

tenant_2

Illustration 2: page d’accès à « Company home » de l »espace client » apie.com

La gestion des utilisateurs, des espaces, la sécurité, les scripts, les règles métier et les recherches sont spécifiques à l’« espace client » apie.com.

L’administrateur (admin@apie.com) peut créer les utilisateurs, qui auront un accès local à ce site « espace client ». Les utilisateurs créés pour cet « espace client » doivent se connecter avec le nom de domaine apie.com. Par exemple, si l’ID utilisateur est user1, alors l’utilisateur doit se connecter avec le login user1@apie.com.

De même, les dossiers et les contenus créés ne pourront être consultés et recherchés uniquement par les utilisateurs de l’« espace client ».

Le comportement vis à vis des « espaces clients » est identique pour l’ensemble des interfaces tels que : CIFS, FTP, WebDAV. Quelques soient l’interfaces la connexion via un compte id@apie.com aura accès uniquement à l’« espace client » apie.com.

Voir la capture d’écran ci-dessous d’une connexion webdav :

tenant_3

Illustration 3: Connexion webdav sur l’espace client apie.com

Gestion des « espaces clients »

En tant que super administrateur, vous pouvez activer ou désactiver les « espaces clients », de même, vous pouvez exporter ou importer les données des « espaces clients », vous pouvez effectuer d’autres tâches administratives, telles que changer le mot de passe administrateur de l’« espace client », gérer les utilisateurs, les groupes ou les sous-groupes.

Le tableau suivant liste plusieurs commandes importantes qui sont utiliser pour la gestion des « espaces clients ».

Commande

Description

Help Liste toutes les commandes
Show tenants Liste tous les tenants et affiche les détails
Create <tenant domain> <tenant admin password> [<root contentstore dir>] Création d’un tenant, avec un administrateur nommé admin@<tenant domain> avec un mot de passe fourni. La racine du dossier contentstore peut éventuellement être défini.
ChangeAdminPassword <tenant domain> <new password> Utile si l’administrateur du tenant à oublié son mot de passe.
enable <tenant domain> Activer le tenant
disable <tenant domain> Désactiver le tenant
delete <tenant domain> Supprimer le tenant. Il est demander de redémarrer le serveur pour la suppression des index. Le dossier des index du tenant devra être supprimé à la main.
export <tenant domain> <destination directory> Exportation du tenant dans le dossier directory donné. Le fichier d’exportation sera prefixé par <tenant domain>_.
import <tenant domain> <destination directory> Création d’un tenant pas importation des fichiers « tenant » à partir du dossier source donné. Le fichier d’importation doivent d’petre préfixé par <tenant domain>_.

Exportation et importation des données d’un « espace client »

Dans le cadre d’une activité de maintenance, vous pouriez avoir besoin de faire une exportation de données spécifiques d’un « espace client ».

Par exemple, la commande suivante exécutée à partir de la console d’administration des « espace client » pour exporter la totalité de l’« espace client » apie.com dans le répertoire /opt/ sera

export apie.com /opt/

Vous noterez que les fichiers générés lors de l’exportation sont tous préfixé avec le domaine de l’« espace client ».

  • apie.com_models.acp
  • apie.com_spaces.acp
  • apie.com_spaces_archive.acp
  • apie.com_system.acp
  • apie.com_users.acp
  • apie.com_versions2.acp

De façon identique, vous pouvez recréer un « espace client » par importation des fichiers à partir d’une source donnée.

La syntaxe pour l’importation sera la suivante :

import apie.com /opt/exportdir/

Remarques sur le multi-tenant

La liste suivante sont les technologies qui ne sont aujourd’hui par supportées / implémentées / testées dans la mise en place d’un « espace client » (multi-tenant).

  • WCM / Web Studio
  • LDAP, NTLM and authentication methods other than « alfresco »
  • Inbound Email
  • Content Replication
  • IMAP
  • SPP / VTI (SharePoint Protocol)

Le CIFS est à valider.

Test du multi-tenant

Les tests du multi-tenant ont été effectués sur une machine linux mandriva 201.1 avec Alfresco Community version 3.3g (installation de base) et une base de donnée Postgresql version 8.4.4.

Compatibilité Share

Le multi-tenancy gère aussi bien l’interface Alfresco DM que l’interface SHARE.

Des tests fonctionnels sous SHARE sont nécessaires pour une complète validation fonctionnelle.

Références

Ce document se base sur la documentation anglaise du wiki d’Alfresco et du livre en anglais « Alfresco3 ECM Implementation » disponibles au Édition PackT Publishing, ainsi que des différents tests effectués à partir d’Alfresco Community version 3.3g.

4 commentaires

  1. Pascal Robert : Bonjour, non je n’ai pas testé sur cette nouvelle version, à voir …

    Truly-online : Merci de votre intérêt

  2. Pascal Robert dit :

    Quelqu’un a essayé avec Alfresco 3.4? Le fichier mt-context.xml.sample est manquant dans cette distribution :-(

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.