Graphics migration 4.1 to 4.3


Before migrating Ametys ODF , you need to migrate Ametys CMS 4 .2.x to 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. Merging contacts
  2. Add a "role" field to the testimonial repeater
  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. Course label management
  7. Skills-based approach
  8. Popup pour les ELPs de la fiche formation
  9. Export PDF des formations

Merging contacts

For training courses, pathways and ELPs, contacts (managers + administrative contacts) have been merged into a single contact repeater.

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>       

Add a "role" field to the testimonial repeater

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)

Here is an example of using the course title as the file name 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.

Course label management

Recently, state-controlled training courses have been required to bear a label.
The list of existing labels is imposed by the Ministry of Education: 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.

Skills-based approach

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

  • Formation / parcours
    • requiredSkillSets (multiple value of Skill Blocks) becomes requiredSkills (multiple value of Skills)
    • acquiredSkillSets is deleted
  • ELP
    • requiredSkillSets (multiple value of Skill Blocks) becomes requiredSkills (multiple value of Skills)
    • 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

This migration only concerns applications using the ODF kernel charter.

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"/>  
Back to top