Le CMS Ametys met à disposition des intégrateurs de nombreuses méthodes accessibles à partir des fichiers XSLT, facilitant l'intégration des chartes graphique.
Ajouter ce namespace "odf" dans l'entête des fichiers XSL comme suit:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" ... xmlns:odf="org.ametys.plugins.odfweb.xslt.OdfXSLTHelper" ... extension-element-prefixes="... ametys ...">
De sorte à pouvoir appeler n'importe quelle fonction définie ci-dessous, en utilisant "ametys:functionName(argument1, argument2)"
Description :
Retourne autant de nœuds <program> qu'il y a de formations intégrant ce sous-programme, incluant la structure des sous-programmes jusque la profondeur indiquée.
Si vous connaissez l'identifiant de la formation souhaitée, utilisez plutôt la méthode getProgramStructure.
Signature :
NodeList getParentProgramStructure (String subprogramId, int depth)
Arguments :
Nom |
Type |
Description |
---|---|---|
subprogramId |
String |
Identifiant du sous-programme |
depth |
int |
Profondeur Indiquer un chiffre positif pour récupérer la structure des sous-programmes jusqu'à une profondeur de depth. Indiquer un chiffre négatif pour récupérer la structure complète récursivement. Ce paramètre concerne uniquement les sous-programmes. |
Exemple : voir getProgramStructure
Description :
Retourne autant de noeuds <program> qu'il y a de formations intégrant ce sous-programme.
Si vous connaissez l'identifiant de la formation parente, utilisez plutôt la méthode getProgram.
Signature :
NodeList getParentProgram (String subprogramId)
Arguments :
Nom |
Type |
Description |
---|---|---|
subprogramId |
String |
Identifiant du sous-programme |
Exemple : voir getProgram
Description :
Retourne un nœud <program> contenant la structure de la formation jusqu'à une profondeur de depth
Signature :
NodeList getProgramStructure (String programId, int depth)
Arguments :
Nom |
Type |
Description |
---|---|---|
programId |
String |
Identifiant de la formation |
depth |
int |
Profondeur Indiquer un chiffre positif pour récupérer la structure jusqu'à une profondeur de depth. Indiquer un chiffre négatif pour récupérer la structure complète récursivement. Ce paramètre concerne uniquement les sous-programmes. |
Exemple :
<program ects="content://766a60bb-0048-4c0f-9018-9a5cf3cb5a6a" code="H7AHQYZO" catalog="2013-2017" degree="content://47383714-55b6-441b-b43c-4ef27db82e1c" id="programContent://25be5972-5e5a-4068-bd30-dd97b400c8ff" title="Licence Mathématiques"> <subprogram ects="content://8cbc13c3-b44d-42a4-842f-71456b3d9a1e" code="H7AHWVC8" catalog="2013-2017" id="subProgramContent://627f8540-be41-4797-bd18-82f9c09be35e" title="L3 parcours Mathématiques générales"> <container code="K42UDTSB" catalog="2013-2017" id="container://c10dd651-afbb-4913-b813-78430749c960" title="L3 parcours Mathématiques générales"> <container code="K42UR3PX" catalog="2013-2017" id="container://19d5cb9b-7f70-45b5-bb95-ff188cdd85db" title="Semestre 5"> <courselist code="LMP1A3M" catalog="2013-2017" id="courseListContent://a18375e2-c581-430b-88f6-4817f77b71e5" title="Math. Options 3e année" type="MANDATORY"> <course code="H7AI4Z0J" catalog="2013-2017" name="course-fruai3182988bcoh7ai4z0j" id="courseContent://03a77422-20d2-4a7b-a315-74de76c327fa" title="Arithmétique"></course> <!-- // ... --> </courselist> </container> <container code="K42UOQ9N" catalog="2013-2017" id="container://466926e2-6107-43a5-af73-0539263f0178" title="Semestre 6"> <!-- // ... --> </container> </container> </subprogram> <subprogram code="H7AHX5R3" catalog="2013-2017" id="subProgramContent://b503cb25-5a69-4596-b7bb-5d9cdff18af4" title="Parcours Mathématiques pour l’assurance et la finance"> <!-- // ... --> </subprogram> </program>
Description :
Retourne un nœud <program> contenant les informations de la formation
Signature :
Node getProgram (String programId)
Arguments :
Nom |
Type |
Description |
---|---|---|
programId |
String |
Identifiant du programme |
Exemple d'information retournée:
<program ects="content://766a60bb-0048-4c0f-9018-9a5cf3cb5a6a" code="H7AHQYZO" catalog="2013-2017" degree="content://47383714-55b6-441b-b43c-4ef27db82e1c" id="programContent://25be5972-5e5a-4068-bd30-dd97b400c8ff" title="Licence Mathématiques"> </program>
Description :
Retourne un noeud <subprogram> contenant la structure du sous-programme , incluant la structure des sous-programmes.
Si l'attribut depth est précisé, la structure est retournée jusqu'à une profondeur de depth.
Sans attribut depth, la structure est complète.
Signature :
Node getSubProgramStructure(String subprogramId)
Node getSubProgramStructure(String subprogramId, int depth)
Arguments :
Nom |
Type |
Description |
---|---|---|
subprogramId |
String |
Identifiant du sous-programme |
depth |
int |
Profondeur Indiquer un chiffre positif pour récupérer la structure jusqu'à une profondeur de depth. Indiquer un chiffre négatif pour récupérer la structure complète récursivement. Ce paramètre concerne uniquement les sous-programmes. |
Exemple :
<subprogram ects="content://8cbc13c3-b44d-42a4-842f-71456b3d9a1e" code="H7AHWVC8" catalog="2013-2017" id="subProgramContent://627f8540-be41-4797-bd18-82f9c09be35e" title="L3 parcours Mathématiques générales"> <container code="K42UDTSB" catalog="2013-2017" id="container://c10dd651-afbb-4913-b813-78430749c960" title="L3 parcours Mathématiques générales"> <container code="K42UR3PX" catalog="2013-2017" id="container://19d5cb9b-7f70-45b5-bb95-ff188cdd85db" title="Semestre 5"> <courselist code="LMP1A3M" catalog="2013-2017" id="courseListContent://a18375e2-c581-430b-88f6-4817f77b71e5" title="Math. Options 3e année" type="MANDATORY"> <course code="H7AI4Z0J" catalog="2013-2017" name="course-fruai3182988bcoh7ai4z0j" id="courseContent://03a77422-20d2-4a7b-a315-74de76c327fa" title="Arithmétique"></course> <!-- // ... --> </courselist> </container> <container code="K42UOQ9N" catalog="2013-2017" id="container://466926e2-6107-43a5-af73-0539263f0178" title="Semestre 6"> <!-- // ... --> </container> </container> </subprogram>
Description :
Retourne l'identifiant du programme parent à partir de la page courante.
La méthode retourne null le programme n'est pas trouvé.
Signature :
String parentProgramId()
Description :
Retourne l'identifiant de la page racine ODF pour un site spécifique, une langue, et éventuellement un catalogue.
S'il y a plusieurs pages racines, c'est la première de la liste qui est retournée
Si la page racine de l'ODF n'est pas trouvée, la méthode retourne null
Signature :
String odfRootPage (String siteName, String language)
String odfRootPage (String siteName, String language, String catalog)
Arguments :
Nom |
Type |
Description |
---|---|---|
siteName |
String |
Nom du site |
language |
String |
Langue |
catalog |
String |
Nom du catalogue |
Description :
Retourne l'URL du PDF d'un programme ou d'un sous-programme.
Si l'identifiant du contenu ne correspond pas à un programme ou à un sous-programme, la méthode renvoie une chaîne vide.
Signature :
String odfPDFUrl (String contentId, String siteName)
Arguments :
Nom |
Type |
Description |
---|---|---|
contentId |
String |
Identifiant du programme ou du sous-programme |
siteName |
String |
Nom du site |
Exemple d'utilisation :
<a href="{odf:odfPDFUrl($programId, $site)}" target="blank" >Télécharger le PDF</a>
Description :
Retourne le libellé de la certification du programme ou du sous-programme.
Si la formation n'est pas certifiée, la méthode retourne null.
Signature :
String getCertificationLabel(String abstractProgramId)
Arguments :
Nom |
Type |
Description |
---|---|---|
abstractProgramId |
String |
Identifiant du programme ou du sous-programme |
Exemple d'utilisation :
<xsl:variable name="label" select="odf:getCertificationLabel(@id)"/> <xsl:if test="$label != ''"> <xsl:variable name="labelImgPath" select="concat('img/labels/', $label, '.svg')"/> <img class="ametys-main-banner-label__img" src="{ametys:skinURL($labelImgPath)}" alt="" /> </xsl:if>
A partir de Ametys 4.4
Description :
Retourne le cumul des heures sur le contenu identifié en paramètre.
Pour cela, l'algorithme descend l'arborescence du contenu fourni en paramètre jusqu'aux contenus ayant le champ nbHours renseigné.
Les heures d'enseignement sont lues uniquement si l'ELP est au dernier niveau.
Pour les listes d'ELP, le calcul est effectué comme suit selon le type de liste :
Signature :
Double getCumulatedHours(String contentId)
Arguments :
Nom |
Type |
Description |
---|---|---|
contentId |
String |
Identifiant du contenu sur lequel le calcul est effectué |
Cette méthode est disponible à partir de la version 4.4
En 4.4 et 4.5 cette méthode ne peut être appelée que pour un parcours (sous-programme)
A partir de la version 4.6 cette méthode peut être appelée sur une formation, parcours, conteneur ou ELP
Description :
Retourne le livret pédagogique (renommé catalogue des cours en 4.6) au format PDF le plus récent pour:
Si l'élément n'existe pas ou s'il n'existe pas de catalogue, la méthode renvoie null.
Signature :
AmetysNodeList getEducationalBooklet (String programItemId)
Arguments :
Nom |
Type |
Description |
---|---|---|
programItemId |
String |
Identifiant du sous-programme |
Exemple :
<pdf filename="Livret pédagogique L3 parcours Mathématiques générales - 2020-11-27.pdf" lastmodified="2020-11-27T17:06:26.000Z" mime-type="application/pdf" multiple="false" path="educational-booklets[1]/pdf" size="135670" type="attribute" typeid="file" uri="educational-booklets[1]/pdf"> </pdf>
Exemple d'utilisation:
<xsl:variable name="educationalBooklet" select="odf:getEducationalBooklet(/view/content/@id)"/> <a href="{resolver:resolve($educationalBooklet/@type, $educationalBooklet/@path, 'true')}"> <xsl:value-of select="$educationalBooklet/@filename"/> </a>
A partir de Ametys 4.6
Description :
Retourne true si l’élément de formation dans le contexte de sa page est exclu de l'affichage des compétences.
Signature :
boolean areSkillsUnavailable(String programItemId, String programPageItemId)
Arguments :
Nom |
Type |
Description |
---|---|---|
programItemId |
String |
Identifiant de l'élément de formation |
programPageItemId |
String |
Identifiant de la page dans lequel se situe l'élément de formation. Si non renseigné, les compétences seront toujours visibles. |
A partir de Ametys 4.6
Description :
Retourne tous les chemins d'un l’élément de formation jusqu'à la ou les formations parentes.
Les chemins sont construit à partir du titre les éléments et du séparateur transmis.
Ex: Master Droit public > Parcours Sécurité et défense > Année 1
Signature :
boolean getProgramPaths(String programItemId, String separator)
Arguments :
Nom |
Type |
Description |
---|---|---|
programItemId |
String |
Identifiant de l'élément de formation |
separator |
String |
Séparateur à utiliser (ex: ">") |
Description :
Retourne le code associé à une entrée de table de référence.
Si l'entrée n'est pas trouvée, la méthode retourne null.
Signature :
String getCode (String tableRefEntryId)
Arguments :
Nom |
Type |
Description |
---|---|---|
tableRefEntryId |
String |
Identifiant de l'entrée de la table de référence |
Exemple d'utilisation:
<xsl:variable name="degreeId" select="metadata/degree/@id"/> <xsl:variable name="degreeCode" select="odf:getCode($degreeId)"/>
Description :
Retourne l'identifiant d'une entrée de table de référence à partir de son code.
La méthode retourne null si l'entrée n'est pas trouvée.
Signature :
String getEntryId (String tableRefId, String code)
Arguments :
Nom |
Type |
Description |
---|---|---|
tableRefId |
String |
Identifiant de la table de référence |
code |
String |
Code de l'entrée de la table de référence |
Exemple :
<xsl:variable name="degreeId" select="odf:getEntryId('odf-enumeration.Degree', 'XA')"/>
Description :
Retourne les entrées d'une table de référence
Signature :
Node getTableRefItems (String tableRefId, String lang)
Node getTableRefItems (String tableRefId, String lang, boolean ordered)
Arguments :
Nom |
Type |
Description |
---|---|---|
tableRefId |
String |
Identifiant de la table de référence |
lang |
String |
Langue à utiliser pour les libellés |
ordered |
booléen |
Si ce booléen est positionné à true, alors les entrées seront triés selon l'attribut "ordre". |
Exemple :
<items id="odf-enumeration.Domain"> <item code="STS" id="content://305e6e9e-1ec2-4adb-8ffc-2274ab807907" title="Sciences, Technologies, Santé"></item> <item code="ALL" id="content://47bb25ce-234c-4ed4-9e29-ce2c0227ddbe" title="Arts, Lettres, Langues"></item> <item code="SHS" id="content://64e192e6-31cd-4a12-88b4-d8d38267bce5" title="Sciences humaines et sociales"></item> <item code="DEG" id="content://fb0f2f0e-fc29-4ceb-8d2b-70bf1ef3b729" title="Droit, Economie, Gestion"></item> <item code="HD" id="content://fe887b17-fc96-42ac-a698-0e9868e56e7c" title="Hors domaines de formation"></item> <item code="STA" id="content://34170b44-174a-44fc-937b-c6c56d8e8910" title="Sciences et Techniques des Activités Physiques et sportives"></item> </items>
Description :
Retourne le libellé du diplôme associé à la valeur CDM du diplôme.
Si la clef n'est pas trouvée, la méthode retourne une chaîne vide
Signature :
String degreeLabel (String cmdValue)
String degreeLabel (String cmdValue, String language)
Arguments :
Nom |
Type |
Description |
---|---|---|
cmdValue |
String |
Clef du diplôme |
language |
String |
Langue |
Exemple d'utilisation :
<xsl:variable name="degreeLabel" select="odf:degreeLabel('licence', $lang)"/>
Description :
Retourne l'identifiant de la composante racine.
Signature :
String getRootOrgUnitId()
A partir de Ametys ODF 4.3.11
Description :
Retourne l'identifiant de la composante correspondant au code UAI ou null si aucune composante n'a été trouvée.
Signature :
String getOrgUnitIdByUAICode(String uaiCode)
Arguments :
Nom |
Type |
Description |
---|---|---|
uaiCode |
String |
Code UAI de la composante |