La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Formation à l'installation et à la configuration de

Présentations similaires


Présentation au sujet: "Formation à l'installation et à la configuration de"— Transcription de la présentation:

1 Formation à l'installation et à la configuration de
ESUP-Portail 23-24 juin 2008

2 Présentation ESUP-Portail Pré requis formation Introduction
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis formation Introduction Architecture interne du portail Architecture globale Particularités uPortal

3 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Java SGBD / LDAP ANT

4 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Esupdev – Esup Différences entre les deux packages Architecture Esupdev Architecture Esup Fichiers de propriétés Tâches ANT

5 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Onglets Colonnes Canaux Barre d'outils

6 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Préférences Activation Création d'onglets / de colonnes Ajout de canaux Choix d'un Présentation

7 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Préférences Authentification Interne CAS

8 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Préférences Authentification CAS Fonctionnement standard Fonctionnement proxy Packages Certificats Architectures de production Architecture de développement

9 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Préférences Authentification CAS Groupes Gestionnaires CompositeGroupService Groupes locaux Attributs de personne Groupes LDAP Groupes PAGS

10 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Préférences Authentification CAS Groupes Canaux Canal de publication Publication manuelle

11 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Préférences Authentification CAS Groupes Canaux Environnement Principe Définition des fragments Publication

12 Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Plan Présentation ESUP-Portail Pré requis à l'installation de ESUP-Portail Packages ESUP-Portail Interface Préférences Authentification CAS Groupes Canaux Environnement Présentation Structure et thèmes Habillage

13 Tomcat et son fonctionnement XML
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Pré requis à la formation Java en général Tomcat et son fonctionnement XML SGBD LDAP ANT Pré requis indispensables : Installation d'un JDK Installation de Tomcat / paramétrage Notions sur la structure d'un fichier XML et sur la façon de le lire / écrire Installation / Administration d'un SGBD (MySQL de préférence) Notions sur l'utilité, la structure d'un annuaire LDAP Notions supplémentaires : Installation / Configuration / Utilisation de ANT

14 Produit développé par le consortium ESUP-Portail :
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Introduction Produit développé par le consortium ESUP-Portail : Université de Valenciennes (coordinateur) Universités de Nancy 2, Nancy 1, Rennes 1, Toulouse 3 (développement + déploiement) Dans un premier temps, 10 Universités de déploiement Aujourd'hui, près de 50 Universités ont fait le choix de ESUP Utilisation d'un socle technologique existant : uPortal Produit collaboratif libre développé par JASIG Réalisé entièrement en Java Permet le développement de briques applicatives Présentation de ESUP-Portail Qu'est-ce que c'est ? A quoi ça sert ? Comment ça marche ?

15 Gestionnaire de groupes / utilisateurs
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Architecture interne uPortal Framework Gestionnaire de groupes / utilisateurs Service de données Moteur XSLT Canal Structure interne du portail : Contexte Tomcat Un moteur d'exécution d'applications (en anglais channels, en français canaux) Des gestionnaires de services : Gestionnaire de groupes / utilisateurs (GroupManager) Service d'accès aux données du portail (RDBMServices) Moteur de rendu graphique XSLT Interactions entre tous ces composants et avec des composants externes

16 Apache Tomcat CAS Apache Tomcat uPortal 3 1 4 2 4 LDAP SGBD
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Architecture globale Apache Tomcat CAS Apache Tomcat uPortal 3 1 4 2 4 Interactions du portail avec le SI uPortal  contexte Tomcat avec éventuellement Apache en frontal CAS  contexte Tomcat avec éventuellement Apache en frontal LDAP de l'établissement (Supann) SGBD transactionnel (MySQL, PostrgreSQL, Oracle …) uPortal  CAS authentification utilisateur CAS  LDAP authentification utilisateur CAS  uPortal authentification utilisateur uPortal  LDAP attributs utilisateur  gestion de groupes uPortal  SGBD fonctionnement interne LDAP SGBD

17 Support pour différents SGBD (transactionnels)
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Particularités uPortal Support pour différents SGBD (transactionnels) Accès au SGBD en direct (JDBC) ou par pool (Tomcat) Support pour différents mécanismes d'authentification Comptes utilisateurs uPortal et auto création des comptes Attributs utilisateur uPortal et mapping vers d'autres sources Groupes uPortal et permissions Canaux et Portlets Fonctionnalités proposées par uPortal Connectivité à un SGBD  utilisation d'un pool fortement recommandée (performances) Gestion utilisateurs Utilisateurs propres  attributs dans la base de données Utilisateurs LDAP  attributs récupérés à la connexion dans l'annuaire Authentification Interne LDAP CAS Restrictions apportées par ESUP-Portail : LDAP pour la gestion utilisateurs CAS pour l'authentification Applications s'exécutant sous deux formes : Canaux : format spécifique uPortal, natif dans les versions 2.x Portlets : spécification JSR168 potentiellement exécutable dans n'importe quel portail implémentant cette spécification. Pour l'instant l'exécution est réalisée au travers d'un adapteur mais ce sera probablement le format natif de la version 3.x

18 Annuaire LDAP compatible Supann SGBD transactionnel
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Liste Annuaire LDAP compatible Supann SGBD transactionnel MySQL (InnoDB, BDB) PostgreSQL Oracle Installation du JDK Installation de ANT Serveur CAS opérationnel Politique de certification Pré requis technologiques pour ESUP-Portail : Annuaire LDAP compatible Supann  une totale compatibilité n'est pas obligatoire. Les spécificités locales de l'annuaire peuvent être prises en compte sans problème SGBD Transactionnel (MySQL (InnoDB, BDB), PostgreSQL, Oracle) Serveur CAS fonctionnel Politique de certification (développé plus loin)

19 Équivalent de l'outil 'make' disponible sous Linux / UNIX
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences ANT Équivalent de l'outil 'make' disponible sous Linux / UNIX Écris en Java  multi plateformes Utilise un mécanisme de tâches (targets) interdépendantes Nombreuses fonctionnalités implémentées (structures de contrôle, expression régulières etc.) Possibilité de développer de nouvelles fonctionnalités (classes Java) S'appuie sur un fichier de configuration XML (build.xml) Utilisation de fichiers de propriétés pour le paramétrage Présentation de ANT

20 Un seul fichier de configuration Ajout de librairies
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Apports par rapport à uPortal Un seul fichier de configuration Ajout de librairies Ajout de CAS comme méthode d'authentification Environnement ESUP SGBD nettoyé Groupes préconstruits 'Présentation' ESUP 2 packages partageant le même jeu de propriétés et de directives ANT Amélioration apportées par ESUP en comparaison de uPortal

