Documents:Ajout CImap dans Header
Un article de Wiki ESCO-Portail.
Sommaire |
Introduction
L'objectif est de placer le canal CImap dans l'en-tête du portail pour les populations concernées (typiquement les élèves pour l'implantation dans NetO'Centre).
Ce canal CImap a été modifié en deux endroits :
- .../source/org/esupportail/portal/channels/CImap/CImap.java : "private final static int cacheDefaultTimeOut = 900; // en secondes", afin de ne pas trop solliciter le serveur Imap
- webpages/stylesheets/org/esupportail/portal/channels/CImap/CImap.xsl : la feuille de style a été modifiée afin de ne laisser voir qu'une enveloppe facilement intégrable dans le bandeau. L'image est différente s'il y a ou non du courrier pour l'utilisateur.
Concernant le portail, les modifications ont concerné la feuille xhtml-theme.xsl et les layouts des utilisateurs modèles pris en compte lors de la première connexion d'un utilisateur (voir la création des layouts des établissements).
Pour que tous les utilisateurs, qui se sont déjà connectés au portail et qui sont concernés par le canal (les élèves), aient ce canal dans le bandeau, le plus pratique est de les supprimer afin que leur environnement soit recréé lors de leur prochaine connexion.
Enfin, pour que tous les nouveaux utilisateurs soient à l'avenir concernés sans que toute ces manipulations soient à refaire, les layouts des utilisateurs demo et fragment Template sont également modifiés.
Récupération de la liste des utilisateurs du portail concernés
Dans Sarapis
La liste des élèves qui ont activé leur compte :
tee eleves_actifs.txt SELECT uid FROM apersonne WHERE categorie = 'Eleve' AND validationCharte <> '';
Dans la base du portail
La liste des comptes :
tee up_user.txt SELECT user_name FROM up_user;
Ces listes sont ensuite traitées pour ne garder que la liste des uid concernés et la liste des utilisateurs modèles (etab-skin) :
awk '{print $2}' eleves_actifs.txt > liste_uid_eleves_sarapis awk '{print $2}' up_user.txt > liste_name_portail grep skin liste_name_portail > liste_skin
Traitement des données
Les scripts de traitement, ainsi que les fichiers data issus des opérations mentionnées ci-dessus, sont placés sur chaque serveur du portail esco, dans l'arborescence /home/esco/traitement_eleves/.
Deux scripts sont utilisés :
- pour créer les tâches ant d'export et d'import des layouts utiles
- pour créer les tâches ant de suppression des utilisateurs concernés de la base du portail.
Génération des tâches ant d'export/import des layouts des modèles (etab-skin)
generer_ant_export_import_skin.sh
REP_DATA="/home/esco/traitement_eleves/data" REP_SCRIPTS="/home/esco/traitement_eleves/scripts" LISTE_SKIN="$REP_DATA/liste_skin" EXPORT="$REP_SCRIPTS/taches_ant_export_layout_skin.sh" IMPORT="$REP_SCRIPTS/taches_ant_import_layout_skin.sh" >$EXPORT >$IMPORT (while read name do echo "ant layout.export -Dusername=$name" >>$EXPORT echo "ant layout.import -Dusername=$name" >>$IMPORT done)<$LISTE_SKIN
Génération des tâches ant de suppression des utilisateurs concernés
generer_taches_ant_del.sh
REP_DATA="/home/esco/traitement_eleves/data" REP_SCRIPTS="/home/esco/traitement_eleves/scripts" SARAPIS="$REP_DATA/liste_uid_eleves_sarapis" PORTAIL="$REP_DATA/liste_name_portail" RESULTAT="$REP_SCRIPTS/taches_ant_supp.sh" >$RESULTAT (while read uid do if (grep $uid $SARAPIS) then echo "ant user.del -Dusername=$uid" >>$RESULTAT fi done)<$PORTAIL
Export-modification et import des layouts
Export des layouts nécessaires
Sous le répertoire de déploiement du portail :
/home/esco/traitement_eleves/scripts/taches_ant_export_layout_skin.shModification des layouts
Sous ..../Portal/uPortal_rel-2.6.1-GA/properties/layouts, modification un à un des fichiers xml concernés pour y mettre le canal CImap :
<?xml version="1.0" encoding="UTF-8"?> <layout user="Cdf_Romo-skin"> <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"/> <channel fName="CImap"/> </folder> <folder mutable="True" removable="True" type="footer"> <name>Footer folder</name> <channel fName="footer"/> </folder> </root-folder> </layout>
Les fichiers xml concernés sont :
- tous les etab-skin.xml issus de l'export des layouts
- demo.xml
- fragmentTemplate.xml
Import des layouts
Après arrêt du portail (pour effectuer les opérations d'écriture en toute tranquillité), sous le répertoire de déploiement du portail :
/home/esco/traitement_eleves/scripts/taches_ant_import_layout_skin.sh ant layout.import -Dusername=demo ant layout.import -Dusername=fragmentTemplate
Suppression des utilisateurs déjà créés
Comme dit plus haut, il s'agit des utilisateurs concernés par la messagerie électronique dans l'ENT, à savoir les élèves.
Sous le répertoire de déploiement du portail :
/home/esco/traitement_eleves/scripts/taches_ant_supp.sh ./start_esco.sh
Insertion dans la feuille de style
Pour que le canal soit vu dans le navigateur, il faut alors modifier la feuille de style du portail, en ajoutant :
.... <xsl:copy-of select="channel[@name='Login']"/> <!-- Ajout du canal Imap 'simplifié' dans le bandeau du portail --> <xsl:copy-of select="channel[@name='CImap']"/> <!-- Fin ajout --> <xsl:copy-of select="channel[@name='Header']"/> </div> ...

