Pages enfant
  • Organisation générale du package

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

 

 

  • Aucune étiquette