Documents:Creation layouts etablissements
Un article de Wiki ESCO-Portail.
Principe
Chaque établissement devra pouvoir offrir les canaux prédéfinis qu'il souhaite. De ce fait nous avons besoin de créer un layout spécifique à chaque établissement pour lequel un administrateur local (dans l'établissement) administrera le contenu.
Or, nous ne voulons pas permettre l'accès à la connexion locale pour des raisons évidentes de sécurité. Nous voulons passer par CAS.
Fonctionnement des connexions au portail (succin)
uPortal "sépare" le référencement des utilisateurs locaux (table up_person_dir) des utilisateurs qui se connectent au portail (table up_user dans laquelle il y a le USER_ID associé à l'environnement de l'utilisateur, donc au layout dont il est propriétaire).
Quand un utilisateur se connecte en local, le portail fait le lien entre le USER_NAME de la table up_person_dir et le USER_NAME de la table up_user.
Quand un utilisateur se connecte via CAS, le portail fait le lien entre l'uid de cet utilisateur et le USER_NAME de la table up_user.
Dès lors, on pouvait imaginer une connexion CAS pour un utilisateur propriétaire d'un layout déjà présent dans la table up_user...
Mise en place d'un nouveau layout, avec son utilisateur associé
Procédure qui semble fonctionner :
- on crée un utilisateur etab-lo dans l'annuaire LDAP, sous la branche people, avec uid=etab-lo;
- un fragment est ajouté dans le fichier custom/uPortal/properties/dlm.xml avec ownerID='etab-lo' ;
- ant init ; ant deploy (classique ;-));
- prise en compte du nouveau fichier dlm.xml (soit on attend son rechargement, soit on relance le portail) ;
- on accède au portail via un navigateur (l'arrêt/relance du portail ne suffit pas, voir plus bas) ;
- on place l'utilisateur etab-lo dans le ou les groupes qui vont bien pour qu'il puisse voir les canaux nécessaires ;
- on modifie le layout soit via connexion CAS au portail ou via ant layout.import ;
- pour des questions de visibilité, on affecte à l'utilisateur etab-lo le skin de l'établissement;
- lors du rechargement du dlm.xml, les utilisateurs ont accès au layout formé.
Explication concernant "on accède au portail via un navigateur" :
Le fichier dlm.xml n'est pas lu au rechargement du portail (stop/start), mais quand un utilisateur (guest en loccurence) accède au portail. Notre utilisateur etab-lo est créé dans la table up_user à ce moment là, on peut alors lancer un ant layout.import -Dusername=etab-lo...
En extrapolant, on peut imaginer que tous les utilisateurs internes au portail puissent se connecter avec CAS dès lors que leur uid est égal au USER_ID de la table up_user. On a alors plus besoin d'accès local (y compris pour admin si on le souhaite...).

