Description de la hiérarchie des fichiers
Hiérarchie de fichiers de l'espace de travail
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.
Hiérarchie de fichiers sur le serveur d'application
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
Les éléments de configuration
Qu'est-ce qu'une configuration ?
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
Mettre en place une nouvelle configuration
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}
Activer une configuration
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"
Qu'est-ce qu'un profil ?
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
Mettre en place un profil
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}
Activer un profil
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
Personnalisation d'esup-uniform
Données propres à l'établissement
La description de l'établissement
Les données de l’établissement peuvent provenir de 2 sources :
- ROF : Le fichier CDM-fr est alimenté des structures saisies dans ROF (par ex composantes, services)
- Esup-uniform : Les éléments sont renseignés directement dans orgUnit-universite.xml (dossier initdb)
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)
Le référentiel utilisé dans l'établissement
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 :
- domaineDiplome : définit le codage du domaine pour le diplôme (STS, SHS, ...)
- typeDiplome : définit le niveau du diplôme (L, M ou D, …)
- natureDiplome : définit la nature du diplôme (universitaire, national,…)
- cycleDiplome : définit le cycle dans lequel est défini ce diplôme (pour les formations hors LMD la notion de cycle a été conservée)
- publicDiplome : définit le type de public
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.
La recherche
Régler l'indexation des dossiers
Les requêtes de recherche
Ajout d'un critère de recherche
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 :
- properties/search-engine-config.${cdmfr-release}.xml
- initdb/uv-${cdmfr-release}/constantes.${cdmfr-release}.xml
- webpages/stylesheets/${cdmfr-release}/composants/commun.xsl
- webpages/stylesheets/${cdmfr-release}/composants/rechercheAvancee.cdmfr.xsl
Suivent ensuite les tâches ant à exécuter :
- ant initdb
- ant deploy
- ant import_dir
- ant indexdb
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 :
- search-engine-config.xml :
<?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>
- constantes.xml
<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>
- commun.xsl
<!-- 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" />
- rechercheAvancee.cdmfr.xsl
!-- 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>
Les écrans
Les pages par défaut
L'application fournit par défaut 4 pages HTML:
- Page d'accueil (page par défaut)
- Page qui liste le catalogue de formations
- Page de présentation d'une formation
- Page de recherche avancée
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 niveaux d'adaptation des écrans
le gabarit de la page
Les blocs de page
Dictionnaire des templates
Templates adaptables par l'établissement
Les templates du fichier orgUnit-universite.xml se regroupent en 3 parties successives :
- Fiche d'identité qui inclut le code RNE, le nom, l'acronyme, le type d'établissement, page du site institutionnel
- Modalités d'admission (VAE, VAP, VAS, règlement intérieur, frais et périodes d'inscription, ...)
- Adresses
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.
Templates de type onglets
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 :
- en supprimant les renseignements inutiles et
- en ré-agençant l'ordre d'affichage des rubriques.
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) :
Templates spécifiques aux objets CDM-FR
Les éléments qui composent le format CDM-fr V1.1.1 (format défini en décembre 2012) sont principalement :
- OrgUnit : Entité organisationnelle (par ex Établissement, composantes, ...)
- Habilitation : Données concernant l'habilitation
- Program : Programmes d'études dispensés (Mention, Spécialités, Parcours, ...)
- Course : Ensemble des cours (tels que Unités d'Enseignement, Elément Constitutif)
- Person : Personnes impliquées dans les activités administratives ou pédagogiques
Ces éléments sont repris individuellement dans le dossier webpages/stylesheets/rof-2.50/composants :
Plus précisément :
- accueil.cdmfr.xsl fournit une introduction sur la page d'accueil.
- course.cdmfr.xsl comprend une liste exhaustive des balises du CDM-fr "course" alimentées par ROF (templates unitaires pour la partie enseignement).
- domaines.cdmfr.xsl liste les grands domaines d'enseignement.
- habilitation.cdmfr.xsl décrit toute la partie habilitation du CDM-fr
- orgUnit.cdmfr.xsl permet de décrire les données de l'établissement.
- personn.cdmfr.xsl présente les personnes responsables ou enseignants
- program.cdmfr.xsl contient l'ensemble des données qui caractérisent une mention, une spécialité, un parcours, une année ou un semestre.
- properties.cdmfr.xsl (date de dernière extraction ROF)
- rechercheAvancee.cdmfr.xsl propose la grille de recherche, les critères actuels étant le domaine, le type de diplôme et/ou des mots-clés
- schemaEtudes.cdmfr.xsl permet un accès direct (clic sur un graphique) aux formations d'un niveau d'étude.
Templates CDM-FR communs à tous les objets
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 :
- admissionInfo.cdmfr.xsl : Conditions d'admission
- commun.xsl : Templates génériques (tels que appel CSS, JavaScript, fil d'Ariane, ...)
- commun_fr-FR-pdf.xsl
- contactData.cdmfr.xsl : nom, prénom et coordonnées du contact
- credits.cdmfr.xsl : Crédits ECTS et volumes horaires
- expenses.cdmfr.xsl : Coût d'inscription
- formalPrerequisites.cdmfr.xsl : Pré-requis facultatifs
- formOfAssessment.cdmfr.xsl : Modalités du Contrôle de Connaissances
- formOfTeaching.cdmfr.xsl : Modalités d'enseignement (par ex : formation continue)
- infoBlock.cdmfr.xsl : Traitement des balises InfoBlock (liens, titres, listes, ...)
- infoBlock-pdf.cdmfr.xsl : Traitement des balises InfoBlock pour les PDF
- learningObjectives.cdmfr.xsl : Objectifs
- level.cdmfr.xsl : Niveau d'étude (par ex : Licence)
- natureElements.cdmfr.xsl
- recommendedPrerequisites.cdmfr.xsl : Pré-requis obligatoires
- sectionCNU.cdmfr.xsl
- xhtml.xsl : Page XHTML