Migration graphique 4.1 vers 4.3


Avant d'appliquer les migrations Ametys ODF, vous devez appliquer les migrations Ametys CMS 4.2.x vers 4.3.x

Ce guide traite de la migration graphique d'une version Ametys ODF 4.1.x à 4.3.0.
Reportez-vous également au guide de migration technique et au guide des données.   

  1. Fusion des contacts
  2. Ajout d'un champ "role" sur le repeater des témoignages
  3. Ajout d'un champ "avatar" pour les contacts
  4. Géolocalisation des Campus et Lieux
  5. URL de téléchargement des PDF
  6. Gestion des labels des formations
  7. Approche par compétences
  8. Popup pour les ELPs de la fiche formation
  9. Export PDF des formations

Fusion des contacts

Pour les formations, parcours et ELP, les contacts (responsables + contacts administratifs) ont été fusionnés en un seul repeater de contacts.

Dans la surcharge des rendus des formations, parcours ou ELP, recherchez l'utilisation de "metadata/personInCharge" et "metadata/contact".


Le rendu des contacts (HTML ou PDF) doit être revu en tenant compte du fait que tous les contacts sont désormais dans un seul repeater "contacts".
Voici un exemple de XML d'entrée pour les contacts:

<contacts entrycount="2">                
   <entry name="1">                
      <role id="content://32162f5e-565a-4bed-ad94-7bfa3b366a53" name="personrole-txt-responsable-formation-continue" title="Responsable Formation continue" createdat="2018-02-16T10:34:13.864+01:00" creator="admin" lastmodifiedat="2018-02-16T10:34:13.864+01:00"></role>                
      <persons id="personContent://a51310d2-7122-4a2b-ae1a-da8fa0df31c0" name="person-2015" title="Sophie Gamelin" language="fr" createdat="2014-07-23T10:29:39.536+02:00" creator="Anonymous" lastmodifiedat="2014-07-23T10:29:39.581+02:00"></persons>                
      <persons id="personContent://1116f0f0-ecd1-4fdf-835c-f8dcb3aab3b9" name="person-3000" title="Rouleau Guillaume" language="fr" createdat="2014-07-23T10:29:25.677+02:00" creator="Anonymous" lastmodifiedat="2019-10-10T14:53:31.699+02:00"></persons>                
   </entry>                
   <entry name="2">                
      <role id="content://85a849ca-fb08-4118-bbd7-82062537bbe8" name="contact-administratif" title="Contact administratif" createdat="2019-10-09T15:23:09.828+02:00" creator="admin" lastmodifiedat="2019-10-09T15:23:09.829+02:00"></role>                
      <persons id="personContent://1116f0f0-ecd1-4fdf-835c-f8dcb3aab3b9" name="person-3000" title="Rouleau Guillaume" language="fr" createdat="2014-07-23T10:29:25.677+02:00" creator="Anonymous" lastmodifiedat="2019-10-10T14:53:31.699+02:00"></persons>                
   </entry>                
</contacts>       

Ajout d'un champ "role" sur le repeater des témoignages

Le repeater pour les témoignages contient un nouveau champ role. 
Vous pouvez modifier le rendu des témoignages pour afficher ce nouveau champ.

Ajout d'un champ "avatar" pour les contacts

Le type de contenu Personne contient désormais un champ "avatar" (illustration).
vous pouvez modifier le rendu de vos contacts pour afficher cette illustration.

Géolocalisation des Campus et Lieux

Les tables de référence Campus et Lieux ont un nouveau champ  "geocode" pour la géolocalisation.
Vous pouvez utiliser ce nouveau champ pour afficher le lieux de la formation sur une carte par exemple.

URL de téléchargement des PDF

Pour télécharger le PDF d'une fiche formation, vous ajoutez un lien de téléchargement de la forme <urlServeur>/plugins/odf-web/<site>/_content/<content-name>.pdf

Ex: http://localhost:8080/plugins/odf-web/www/_content/program-fruai3182988bprh6yqnsb9.pdf

Le nom du fichier à télécharger est donc "program-fruai3182988bprh6yqnsb9.pdf".

Pour avoir des noms de fichier plus lisibles, vous pouvez maintenant utiliser un lien de la forme <urlServeur>/plugins/odf-web/<site>/_content/<content-name>/<title>.pdf

<title> est le nom que vous souhaitez donner à votre PDF, c'est un champ libre mais attention il doit être encodé en utilisant le helper org.ametys.core.util.URLEncoder.encodePath(String)

Voici un exemple pour utiliser le titre de la formation comme nom du fichier PDF :

<xsl:stylesheet version="1.0"             
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"             
    xmlns:url="org.ametys.core.util.URLEncoder">             
               
    <xsl:template name="download-pdf">             
        <xsl:variable name="pdfUrl" select="concat($uri-prefix, '/plugins/odf-web/', $site, '/_content/', /view/content/@name, '/', url:encodePath(/view/content/@title), '.pdf')"/>             
        <a href="{$pdfUrl}">Télécharger</a>             
    </xsl:template>             
</xsl:stylesheets>             

A noter que l'ancienne URL de téléchargement fonctionne toujours.
Cette migration n'est pas obligatoire.

Gestion des labels des formations