21 esupdev esup Prise en main et développement uPortal + surcouche ESUP
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Différences entre les deux packages esupdev esup Prise en main et développement uPortal + surcouche ESUP Windows / Linux / UNIX Grand jeu de propriétés Environnement ESUP Intègre uPortal, ANT, HSQL (SGBD) et Tomcat Authentification au choix (CAS, LDAP, BDD) Évolution rapide suivant les mise à jour uPortal Production uPortal + surcouche ESUP Linux / UNIX Pas de propriétés pour Tomcat Environnement ESUP Intègre uniquement uPortal Authentification CAS de préférence Évolution plus lente Comparatif entre les deux packages

22 Contributions externes Personnalisations Etablissement
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Architecture esupdev-2.6-esup-2.0.2 contribs custom uPortal Tomcat logs packages Portail Ant-X.X.X Hsqldb-X.X.X.X Tomcat-X.X.X uPortal_rel-X.X.X webapps resources tmp update Contributions externes Personnalisations Etablissement logs du portail packages téléchargés Distribution ANT Distribution HSQL Distribution Tomcat Distribution uPortal Déploiement Esup Fichiers nécessaires au fonctionnement Répertoire temporaire du package Personnalisations Esup Structure physique du package esupdev

23 Contributions externes Personnalisations Etablissement
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Architecture esup-2.6-esup-2.0.2 contribs custom uPortal Tomcat logs packages Portail uPortal_rel-X.X.X webapps resources tmp update Contributions externes Personnalisations Etablissement logs du portail packages téléchargés Distribution uPortal Déploiement Esup Fichiers nécessaires au fonctionnement Répertoire temporaire du package Personnalisations Esup Structure physique du package esupdev

24 Configuration du déploiement du package config.properties
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Fichiers de propriétés build.properties Configuration du déploiement du package config.properties Configuration du portail Esup custom.properties (facultatif) Configuration « incrémentale » Fichiers de propriétés default.*.properties : valeurs par défaut à ne jamais modifier esup*.properties : jeu de propriétés complet, à modifier et à paramétrer perso.properties : uniquement pour esupdev, permet de ne redéfini que quelques options Les propriétés par défaut ne sont pas les mêmes suivant le package Le package esup présente un jeu de propriétés beaucoup plus réduit que le package esupdev (choix technologiques)

25 Toutes les tâches ANT sont à exécuter depuis la racine du package
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Tâches ANT Toutes les tâches ANT sont à exécuter depuis la racine du package getcomponents : Télécharge les packages tiers (uPortal, Ant, HSQL, Tomcat) unzip : Décompresse les packages tiers init : copie scripts -> racine copie resources/drivers -> Portail/uPortal_rel-X.X.X/lib/container-common copie update/uPortal -> Portail/uPortal_rel-X.X.X copie custom/uPortal -> Portail/uPortal_rel-X.X.X met à jour les fichiers de propriétés de uPortal, met à jour les fichiers de propriétés de Tomcat (ESUPDEV uniquement) Tâches ANT

