Une fois dézippé (ou après un svn export) le dossier de travail présente la hiérarchie de fichier ci-dessous.
les dossiers :
dbs : [nom et localisation par défaut] Le dossier où seront stockées toutes données manipulées par l'application : dossiers de formation, index pour le moteur de recherche, dépôt OAI, référentiel et description de l'établissement.
docs : Les éléments de documentation (parfois obsolètes mais complétés par ce wiki)
import : le dossier où sont stockés les fichiers au format cdmfr destinés à être importés
lib : la librairie des fichiers jars utiles au fonctionnement de l'application
log : le dossier où seront enregistrés les logs [dossier défini par défaut pouvant être déplacé par une configuration avancée]
source : l'ensemble des classes java qui seront compilées puis déployées sur le serveur tomcat
webpages : le dossier qui contient toutes les ressources qui seront déployées sur le serveur tomcat (les css, les fichiers xsl, ...)
Les fichiers :
build-*.sample.properties : Des exemples de configuration proposées
web-config.sample.properties : exemple de fichier utilisé comme base pour créer le fichier web-config.properties
build.sample.properties : modèle de fichier utilisé pour créer une nouvelle configuration
build.xml : les tâches ant utilisées pour le déploiement et l'administration de l'application
Après exécution de la tâche ant deploy, le dossier cdm est créé dans l'espace de travail esup-uniform et ce dernier est copié dans le dossier webapps du tomcat.
Voici la hiérarchie des dossiers du répertoire cdm :
Les dossiers :
errors : il contient les fichiers html renvoyés en cas d'erreur d’exécution ou de configuration de l'application. Il provient du dossier webpages
media : le dossier avec les fichiers javascript et les css utilisés par esup-uniform. Il provient du dossier webpages
WEB-INF/classes/fr et WEB-INF/classes/org : les classes java qui ont été compilées depuis le dossier source
WEB-INF/classes/properties : contient le fichier uniform-config.xml qui lui-même utilise les fichiers search-engine-config*.xml, uniform-config-rules.xml et variablesExt-*.xml
xsl : l'ensemble des feuilles xsl qui effectuent les transformations des documents du xml vers le xml ou vers le html
Une configuration est d'abord définie par un nom qui servira à relier tout un ensemble de fichiers ayant une même cohérence. Esup-uniform n'utilise qu'une seule configuration à un instant T. Par convnetion la configuration porte le nom définie par la valeur de la variable cdmfr-release. Par exemple cdmfr-release=cdmfr-2012-rof-2.50 ou cdmfr-release=cdmfr-2012-rof-2.50-lille1 pour une version spécifique à l'établissement "lille1"
Une configuration est aussi définie par l'ensemble de ces types de fichiers ou dossiers :
build.${cdmfr-release}.sample.properties : construit à partir de build.sample.properties et destiné à être renommé build.properties lors de son activation
properties/uniform-config.${cdmfr-release}.sample.xml : construit à partir de properties/uniform-config.sample.xml et destiné à être renommé properties/uniform-config.xml lors de son activation
properties/search-engine-config.${cdmfr-release}.sample.xml : construit à partir de properties/search-engine-config.sample.xml et destiné à être renommé properties/search-engine-config.${cdmfr-release}.xml lors de son activation
properties/urlrewrite.${cdmfr-release}.sample.xml : construit à partir de properties/urlrewrite.sample.xml et destiné à être renommé properties/urlrewrite.xml lors de son activation puis transféré dans cdm/WEB-INF/urlrewrite.xml
properties/variablesExt.${cdmfr-release}.sample.xml : construit à partir de properties/variablesExt.sample.xml et destiné à être renommé properties/variablesExt.xml lors de son activation
import/${cdmfr-release} : dans ce dossier devront être déposés les fichiers de formation au format cdmfr qui seront importés par la commande ant import_dir
initdb/orgunit-universite.${cdmfr-release}.sample.xml : ce fichier décrit l'établissement et sera d'abord transféré dans un dossier initdb/${cdmfr-release} sous le nom orgunit-universite.${cdmfr-release}.xml avant d'être copié dans dbs/uv-${cdmfr-release}/documents/orgUnit sous le même nom
initdb/constantes.${cdmfr-release}.sample.xml : ce fichier décrit le référentiel utilisé par l'établissement et sera d'abord transféré dans un dossier initdb/${cdmfr-release} sous le constantes.${cdmfr-release}.xml avant d'être copié dans dbs/uv-${cdmfr-release}/documents/constantes sous le même nom
webpages/xml2xml/${cdmfr-release} : ce dossier contient tous les fichiers qui sont référencés dans le fichier properties/uniform-config.${cdmfr-release}.sample.xml et servent à la transformation des données au sein de la couche métier d'esup-uniform
webpages/media/css/${cdmfr-release}.sample.css : ce fichier contient les classes css pour cette configuration et sera renommé webpages/media/css/main.css lors de son activation
Pour mettre en place une configuration il faut d'abord créer l'ensemble des fichiers et dossiers définis ci-dessus en exécutant la commande ant create_release -Dmy-cdmfr-release={nomdelaconfiguration}
Pour activer une configuration, il faut la définir dans la variable cdmfr-release.
Définissez également le nom du premier profil utilisé avec cette configuration (valeur à mettre dans la variable profil).
Puis exécuter la commande "ant init_release".
La configuration est active, vous devez maintenant initialiser la base (ant initdb) et importer des fichiers de formation.
Pour importer les fichiers de formation, il faut d'abord les déposer dans le répertoire import/${cdmfr-release} puis exécuter "ant import_dir -DcodAnu=2012"
Un profil est défini par un nom et par un ensemble de fichiers organisés sous le dossier webpages/stylesheets/${profil}.
rof-2.50 est un exemple de profil et ses fichiers sont localisés sous webpages/stylesheets/rof-2-50
Un profil est un ensemble de fichiers xslt qui prennent en charge la couche présentation d'esup-uniform
Pour mettre en place un profil, il est conseillé de cloner un profil déjà existant et dont le fonctionnement a été validé. Il suffit donc de recopier le dossier désignant le profil à cloner sous le nouveau du profil.
cp -r webpages/stylesheets/{profilSource} webpages/stylesheets/{nouveauprofil}
Pour activer un profil il faut qu'il soit défini dans la variable profil du fichier build.properties. Il faut ensuite exécuter
ant clean initdb deploy
Les données de l’établissement peuvent provenir de 2 sources :
Pour ROF, il convient de renseigner les champs dans le référentiel de l'outil :
Pour Uniform, il est nécessaire d'adapter les templates du fichier orgUnit-universite.xml (cf. partie Dictionnaire des templates)
Il est possible pour un établissement de mettre en place un référentiel (dossier initdb).
Le fichier constantes.xml manipule 5 types de données :
Pour ROF 2.50 : Les références @id et @import des domaines et types de diplôme sont liées aux identifiants issus de ROF. Ils ne peuvent donc pas être modifiés. |
Il est possible d'ajouter des critères de recherche (tel que la composante, thématique du diplôme, ...).
Le principe pour ajouter un critère de recherche consiste en l'adaptation de 4 fichiers XML et XSL :
Suivent ensuite les tâches ant à exécuter :
Par exemple, pour le critère supplémentaire "Thématique de la mention", les ajouts à effectuer sont colorisés en bleu et sont à adapter au profil :
<?xml version="1.0" encoding="UTF-8"?>
<search-engine>
<folder identFolder="/CDM/program[1]/@id">
<communs-indexes>
<index name="domaine"
terms="/CDM/program[1]/habilitation/domainName/fixedDomain"
keyword="true" />
<index name="diplome"
terms="/CDM/program[1]/qualification/degree/@degree"
keyword="true" />
<index name="intituleSort"
terms="/CDM/program[1]/programName/text[not(@language)]" />
<index name="titleSort"
terms="/CDM/program[1]/programName/text[@language='en-EN']" />
<!-- Ajout Critère de recherche = Thematique de la mention -->
<index name="thematiqueMention"
terms="/CDM/program[1]/habilitation/field/fieldName/free/text/text()"
keyword="true" />
</communs-indexes>
<languages defaultLang="fr-FR">
[...]
<by index="intituleSort" />
<by index="thematiqueMention" />
</sort>
</language>
<language name="en-EN">
[...]
<by index="titleSort" />
<by index="thematiqueMention" />
</sort>
</language>
</languages>
</search-engine>
<thematiqueMention>
<data id="SAPAS" import="SAPAS">
<value lang="fr-FR">ACTIVITÉ PHYSIQUE ADAPTÉE ET SANTÉ</value>
</data>
[...]
<data id="SURAM" import="SURAM">
<value lang="fr-FR">URBANISME ET AMENAGEMENT</value>
</data>
<data id="SMATNANO" import="SMATNANO">
<value lang="fr-FR">USTH Matériaux et nanotechnologie</value>
</data>
</thematiqueMention>
<!-- recuperation des param pour les valeurs des formulaires -->
<xsl:param name="domaine" />
<xsl:param name="diplome" />
<xsl:param name="ufr" />
<xsl:param name="title" />
<xsl:param name="intitule" />
<xsl:param name="thematiqueMention" />
<xsl:param name="basket" select="0" />
!-- Ajout : Recherche par thematique -->
<div class="ligne_form">
<label for="__thematiqueMention">Thématique : </label>
<select size="1" name="__thematiqueMention">
<option value=""><xsl:if test="$thematiqueMention=''"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>Toutes les thématiques</option>
<xsl:for-each select="/CDM/properties/infoBlock/extension/uniform/constantes/thematiqueMention/data">
<option value="{./@id}">
<xsl:if test="./@id=$thematiqueMention"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
<xsl:value-of select="./value[@lang=$_lang]"/>
</option>
</xsl:for-each>
</select>
</div>
L'application fournit par défaut 4 pages HTML:
L'accès aux différentes pages peut s'effectuer par le menu haut :
Les fichiers XSL correspondants sont localisés dans webpages/stylesheets/${cdmfr-release} :
Dans stylesheets/rof-2.50, on trouve :
Les fichiers accueil.xsl, liste.xsl, et recherche.xsl présentent respectivement les écrans "accueil", "feuilleter" et "recherche".
Le fichier fiche.xsl permet l'affichage complet d'un diplôme.
master.pdf.xsl est utilisé lors de la création des fichiers PDF.
modele-page.xsl présente l'enchainement des templates dans la page HTML (cf. gabarit de la page).
Enfin, variablesExt.xml est un fichier d'externalisation des libellés pour la gestion du multilinguisme.
Les templates du fichier orgUnit-universite.xml se regroupent en 3 parties successives :
Après avoir renseigné le fichier orgUnit-universite.xml, l'importation d'un dossier de formation (commande "ant import_dir") insère l'ensemble des balises <orgUnit> de ce fichier.
Le détail d'une formation se présente sous la forme d'onglets :
Le dossier webpages/stylesheets/rof-2.50/onglets reprend l'ensemble des onglets affichés par défaut dans cette fiche programme :
Il est possible de personnaliser l'affichage des onglets et de choisir les informations à afficher pour chaque onglet.
Uniform permet l'affichage de toutes les données saisies dans ROF. Un choix sur la publication est à réaliser :
Les onglets "Habilitation" et "Établissement" ne sont affichés que pour la mention (= élément “program” de plus haut niveau) |
Le fichier "programme.xsl" permet d'afficher la hiérarchie globale de la formation en descendant jusqu’à l'EC (Elément Constitutif) :
Les éléments qui composent le format CDM-fr V1.1.1 (format défini en décembre 2012) sont principalement :
Ces éléments sont repris individuellement dans le dossier webpages/stylesheets/rof-2.50/composants :
Plus précisément :
Les templates communs aux différents objets de ROF (Mention, Program, UE, EC, ...) sont regroupés dans le dossier webpages/stylesheets/rof-2.50/composants/commun.
On y trouve :