Depuis peu, il est nécessaire d'apposer un label aux formations contrôlée par l'Etat.
La liste des labels existant est imposée par le ministère de l'Enseignement: https://www.enseignementsup-recherche.gouv.fr/cid141235/labels-des-formations-controlees-par-l-etat.html

Pour ce faire, chaque type de diplôme peut être associé à un label (certificationLabel) et un nouveau champ permet de désigner une formation ou un parcours comme "contrôlé par l'état" (certified)

Pour afficher le visuel correspondant à la labellisation de la formation il faut :

  • que le type de diplôme de la formation ou parcours soit associé à un label
  • que la formation ou le parcours soit "contrôlé par l'Etat", c'est à dire que le champ "certified" soit à true

Il existe un helper XSL permettant de récupérer le label associé à une formation / parcours selon ses règles.

Voici un exemple d'utilisation dans la charte de démonstration :

<xsl:template name="main-banner-label">         
    <xsl:variable name="label" select="odf:getCertificationLabel(@id)"/>         
               
    <xsl:if test="$label != ''">         
        <div class="ametys-main-banner-label">         
            <div class="ametys-main-banner-label-inner">         
                <xsl:variable name="labelImgPath" select="concat('templates/common/img/labels/', $label, '.svg')"/>         
                <img class="ametys-main-banner-label__img" src="{ametys:skinURL($labelImgPath)}" alt="" />         
            </div>         
        </div>         
    </xsl:if>         
</xsl:template>         

Dans ce template XSL, le helper donne le code du label associée à cette formation ou parcours. Si il est non vide, on affiche l'image SVG du même nom, se trouvant dans un répertoire de la charte.

Approche par compétences

La nouvelle approche par compétence a entraîné les modifications suivantes sur le modèle :

  • Formation / parcours
    • requiredSkillSets (valeur multiple de Blocs de compétences) devient requiredSkills (valeur multiple de Compétences)
    • acquiredSkillSets est supprimé
  • ELP
    • requiredSkillSets (valeur multiple de Blocs de compétences) devient requiredSkills (valeur multiple de Compétences)
    • acquiredSkillSets (valeur multiple de Blocs de compétences) devient acquiredSkills qui est un repeater de bloc de compétence, lui même est un repeater de Compéténce avec un Niveau d'acquisition

Dans la surcharge des rendus des formations, parcours ou ELP, recherchez l'utilisation de ces champs.
Le rendu des compétences (HTML ou PDF) doit être revu en tenant compte de ces modifications.

Reportez-vous à la charte ODF noyau.

A savoir également si vous utilisez la charte ODF noyau !
Dans le rendu d'une fiche formation, les compétences acquises - qui sont la concaténation des compétences acquises des ELPs - sont affichées dans la 1ere lame de présentation. Par ailleurs un lien "Voir le tableau d'acquisition des compétences" permet de visualiser la distribution des compétences par année / semestre / UE dans une popup.

Le rendu des compétences est assuré par la XSL stylesheets/content/program/zone/skills.xsl.
L'appel au rendu des compétences se trouve au niveau du template XSL <xsl:template match="fieldset[@role='tab']" mode="display-first"> dans program-main.xsl

Popup pour les ELPs de la fiche formation

Cette migration ne concerne que les applications utilisant la charte ODF noyau

Sur une fiche formation, par défaut, dans le tableau "Programme", un clic sur un ELP ouvre une popup avec quelques champs de l'ELP comme dans l'exemple ci-dessous :

Si vous ne souhaitez pas afficher ces popups, mais accéder directement à la page de l'ELP au clic, il vous faut surcharger le rendu des formations et ELPs dans votre propre charte (stylesheets\content\program\program-main.xsl et stylesheets\content\course\course-main.xsl et surcharger la variable usePopupForCourses comme suit :

<xsl:variable name="usePopupForCourses" select="false()"/>    

Export PDF des formations

Cette migration concerne les applications qui n'utilisent pas la charte ODF 4.3 ni une version surchargée de cette charte

Les données XML en entrée pour l'export PDF de la formation contient des données supplémentaires.

En 4.1.x, le XML d'entrée était :

<view>  
    <content>  
        <!-- données du contenu exporté -->  
    </content>  
</view>  

En 4.3, le XML d'entrée est :

<view>  
    <content>  
        <!-- données du contenu exporté -->  
    </content>  
    <contentType>  
        <!-- description du modèle -->  
    </contentType>  
    <structure>  
        <!-- Structure (maquette) de la formation -->  
    </structure>  
</view>  

Si vous avez surcharger le rendu PDF dans votre charte, et notamment surchargé le fichier common2pdf.xsl, il est fort probable d'y trouver dans le template racine l'instruction :

<xsl:apply-templates />  

Il faut remplacer cette instruction par :

<xsl:apply-templates select="/view/content"/>  

En effet, vos XSL d'export ne prévoient pas de traiter les informations supplémentaire contenus dans les balises <contentType> et <structure>. Il en résulte que le format de sortie n'est plus un format XSL-FO valide.

Une autre manière de faire et d'ajouter les templates XSL suivants afin d'ignorer les données XML supplémentaires:

<xsl:template match="contentType"/>  
<xsl:template match="structure"/>  
Retour en haut