26 Toutes les tâches ANT sont à exécuter depuis la racine du package
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Tâches ANT Toutes les tâches ANT sont à exécuter depuis la racine du package dbtest : teste la connectivité à la base de données db.init : initialise la base de données (crée les tables, insert les enregistrement nécessaires pour démarrer un portail, à n'utiliser que lors de la première installation) et publie les canaux et layouts deploy : compile et déploie uPortal dans le répertoire de production (le répertoire pointé par le contexte Tomcat). A utiliser systématiquement après l'appel à init Tâches ANT

27 Classification des contenus
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Canaux Classification des contenus Onglets Sous-menus Colonnes Canaux Pas besoin de commentaires ! Onglets : Catégories de contenus

28 Classification des contenus
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Canaux Classification des contenus Onglets Sous-menus Colonnes Canaux Sous-menus : Affichage d’un contenu dans la catégorie Pas besoin de commentaires !

29 Classification des contenus
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Canaux Classification des contenus Onglets Sous-onglets Colonnes Canaux Colonnes : mise en forme des contenus Pas besoin de commentaires !

30 Classification des contenus
Formation ESUP-Portail – juin 2008 Introduction ESUP-Portail Pré Requis Packages Interface Préférences Canaux Classification des contenus Onglets Sous-onglets Colonnes Canaux Canaux : éléments portant le contenu informatif Pas besoin de commentaires !

31 Formation ESUP-Portail – 23-24 juin 2008
Introduction ESUP-Portail Pré Requis Packages Interface Préférences Barre d'outils, onglets, sous-menus Pas besoin de commentaires !

32 Formation ESUP-Portail – 23-24 juin 2008
Introduction ESUP-Portail Pré Requis Packages Interface Préférences Création, déplacement, suppression d’onglets Pas besoin de commentaires !

33 Formation ESUP-Portail – 23-24 juin 2008
Introduction ESUP-Portail Pré Requis Packages Interface Préférences Ajout de canaux Pas besoin de commentaires !

34 Formation ESUP-Portail – 23-24 juin 2008
Introduction ESUP-Portail Pré Requis Packages Interface Préférences Ajout de colonnes Pas besoin de commentaires !

35 Formation ESUP-Portail – 23-24 juin 2008
Introduction ESUP-Portail Pré Requis Packages Interface Préférences Choix d’un Présentation Pas besoin de commentaires !

36 Formation ESUP-Portail – 23-24 juin 2008
Introduction ESUP-Portail Pré Requis Packages Interface Préférences Menu préférences Pas besoin de commentaires !

37 Authentification de base proposée par uPortal
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Interne Authentification de base proposée par uPortal L'identifiant et le mot de passe sont stockés dans la base de données interne du portail Lors de la phase d'authentification, ils transitent en clair sur le réseau à moins que le portail ne fonctionne en HTTPS Le mot de passe est stocké sous la forme d'un hachage MD5 Création d'un utilisateur, modification d'un mot de passe existant : ant user.add –Dusername=toto A utiliser surtout pour changer le mot de passe des comptes par défaut (admin, demo) Authentification interne uPortal

38 Mécanisme de SSO (Single Sign On)
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation CAS Mécanisme de SSO (Single Sign On) appli n°3 appli n°2 appli n°1 service appli n°3 appli n°2 appli n°1 service navigateur navigateur Sans CAS : Toutes les applications sécurisées doivent implémenter un mécanisme d'authentification Chaque application a connaissance du mot de passe de l'utilisateur L'utilisateur s'authentifie un nombre impressionnant de fois par jour Chaque application doit être sécurisée (HTTPS) Avec CAS : Une seule application a la charge d'authentifier les utilisateurs Chaque application sécurisée délègue au serveur CAS l'authentification des utilisateurs Seul le serveur CAS a connaissance des mots des passe Seul le serveur CAS doit être sécurisé (HTTPS) SSO

39 CAS Portail Navigateur Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Fonctionnement standard CAS Portail HTTPS Formulaire d'authentification Authentification d'un utilisateur lors de sa première connexion au portail Redirection en HTTPS vers le serveur CAS Envoi du formulaire d'authentification Navigateur

40 CAS Portail Navigateur Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Fonctionnement standard CAS Portail ID ST ST TGC Login + password Authentification d'un utilisateur lors de sa première connexion au portail Envoi du couple identifiant / mot de passe au serveur CAS (toujours en HTTPS) Redirection vers le portail Écriture d'un cookie opaque dans le navigateur (Ticket Granting Credential) Envoi d'un ticket à durée de vie brève jouable une seule fois (Service Ticket) Validation auprès du serveur CAS du ST Envoi au portail de l'identifiant de l'utilisateur Page servie au navigateur de l'utilisateur Navigateur TGC

41 CAS Webmail Navigateur Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Fonctionnement standard CAS Webmail ID ST TGC ST Authentification d'un utilisateur déjà authentifié CAS Redirection en HTTPS auprès du serveur CAS qui lit le cookie TGC Génération d'un nouveau ST qui est transmis au webmail Validation du ST auprès du serveur CAS Page servie au navigateur  A noter toutes les étapes sont transparentes pour l'utilisateur qui n'a rien vu de cette chaîne de redirections Navigateur TGC

42 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Fonctionnement proxy CAS Application ST ID PGT Portail proxy ST PGT Fonctionnement en mode 'Mandataire' ou 'Proxy' – Accès au portail L'utilisateur s'est authentifié auprès du serveur CAS qui lui a donné un PGT ainsi qu'un ST Validation du ST auprès du serveur CAS qui retourne l'identifiant de l'utilisateur et écrit un PGT (Proxy Granting Ticket) sous la forme d'un cookie opaque en HTTPS Page servie au navigateur Navigateur TGC

43 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Fonctionnement proxy ID CAS Application PT PT PT PGT Portail proxy PGT Fonctionnement en mode 'Mandataire' ou 'Proxy' – Accès à une application qui nécessite une authentification au travers du portail Envoi du ST au portail Récupération d'un PT (Proxy Ticket) auprès du serveur CAS sur présentation du PGT Envoi du PT à l'application tiers Validation du PT par l'application tiers auprès du serveur CAS qui indique en retour l'identifiant de l'utilisateur Données de l'application tiers servies au portail Page servie au navigateur de l'utilisateur Navigateur TGC

44 Projet développé par l'Université de Yale
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Packages Projet développé par l'Université de Yale CAS toolbox est un outil permettant de simplifier et de personnaliser le déploiement d’un serveur CAS Documentation : Téléchargement : https://sourcesup.cru.fr/projects/cas-toolbox/ Installation d'un serveur CAS

45 Machine Virtuelle Java
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Certificats Serveur HTTPS Navigateur Problème de la confiance A l'aide d'un navigateur Web, un utilisateur accède à un serveur HTTPS. Si le navigateur ne reconnaît pas le certificat de celui-ci comme digne de confiance, il affiche un avertissement. L'utilisateur a alors la possibilité de continuer de naviguer (de faire confiance) et même d'installer le certificat dans le magasin du navigateur de façon à ne plus être averti la fois suivante. La bonne procédure consisterait à récupérer le certificat d'une autre façon et de l'ajouter au magasin avant d'accéder au site. Une application Java accède maintenant à un contenu sur un serveur HTTPS. La machine virtuelle intercepte le certificat et le compare à ceux dignes de confiance stockés dans son magasin. Si le certificat n'est pas digne de confiance, il est rejeté et la connexion échoue. La seule solution consiste à ajouter manuellement le certificat au magasin de la JVM. Application Serveur HTTPS Machine Virtuelle Java

46 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Certificats confiance Tomcat / CAS HTTPS Tomcat / ESUP HTTP HTTPS Certificats auto-signés Confiance bilatérale Complication si utilisation d'une ferme de serveurs Les certificats serveurs périment tous les ans  maintenance compliquée

47 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Certificats Tomcat / CAS HTTPS Tomcat / ESUP HTTP HTTPS Utilisation d'une IGC Chaque serveur fait confiance à l'autorité racine Simplification (même configuration sur chaque poste) Un certificat d'autorité racine périme tous les 10 ou 15 ans  Le CRU propose une politique de certification pour les universités Autorité de certification ex : CRU

48 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Architecture Tomcat AJP13 Tomcat HTTPS esupportail1.univ.fr cas.univ.fr HTTPS esupportail2.univ.fr Architecture à Load Balancer Soft (mod_jk2) Un Apache HTTP / HTTPS / mod_proxy_ajp en frontal Plusieurs Tomcat / APJ13 (serveurs ESUP) Le serveur CAS attaque le frontal qui se charge de communiquer avec la bonne instance de serveur Exemple de config pour mod_proxy_ajp : LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so # ent.univ-rennes1.fr <VirtualHost :80> ServerName ent.univ-rennes1.fr VirtualDocumentRoot /data/htdocs/ent.univ-rennes1.fr # Balancing ProxyPass /balancer-manager ! ProxyPass / balancer://mycluster/ stickysession=JSESSIONID <Proxy balancer://mycluster> BalancerMember ajp://jent1.univ-rennes1.fr:9554 min=0 max=100 smax=50 ttl=10 route=ent1 timeout=60 loadfactor=100 BalancerMember ajp://jent2.univ-rennes1.fr:9554 min=0 max=100 smax=50 ttl=10 route=ent2 timeout=60 loadfactor=100 BalancerMember ajp://jent3.univ-rennes1.fr:9554 min=0 max=100 smax=50 ttl=10 route=ent3 timeout=60 loadfactor=100 BalancerMember ajp://jent4.univ-rennes1.fr:9554 min=0 max=100 smax=50 ttl=10 route=ent4 timeout=60 loadfactor=100 BalancerMember ajp://jent5.univ-rennes1.fr:9554 min=0 max=100 smax=50 ttl=10 route=ent5 timeout=60 loadfactor=1 </Proxy> ErrorDocument 503 "ENT indisponible. Redémarrage dès que possible." </VirtualHost> AJP13 esupportail3.univ.fr Apache HTTP+S mod_proxy_ajp esupportail.univ.fr esupportail4.univ.fr

49 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Architecture Tomcat HTTPS Tomcat AJP13 Apache esupportail1.univ.fr cas.univ.fr Apache HTTPS esupportail2.univ.fr Apache Load Balancer Architecture à Load Balancer Hard Le Load Balancer en frontal (ce n'est pas une machine) : au moment de la première connexion d'un utilisateur, il lui attribue une machine réelle et maintient cette attribution tout au long de la session utilisateur Plusieurs machines ESUP : pour chacune un Apache HTTP / HTTPS / mod_jk2 en frontal (pour délivrer le contenu statique) et un Tomcat APJ13 pour le contenu dynamique Le serveur CAS attaque directement chacun des serveurs ESUP en HTTPS (transformé en apj13 après avoir traversé le frontal Apache) HTTP esupportail3.univ.fr esupportail.univ.fr Apache esupportail4.univ.fr

50 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Architecture Tomcat AJP13 Tomcat AJP13 devel1.univ.fr esupdev.univ.fr/pierre cas.univ.fr (esupdev.univ.fr/cas) Tomcat AJP13 devel2.univ.fr esupdev.univ.fr/paul Tomcat AJP13 Architecture de développement : Les portails de développement fonctionnent sur les machines propres des développeurs. Une machine sert de frontal, elle fonctionne avec Apache + mod_ssl (HTTPS) + mod_proxy_ajp (AJP13) Une discrimination sur les URI au niveau du frontal permet de séparer les différents serveurs. cf : fichier de config mod_jk fourni en TP Apache mod_ssl mod_proxy_ajp devel1.univ.fr esupdev.univ.fr/jacques esupdev.univ.fr

51 Les groupes peuvent être statiques ou dynamiques
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Gestionnaire de groupes uPortal permet de brancher plusieurs types (services) de gestion de groupes. Les groupes peuvent être statiques ou dynamiques On peut utiliser plusieurs services de groupes en même temps dans le portail PersonDirectory.xml Fonctionnement des groupes uPortal uPortal utilise des groupes pour son fonctionnement (autorisation de vision de canaux), groupes de personnes, etc. Le but de ce document est de montrer comment uPortal fonctionne dans ce domaine. Les différents composants pour les groupes Le fonctionnement des groupes uPortal se base sur plusieurs choses (et fichiers de configuration) : Gestion de "Composite Group Services" : uPortal permet de brancher plusieurs types (services) de gestion de groupe. Il existe un fichier de configuration "uPortal_rel-2-X-X\properties\groups\compositeGroupServices.xml" ce fichier permet de spécifier les services de groupe qui seront disponibles dans le portail. Par défaut uPortal intègre 'services de gestion de groupe : local : C'est le service "natif" de uPortal, il se base sur la base de données pour former les groupes et leurs membres. ldap : Ce service fournit des groupes issues de ldap, ces groupes sont constitués au démarrage du portail. Ce service se base sur des requêtes LDAP afin de constituer dynamiquement ces groupes. Ces groupes sont aussi remplis au démarrage du portail (NB : L'utilisation de ce type de groupe est déconseillé pour des groupes avec beaucoup de membres). pags : Ce service se base sur les attributs de personnes uPortal. Ces attributs pouvant être issue de LDAP ou d'une autres sources (BDD). filesystem : Ce service utilise la structure du filesystem afin de composer des groupes. Voila le schéma expliquant l'interaction de ces différents composants : On peut utiliser plusieurs services de groupe en même temps dans le portail. Détails des composants CompositeGroupServices Service local Service pags Service ldap Service filesystem (ne sera pas traité pour l'instant)  Visibilité des groupes Par défaut les groupes "dynamiques" ne sont pas visibles dans le canal "Group Manager". En réalité ils ne sont attachés à aucun endroit de la hiérarchie de groupe par défaut (groupes issue de "local"). Pour les attacher dans la hiérarchie vous devez utiliser le canal "Group Manager" Lancer un recherche sur les groupes en donnant un critère de recherche (ex : ldap) Une fois votre résultat obtenu Sélectionner le groupe ou vous voulez ajouter vos groupe dynamique (ex : "Tous les groupes de personne") Cliquer sur le cadenas en haut à droite afin de dévérouiller le groupe Cliquer sur "Ajouter membres" Cliquer sur le résultat de votre recherche précédente "Search Results" Sélectionner le groupe que vous souhaité ajouter Cliquer sur "Sélectionner les éléments cochés" Cliquer sur "Continuer avec la sélection" Recliquer sur le cadenas afin de verouiller le groupe

52 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation CompositeGroupServices CompositeGroupServices.xml permet de définir quelle gestion(s) de groupes va être utilisée. Une partie de gestion globale : les service par défaut, la classe chargée de la gestion, le séparateur La liste des services CompositeGroupService La partie CompositeGroupService permet de définir quelle gestion(s) de groupe va être utilisé par le portail. Cette partie se base sur le fichier de configuration uPortal_rel-2-X-X\properties\groups\compositeGroupServices.xml. Ce fichier est composé de deux parties : Une partie configuration globale des services. Une liste de services <service> ... </service> La partie configuration globale <servicelist defaultService="local" compositeFactory="org.jasig.portal.groups.ReferenceCompositeGroupServiceFactory" nodeSeparator="."> Elle définit : defaultService : service utilisé par défaut dans le portail. Toute commande de création de groupe qui ne spécifie pas de service sera passé au service par défaut. nodeSeparator : séparateur utilisé lors de la création des clé représentant des sous groupes (ex local.14) La Liste de service Un service de groupe est définit comme suit : <service> <name>local</name> <service_factory>org.jasig.portal.groups.ReferenceIndividualGroupServiceFactory</service_factory> <entity_store_factory>org.jasig.portal.groups.ReferenceEntityStoreFactory</entity_store_factory> <group_store_factory>org.jasig.portal.groups.ReferenceEntityGroupStoreFactory</group_store_factory> <entity_searcher_factory>org.jasig.portal.groups.ReferenceEntitySearcherFactory</entity_searcher_factory> <internally_managed>true</internally_managed> <caching_enabled>true</caching_enabled> </service> Vous pouvez donc ajouter votre propre gestion de groupe si vous le désirez, pour ce faire vous pouvez vous reporter à cette page. Identifiant d'un groupe Dans le portail les groupes ont besoin d'un identifiant unique. L'identifiant d'un groupe est constitué d'un préfixe (name) : local par exemple D'un séparateur (nodeSeparator) : . par exemple La clé du groupe (dépend du service) : 14 par exmple pour un groupe local. Voici quelques exemples : local : local.14 ldap : ldap.grtest pags : pags.tousetud Vous pouvez voir que la clé du groupe (14, grtest, ...) n'est pas forcément numérique.

53 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Groupes locaux La gestion des groupes locaux (stockés dans la base de donnée) ne peut se faire qu’à travers le group manager du portail. On peut créer des groupes, ajouter ou supprimer des membres et gérer des permissions. Ce service va utiliser la base de données uPortal afin de gérer les groupes. C'est le service "natif" de uPortal et aussi le service par défaut. Pour sont fonctionnement il utilise soit : Le fichier uPortal_rel-2-X-X\properties\rdbm.properties si vous n'utilisez pas de pool de connexion Tomcat (ou autre) Le pool de connexion Tomcat si vous avez configuré le fichier uPortal_rel-2-X-X\properties\portal.properties avec : org.jasig.portal.RDBMServices.getDatasourceFromJndi=true Les tables de la base de données sont les suivantes : UP_USER : définition des utilisateurs UP_GROUP : définition des groupes GROUP_MEMBERSHIP : lien entre un groupe et ces membres

54 Des sources de données (BDD, LDAP, ..)
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Les attributs uPortal de personne > Le fichier PersonDirectory.xml Récupérer les attributs de l'utilisateur grâce au fichier uPortal_rel-2-X-X\properties\personDirectory.xml qui définit Des sources de données (BDD, LDAP, ..) Des mapping entre le nom d'un attribut de la source de données (résultat de la requête SQL ou LDAP) et le nom d'un attribut qui sera utilisé dans uPortal. Dans les groupes LDAP comme dans les groupes PAGS il faut un mapping : Attribut uPortal  attribut LDAP Que sont les attributs uPortal de personne ? Lors de la connexion d'un utilisateur uPortal va chercher a récupérer les attributs de l'utilisateur, pour ce faire il utilise le fichier uPortal_rel-2-X-X\properties\PersonDirs.xml qui définit : Des sources de données (BDD, LDAP, ..) Des mapping entre le nom d'un attribut de la source de données (résultat de la requête SQL ou LDAP) et le nom d'un attribut qui sera utilisé dans uPortal. Exemple de mapping : <attribute> <name>FIRST_NAME</name> <alias>displayName</alias> </attribute> FIRST_NAME : nom de l'attribut dans la source de données (BDD SQL) displayName : nom de l'attribut utilisable dans uPortal. C'est donc sur les attributs uPortal de personne que le PAGS va constituer les groupes. NB : Il vous possible d'ajouter vos attributs de personnes dans le fichier de mapping (selon votre source de données)

55 Les groupes LDAP sont paramétrés dans LDAPGroupStoreConfig.xml
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Groupes LDAP Les groupes LDAP sont paramétrés dans LDAPGroupStoreConfig.xml une partie contient la configuration du LDAP : host, login … la configuration des groupes Service de groupe "ldap" Ce service se base sur LDAP afin de construire des groupes et les membres de ces groupes. Il utilise le fichier de configuration suivant : uPortal_rel-2-X-X\properties\groups\LDAPGroupStoreConfig.xml Une remarque sur ce type de groupe : Ce service se base sur des requêtes LDAP afin d'enrichir les membres des groupes. Tous les groupes sont chargé au démarrage du portail et rafraichit périodiquement. Ce type de groupe n'est pas fait pour contenir un grand nombre d'utilisateurs. Nous en déconseillons l'utilisation dans esup-portail ; il est préférable d'utiliser le gestionnaire de groupes PAGS. Fichier de configuration Ce fichier comporte deux parties : La partie configuration LDAP La partie configuration des groupes. La première partie : <config> <url>ldap://ldap.univ:389/dc=univ,dc=fr</url> <logonid></logonid> <logonpassword></logonpassword> <keyfield>uid</keyfield> <namefield>displayname</namefield> <usercontext>ou=people</usercontext> <refresh-minutes>120</refresh-minutes> </config> Cette partie permet de saisir les informations de connexion à LDAP : url : URL de connexion LDAP logonid : nom d'un utilisateur pour la connexion (pas obligatoire) logonpassword : mot de passe d'un utilisateur pour la connexion (pas obligatoire) keyfield : nom de l'attribut LDAP représentant l'identifiant des utilisateurs namefield : nom de l'attribut LDAP représentant le nom des utilisateurs usercontext : branche LDAP où chercher les utilisateurs refresh-minutes : temps au bout duquel la liste des membres des groupes va être rafraîchie La second partie : Cette partie définit les groupes. Chaque groupe est définit par : Un nom Un identifiant (numérique ou non) Une description Un entity-set permettant de définir le filtre LDAP pour obtenir les membres du groupe. <group name="Etudiant" key="etud"> <description>Tout les etudiants</description> <entity-set> <filter string="eduPersonAffiliation=student"/> </entity-set> </group> Il faut savoir que dans ce service un groupe peut contenir des groupes ; dans ce cas il n'aura pas d'entity-set : <group name="Tous le personnel" key = "pers"> <description>Tous le personnel</description> <group name="faculty" key="faculty"> <description>faculty</description> <entity-set> <filter string="eduPersonAffiliation=faculty"/> </entity-set> </group> <group name="staff" key="staff"> <description>staff</description> <entity-set> <filter string="eduPersonAffiliation=staff"/> </entity-set> </group> .... </group> Définition de l'entity-set L'entity-set permet de définir le filtre LDAP qui va être exécuté. Celui peut être composé de plusieurs sous partie : union : (|(cn=*fracapane)(cn=*ellentuck)) : <union> <entity-set> <filter string="cn=*fracapane"/> </entity-set> <entity-set> <filter string="cn=*ellentuck"/> </entity-set> </union> intersection : (&(cn=donald f*)(cn=*frac*)) <intersection> <entity-set> <filter string="cn=donald f*"/> </entity-set> <entity-set> <filter string="cn=*frac*"/> </entity-set> </intersection> difference : fonction de ou exclusif <difference> <entity-set> <filter string="cn=donald f*"/> </entity-set> <entity-set> <filter string="cn=*frac*"/> </entity-set> </difference> subtract : (&(cn=donald f*)(!(cn=*frac*))) <subtract> <entity-set> <filter string="cn=donald f*"/> </entity-set> <entity-set> <filter string="cn=*frac*"/> </entity-set> </subtract> NB : Lors de la saisie de vos groupes dans du XML n'oublié d'encoder des caractères tels que le & => &

56 Les groupes PAGS sont paramétrés dans PAGSGroupStoreConfig.xml
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Groupes PAGS > Person Attributes Group store Les groupes PAGS sont paramétrés dans PAGSGroupStoreConfig.xml Il n’y a pas de configuration du LDAP puisque PAGS constitue les groupes sur les attributs uPortal de personne (issus du mapping). Le LDAP utilisé sera celui défini dans le fichier properties du portail. la configuration des groupes PAGS : Person Attributes Group Store Les groupes sont définit dans un fichier de configuration XML uPortal_rel-2-X-X\properties\groups\PAGSGroupStoreConfig.xml Ce service se base sur les attributs uPortal de personne afin de définir l'appartenance à une groupe. L'appartenance à un groupe est calculé, à la connexion de l'utilisateur, suivant ses attributs uPortal de personne. Par conséquent ce service est incapable de lister les membres d'un groupe. Que sont les attributs uPortal de personne ? Lors de la connexion d'un utilisateur uPortal va chercher a récupérer les attributs de l'utilisateur, pour ce faire il utilise le fichier uPortal_rel-2-X-X\properties\PersonDirs.xml qui définit : Des sources de données (BDD, LDAP, ..) Des mapping entre le nom d'un attribut de la source de données (résultat de la requête SQL ou LDAP) et le nom d'un attribut qui sera utilisé dans uPortal. Exemple de mapping : <attribute> <name>FIRST_NAME</name> <alias>displayName</alias> </attribute> FIRST_NAME : nom de l'attribut dans la source de données (BDD SQL) displayName : nom de l'attribut utilisable dans uPortal. C'est donc sur les attributs uPortal de personne que le PAGS va constituer les groupes. NB : Il vous possible d'ajouter vos attributs de personnes dans le fichier de mapping (selon votre source de données) Fichier de configuration PAGS Ce fichier définit les groupes, les attributs des membres des groupes ainsi que la hiérarchie des groupes entre eux. Exemple de définition d'un groupe <group> <group-key>TousEtud</group-key> <group-name>LDAP Tous les etudiants</group-name> <group-description>Tous les etudiants de l'etablissement</group-description> <selection-test> <test-group> <test> <attribute-name>LDAPAffiliation</attribute-name> <tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class> <test-value>student</test-value> </test> </test-group> </selection-test> </group> Ce groupe est définit par : Une clé group-key (il est a noté que la clé unique de ce groupe dans le portail est pags.TousEtud Un nom group-name Une description group-description Un ensemble de tests permettant de définir qui appartient au groupe Les tests que l'on peut effectuer Un groupe posséde un région selection-test cette region contient de 1 à n test-group et chaque test-group peut contenir de 1 à n test. La partie test doit contenir : Un attribut (uPortal) a tester La classe qui représente le type de test La valeur à appliquer lors du test Il existe plusieurs classe de type de test : IntegerEQTester : test = d'entier IntegerGETester : test >= d'entier IntegerGTTester : test > d'entier IntegerLETester : test <= d'entier IntegerLTTester : test < d'entier RegexTester : test sur une expression régulière (ATTENTION sans délimiteurs) StringEqualsIgnoreCaseTester : test = sur des chaines de caractères (Case insensitive) StringEqualsTester : test = chaines de caractères (Case sensitive) La notion de ET/OU dans les tests : La notion de ET est obtenu en mettant plusieurs test dans un test-group <test-group> <test> <attribute-name>eduPersonAffiliation</attribute-name> <tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class> <test-value>faculty</test-value> </test> <test> <attribute-name>eduPersonAffiliation</attribute-name> <tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class> <test-value>staff</test-value> </test> </test-group> eduPersonAffiliation=faculty && eduPersonAffiliation=staff La notion de OU est obtenu en mettant plusieurs test-group avec un (ou plusieurs ) test <test-group> <test> <attribute-name>eduPersonAffiliation</attribute-name> <tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class> <test-value>faculty</test-value> </test> </test-group> <test-group> <test> <attribute-name>eduPersonAffiliation</attribute-name> <tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class> <test-value>staff</test-value> </test> </test-group> eduPersonAffiliation=faculty || eduPersonAffiliation=staff La hiérachie des groupes entre eux On peut établir une dépendance entre les groupes (hiérarchie) dans ce fichier de configuration. Cela se fait en utilisant le tag <members> ... </members> dans la définition du group. Cette hiérachie s'opéré en tre les clé des groupes. <group> <group-key>TousEtud</group-key> <group-name>Tous les etudiants</group-name> <group-description>Tous les etudiants de l'etablissement</group-description> <selection-test> <test-group> <test> <attribute-name>eduPersonAffiliation</attribute-name> <tester-class>org.jasig.portal.groups.pags.testers.StringEqualsIgnoreCaseTester</tester-class> <test-value>student</test-value> </test> </test-group> </selection-test> <members> <member-key>uneformation</member-key> <member-key>uneautreformation</member-key> </members> </group> <group> <group-key>uneformation</group-key> <group-name>etudiant d'une formation</group-name> .... </group> <group> <group-key>uneautreformation</group-key> <group-name>etudiant d'une formation</group-name> .... </group> On obtient ainsi : TousEtud uneformation uneautreformation

57 Processus de mise à disposition de nouveaux contenus
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > La publication de canaux Processus de mise à disposition de nouveaux contenus extérieurs au portail : site web, fil RSS dans la structure du portail : application interne Définition des règles de restriction d’accès 2 méthodes de publication : Channel Manager Définition d’un fichier xml et utilisation de la directive pubchan, proposée par le portail Le principe consiste à mettre à disposition un canal déployé dans le portail. La publication fait correspondre une classe canal avec divers paramètres de publication : Nom logique,titre et descriptif du canal : grâce auxquels on pourra retrouver et identifier le canal. Les paramètres du canal Les contrôles : aide, descriptif,édition pour l’utilisateur. Les groupes qui ont le droits de souscrire ce canal Les catégories dans lesquels on va pouvoir retrouver le canal

58 Accessible par l’icône de la barre d’outils du portail
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Canal de publication Accessible par l’icône de la barre d’outils du portail Réservé aux membres du groupe des «Administrateurs uPortal » Channel Manager : modifier un canal créer un canal Voir et tester via uportal.

59 Type de documents d’entrée pour le portail :
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Canal de publication > Type de canal Type de documents d’entrée pour le portail : Custom : tout le contenu est créé par l’auteur du canal. Image : document de type jpg ou gif utilisé comme source Inline Frame : rendu d’un page HTML sans contrainte RSS : canal pour un fil d’informations Web Proxy : rendu d’une page XHTML Portlet : affichage d’une portlet dans un canal XML SSL : document XML transformé par une XSL choisie parmi une liste dans une SSL XML XSLT : document XML transformé par un ensemble de feuilles XSL WSRP Consumer : service WSRP A l’heure actuelle on utilise essentiellement les canaux custom et RSS. On verra cela plus en détail dans la formation développement.

60 dans le bandeau d’entête du canal Channel Name :
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Canal de publication > Paramètres globaux Channel Title : dans le bandeau d’entête du canal Channel Name : Dans le canal de souscription Channel functionnal name : Identifiant unique du canal dans le portail Channel description : Dans le mode d’édition d’un canal

61 Icônes traditionnelles de contrôle
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Canal de publication > contrôle du canal Icônes traditionnelles de contrôle Icône d’édition Modification de paramètres Icône d’aide Conseils d’utilisation du canal Icône a propos de Boîte de dialogue d’info sur le canal, son auteur

62 Quelle(s) population(s) peut(peuvent) souscrire ce nouveau canal.
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Canal de publication > Catégories et groupes Dans quelle(s) catégorie(s) se situe le nouveau canal? Et où le retrouve-t-on? Quelle(s) population(s) peut(peuvent) souscrire ce nouveau canal. Sélection Valider la sélection Affichage de la sélection (Dé)sélection des catégories Validation avec le bouton « Next » Validation de la création du canal avec le bouton «finished»

63 Définition d’un fichier xml
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Publication manuelle > La directive pubchan Définition d’un fichier xml Placement du fichier pubcanal.xml dans uPortal_DEPLOY-HOME/properties/chanpub ant uportal.pubchan -Dchannel= pubcanal.xml (pour publier tous les canaux ant uportal.pubchan –Dchannel=all) Il est également possible de publier des canal directement grâce à une directive ant qui utilise un fichier xml qui configure la publication du canal. Les paramètres et le résultat sont identiques à une publication par le portail. Attention le fichier pubchanxxx.xml doit se trouver dans les properties du déploiement du portail pour être pris en compte par la target ant.

64 Structures de contrôle
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Publication manuelle > Le fichier XML <channel-definition> <title>Le Site del'UHP</title> <name>Le Site de l'UHP</name> <fname>siteuhp</fname> <desc>Le site w3 de l'UHP</desc> <type>Inline Frame</type> <class>org.jasig.portal.channels.CInlineFrame</class> <timeout>5000</timeout> <hasedit>N</hasedit> <hashelp>N</hashelp> <hasabout>N</hasabout> <secure>N</secure> <locale>en_US</locale> <categories> <category>Entertainment</category> </categories> <groups> <group>Everyone</group> </groups> <parameters> <parameter> <name>height</name> <value>600</value> <description></description> <ovrd>N</ovrd> </parameter> <name>url</name> <value>http://www.uhp-nancy.fr</value> </parameters> </channel-definition> Paramètres globaux Structures de contrôle Catégories Groupes Exemple de fichier de publication de canal. Paramètres

65 Canal de type « custom » (MonDossierWeb)
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Exemple de déploiement Canal de type « custom » (MonDossierWeb) <?xml version="1.0" encoding="ISO "?> <!DOCTYPE channel-definition SYSTEM "channelDefinition.dtd"> <channel-definition> <title>Dossier étudiant</title> <name>Mon dossier</name> <fname>customMonDossierWeb</fname> <desc>Dossier universitaire, résultats d'examens, dates des examens et de rentrée ...</desc> <type>Custom</type> <class>org.esupportail.portal.channels.gestion.CMonDossierWeb.CMonDossierWeb</class> <timeout>10000</timeout> <hasedit>N</hasedit> <hashelp>N</hashelp> <hasabout>N</hasabout> <secure>N</secure> <locale>en_US</locale> <categories> <category>Scolarite</category> </categories> <groups> <group>UFR Etudiants (UFRETU)</group> <group>UFR Etudiants ENSCR (UFRETUECR)</group> <group>UFR Etudiants IEP (UFRETUIEP)</group> </groups> <parameters/> </channel-definition> Exemple de fichier de publication de canal.

66 Canal de type « portlet » (ori-oai-search)
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Canaux > Exemple de déploiement Canal de type « portlet » (ori-oai-search) <?xml version="1.0" encoding="ISO "?> <!DOCTYPE channel-definition SYSTEM "channelDefinition.dtd"> <channel-definition> <title>Recherche de documents</title> <name>Patrimoine numérique: recherche de documents</name> <fname>ori-oai-search</fname> <desc>Patrimoine numérique: recherche de documents</desc> <type>Portlet</type> <class>org.jasig.portal.channels.portlet.CPortletAdapter</class> <timeout>20000</timeout> <hasedit>N</hasedit> <hashelp>N</hashelp> <hasabout>N</hasabout> <secure>N</secure> <locale>en_US</locale> <categories> <category>Documents en ligne</category> </categories> <groups> <group>Service Commun de Documentation (PERS_952)</group> </groups> <parameters> <!-- The syntax of the portletDefinitionId is [portlet-context-name].[portlet-name] --> <parameter> <name>portletDefinitionId</name> <value>ori-oai-search.spring</value> <description>The syntax of the portletDefinitionId is [portlet-context-name].[portlet-name]</description> <ovrd>N</ovrd> </parameter> </parameters> </channel-definition> Exemple de fichier de publication de canal.

67 Layout : Environnement utilisateur
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Qu’est-ce que c’est ? Layout : Environnement utilisateur SLM : Simple Layout Manager. Chaque utilisateur recoit un environnement en fonction d’un modèle. Il peut modifier son environnement. Si le modèle change, l’environnement de l’utilisateur ne change pas. ALM : Aggregated Layout Manager. L’utilisateur ne peut pas modifier l’environnement issu d’un modèle. Il peut ajouter des onglets et canaux. La modification d’un modèle est répercutée sur l’environnement de l’utilisateur. DLM : Distributed Layout Manager. L’utilisateur peut potentiellement modifier tout son environnement. La modification d’un modèle est répercutée sur l’environnement de l’utilisateur.

68 Layout : Ensemble d’onglets, colonnes, canaux
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation DLM > Qu’est-ce que c’est ? Layout : Ensemble d’onglets, colonnes, canaux Onglets : Scolarité Bureau Finances Dossier Emploi Du temps messagerie Agenda Missions Stockage Canaux Colonnes

69 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation DLM > Qu’est-ce que c’est ? Fragment : Partie logique d’un environnement comprenant un ou plusieurs canaux Scolarité Bureau Finances Dossier Emploi Du temps messagerie Agenda Missions Stockage

70 Chaque fragment a une priorité et une audience
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation DLM > Qu’est-ce que c’est ? Chaque fragment a une priorité et une audience precedence 1000 800 500 Scolarité Bureau Finances Dossier Emploi Du temps messagerie Agenda Missions Stockage Etudiant Administratif Administration Etudiants Etudiants Administration

71 L’utilisateur voit les fragments qui lui sont alloués
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation DLM > Qu’est-ce que c’est ? L’utilisateur voit les fragments qui lui sont alloués Il ne voit pas les canaux auxquels il n’a pas droit Il peut éventuellement ajouter/supprimer des onglets ou modifier des fragments Etudiant X Bureau Scolarité messagerie Stockage Agenda Dossier Emploi Du temps Administratifs Actualités

72 ownerId : utilisateur « modèle » possédant ce fragment
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation DLM > Définition des fragments Les fragments sont définis dans le fichier uPortal_source/properties/dlm.xml name : nom du fragment ownerId : utilisateur « modèle » possédant ce fragment Precedence : Priorité d’apparition (plus grand, plus à gauche) Audience : Défini les utilisateurs recevant ce fragment Tester la création de fragment à travers le portail.

73 AllUsersEvaluatorFactory : Tous les utilisateurs
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation DLM > Les audiences GuestUserEvaluatorFactory : Factory java qui se base sur IPerson.isGuest() d’uPortal. (La balise audience peut être vide pas de paramètre particulier) AllUsersEvaluatorFactory : Tous les utilisateurs PersonEvaluatorFactory : On se base ici sur les attributs de personne (objet IPerson) pour attribuer le fragment. Possibilité d’ajouter l’élément <paren> (parenthèse) avec un attribut "mode" qui peut être OR( par défaut) AND, ou NOT. Un élément <attribute> pemet de tester un attribut. 5 type de test exists, equals, contains, startsWith, et endsWith. <dlm:fragment name='Guests' ownerID='guest-lo' precedence='10'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm. providers.GuestUserEvaluatorFactory'/> </dlm:fragment> <target name="pushdlmgen" description="Generates dlm Layouts data file from dlm.xml" depends="compile"> <java fork="true" failonerror="true" dir="${basedir}" classname="org.jasig.portal.tools.DlmFragmentPusher"> <classpath> <pathelement path="${build.home}/WEB-INF/classes"/> <path refid="compile.classpath"/> </classpath> </java> </target> <target name="pushdlm" description="Pushes dlm Layouts data to db" depends="pushdlmgen"> <antcall target="db"> <param name="usedata" value="-d"/> <param name="datafile" value="/properties/db/dlm-data.xml"/> <param name="droptables" value="-nD"/> <param name="createtables" value="-nC"/> </antcall> <dlm:fragment name='Entertainment' ownerID='ent-lo' precedence='100'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm.providers. PersonEvaluatorFactory'> <paren mode="NOT"> <attribute name="username" mode='equals' value='guest'/> </paren> </dlm:audience> </dlm:fragment>

74 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation DLM > Les audiences GroupMembershipEvaluatorFactory : On se base ici l’appartenance d’un personne à un groupe pour attribuer le fragment (Fonctionnement similaire au l’Aggregated Layout Managment). Comme précédemment possibilité d’ajouter l’élément <paren> (parenthèse) avec un attribut "mode" qui peut être OR( par défaut) AND, ou NOT. Un élément <attribute> pemet de tester un attribut. 1 seul type de test possible : memberOf. <dlm:fragment name='News' ownerID='news-lo' precedence='80'> <dlm:audience evaluatorFactory='org.jasig.portal.layout.dlm. providers.GroupMembershipEvaluatorFactory'> <paren mode="AND"> <attribute mode='memberOf' name='Students'/> <paren mode="NOT"> <attribute mode='memberOf' name='Faculty'/> </paren> </dlm:audience> </dlm:fragment> <target name="pushdlmgen" description="Generates dlm Layouts data file from dlm.xml" depends="compile"> <java fork="true" failonerror="true" dir="${basedir}" classname="org.jasig.portal.tools.DlmFragmentPusher"> <classpath> <pathelement path="${build.home}/WEB-INF/classes"/> <path refid="compile.classpath"/> </classpath> </java> </target> <target name="pushdlm" description="Pushes dlm Layouts data to db" depends="pushdlmgen"> <antcall target="db"> <param name="usedata" value="-d"/> <param name="datafile" value="/properties/db/dlm-data.xml"/> <param name="droptables" value="-nD"/> <param name="createtables" value="-nC"/> </antcall>

75 Faire un fichier xml pour chaque fragment de layout
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation DLM > Publication / modification d'un fragment Deux méthodes : Faire un fichier xml pour chaque fragment de layout Le fichier est dans le répertoire uPortal_source/properties/layouts Il doit avoir le nom de son utilisateur « modèle » Il faut publier le fragment : ant layout.import –Dusername=<nom_fragment>.xml Modifier les préférences sous l’identité du propriétaire du fragment Créer l’utilisateur ant user.add –Dusername=toto Se connecter au portail Aller dans le menu « préférences » et effectuer les modifications Voir l’exemple plus loin Attention le fichier de description du fragment fragxxx.xml doit se trouver dans les properties du déploiement du portail (ou dans le perso qui le recopiera au bon endroit) pour être pris en compte par la target ant.

76 Fichier de fragment : Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation DLM > Exemple de fichier de fragment Fichier de fragment : <?xml version="1.0" encoding="UTF-8"?> <layout user="guest-lo"> <root-folder> <folder mutable="True" removable="True" type="header"> <name>Header folder</name> <channel fName="header"/> <channel fName="portal/login/general"/> <channel fName="session-locales-selector"/> </folder> <folder mutable="True" removable="True" type="regular"> <name>Accueil</name> <folder mutable="True" removable="True" type="regular" width="50%"> <name>Column 1</name> <channel fName="iframeSesame"/> <name>Column 2</name> <channel fName="annonceClientActualiteUniversite"/> <name>Annuaires</name> <channel fName="CAnnuaireAnonyme"/> <folder mutable="True" removable="True" type="footer"> <name>Footer folder</name> <channel fName="footer"/> </root-folder> </layout> type « en-tête » type « onglet » Libellé de l’onglet Voir l’exemple plus loin Attention le fichier de description du fragment fragxxx.xml doit se trouver dans les properties du déploiement du portail (ou dans le perso qui le recopiera au bon endroit) pour être pris en compte par la target ant. colonne canal type « pied de page »

77 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Personnalisation de l'interface graphique Présentation : Personnalisation de l’interface utilisateur Thème : Défini la structure générale des pages affichées en fonction du média (navigateur Web, PDA, mobile…) Habillage (skin) : Défini le style de chaque élément

78 Formation ESUP-Portail – 23-24 juin 2008
Authentification CAS Groupes Canaux Environnement Présentation Personnalisation de l'interface graphique Thème Esup : Thème uPortal (tab-columns) avec navigation « canadienne » (sous-menus) Fichier xhtml-theme.xsl Feuille de transformation

79 Habillage : Jeu d’images Feuilles de style CSS
Formation ESUP-Portail – juin 2008 Authentification CAS Groupes Canaux Environnement Présentation Personnalisation de l'interface graphique Habillage : Jeu d’images Feuilles de style CSS icônes Images (logo, etc.) Feuilles de style


Télécharger ppt "Formation à l'installation et à la configuration de"

Présentations similaires


Annonces Google