Rapport

Fonctionnement

Ensemble de commandes de script permettant de sélectionner des éléments d'un ou plusieurs portfolios et de les présenter sous forme de tableau.

Il y a trois façons d'exécuter un script de rapport :

Les commandes

Éléments de construction de tableau

Éléments d'affichage

Boucles

Instructions

Variables et opérations

Composantes SVG

Table

Dessine un élément HTML table.

Champ à renseigner :

  • Références à initialiser Optionnel : liste des variables (séparées par une barre oblique) à réinitialiser. La variable peut avoir été déclarée précédement dans une autre commande ou peut être déclarée pour la première fois.

Rangée

Dessine un élément HTML row.

Champ à renseigner :

  • Références à initialiser Optionnel : liste des variables (séparées par une barre oblique) à réinitialiser. La variable peut avoir été déclarée précédement dans une autre commande ou peut être déclarée pour la première fois.

Cellule

Dessine un élément HTML cell. Contient habituellement un élément d'affichage (ou un élément Table, pour former des tableaux complexes).

Champ à renseigner :

  • colspan Optionnel : permet de spécifier l'attribut HTML colspan d'une cellule de tableau, soit le nombre de colonnes sur lesquelles s'étend la cellule.

Texte

Permet d'afficher du texte "programmé en dur" ie : texte fixe qui ne dépend pas des valeurs dans le portfolio (par exemple les titres de colonnes). Habituellement utilisé dans un élément Cellule.

Champs à renseigner :

  • Référence Optionnel : si utilisé, la variable enregistre la valeur obtenue par l'attribut Texte.
  • Texte Le texte à afficher.

Nœud

Permet de puiser la valeur à afficher d'un élément de portfolio (par exemple la valeur entrée par l'utilisateur dans un élément Ressource). Habituellement utilisé dans un élément Cellule.

Champs à renseigner :

  • Référence Optionnel : si utilisé, la variable enregistre la valeur affichée.
  • Type nœud Type de l'élément à sélectionner. Les options sont : root, section, page, sous-section ou nœud ressource.
  • Tag sémantique Tag sémantique de l'élément à sélectionner.
  • Afficher Valeur du nœud sélectionné à afficher. Les options sont : libellé du nœud, valeur de la ressource, code du nœud, code d'un élément Item, commentaires sur le nœud, valeur d'un élément Item ou UUID du nœud.

URL2Unit

Permet d'insérer dans le tableau un lien vers une page du portfolio. Le portfolio ne doit contenir qu'une seule page avec le tag sémantique spécifié. Habituellement utilisé à l'intérieur d'un élément Cellule.

Champ à renseigner :

  • Tag sémantique Tag sémantique de la page vers laquelle pointe le lien.

Afficher les partages

Permet d'afficher les utilisateurs qui sont partagés avec un portfolio (avec les rôles des partages). Habituellement utilisé à l'intérieur d'un élément Cellule.

Code QR

Permet d'afficher le code QR qui mène au BubbleMap contenu dans un portfolio. L'élément BubbleMap est trouvé automatiquement par Karuta (le portfolio ne doit pas contenir plus d'un élément BubbleMap). Habituellement utilisé à l'intérieur d'un élément Cellule.

Europass

Permet d'afficher l'Europass contenu dans un portfolio. L'élément Europass est trouvé automatiquement par Karuta (le portfolio ne doit pas contenir plus d'un élément Europass). Comme l'Europass comprends sa propre mise en tableau, il n'est pas nécessaire de placer cet élément à l'intérieur d'un élément Cellule.

Login utilisateur

Permet d'afficher le login (identifiant) de l'utilisateur qui exécute le report (par exemple, l'étudiant qui regarde son propre portfolio).

Prénom utilisateur

Permet d'afficher le prénom de l'utilisateur qui exécute le report (par exemple, l'étudiant qui regarde son propre portfolio).

Nom famille utilisateur

Permet d'afficher le nom de famille de l'utilisateur qui exécute le report (par exemple, l'étudiant qui regarde son propre portfolio).

Prénom et nom famille

Permet d'afficher le prénom et le nom de famille de l'utilisateur qui exécute le report (par exemple, l'étudiant qui regarde son propre portfolio).

Pour chaque nœud

Les commandes qui se trouvent à l'intérieur de cet élément sont exécutées pour chacun des éléments du portfolio qui répondent aux critères Type de nœud, Tag sémantique et Test.

Champs à renseigner :

  • Références à initialiser Optionnel : liste des variables (séparées par une barre oblique) à réinitialiser pour chaque nouvel élément. La variable peut avoir été déclarée précédement dans une autre commande ou peut être déclarée pour la première fois.
  • Variable compteur Optionnel : permet de déclarer une variable compteur qui est incrémentée à chaque tour de la boucle et peut être utilisée à l'intérieur de celle-ci.
  • Type nœud Type des éléments à sélectionner (liste déroulante des choix possibles).
  • Tag sémantique Tag sémantique des éléments à sélectionner.
  • Test Optionnel : test jQuery permettant de filtrer parmis les éléments répondant aux deux critères précédents. Si pas utilisé, tous les nœuds qui répondent aux deux critères précédents sont traités.

Tests prédéfinis :

  • .sort() Trie la liste des nœuds résultats sur le libellé, en ordre croissant.
  • .invsort() Trie la liste des nœuds résultats sur le libellé, en ordre décroissant.
  • .sortResource() Trie la liste des nœuds résultats sur la ressource, en ordre croissant.
  • .invsortResource() Trie la liste des nœuds résultats sur la ressource, en ordre décroissant.
  • .sortUTC() Trie une liste d'éléments Calendrier sur la date, en format international (peu importe le format d'affichage choisi dans l'élément Calendrier).
  • .invsortUTC() Trie une liste d'éléments Calendrier sur la date, en format international (peu importe le format d'affichage choisi dans l'élément Calendrier).
  • .filename_not_empty() S'applique aux éléments Document et vérifie si un fichier a été téléversé dans l'élément (vérifie que l'élément n'est pas vide).
  • .filename_empty() S'applique aux éléments Document et vérifie si un fichier a été téléversé dans l'élément (vérifie que l'élément est vide).
  • .url_not_empty() S'applique aux éléments URL et vérifie si un hyperlien a été enregistré (vérifie que l'élément n'est pas vide).
  • .url_empty() S'applique aux éléments URL et vérifie si un hyperlien a été enregistré (vérifie que l'élément est vide).
  • .code_not_empty() S'applique aux éléments Ressource et indique que le code existe (vérifie que le code n'est pas vide).
  • .code_empty() S'applique aux éléments Ressource et indique que le code n'existe pas (vérifie que le code est vide).
  • .text_not_empty() S'applique aux éléments Texte court et Texte long et vérifie si du texte a été enregistré dans la Ressource (vérifie que l'élément n'est pas vide).
  • .text_empty() S'applique aux éléments Texte court et Texte long et vérifie si du texte a été enregistré dans la Ressource (vérifie que l'élément est vide).
  • .submitted() Vérifie l'élément a été soumis.

Les tests prédéfinis peuvent être combinés. Par exemple : .sort().first() retournera le premier élément de la liste triée.

Exemples de fonctions jQuery :

  • .first() Retourne le premier élément de la liste résultat.
  • .not(':eq(0)') Retourne la liste sauf le premier élément.
  • .last() Retourne le dernier élément de la liste résultat.
  • .has("code:contains('2')") Sélectionne les éléments dont le code contient un "2".
  • .siblings().has("metadata[semantictag*=job-title]") Retourne la liste des éléments de même niveau (dans l'arborescence XML) contenant le tag sémantique "job-title".
  • .has("metadata-wad[submitted='Y']").last() Retourne le dernier élément ayant été soumis.
  • .has("metadata-wad[private='N']").last() Retourne le dernier élément qui est visible.
  • .has('asmContext:has("metadata[semantictag*=visibility-cv-short]"):has ("code:contains(@1)")') Retourne un élément si celui-ci a un enfant avec le tag sémantique "visibility-cv-short" et dont le code contient "@1".
  • .sortElements(function(a, b){ return $("code",$("asmResource[xsi_type=Get_Resource]",a)) .text() > $("code",$("asmResource[xsi_type=Get_Resource]",b)).text() ? 1 : -1; }) Trie sur le code du Get_Resource.

Pour chaque portfolio

Les commandes qui se trouvent à l'intérieur de cet élément sont exécutées pour chacun des portfolios répondant au test Sélection portfolios.

Champs à renseigner :

  • Références à initialiser Optionnel : liste des variables (séparées par une barre oblique) à réinitialiser pour chaque nouveau portfolio. La variable peut avoir été déclarée précédement dans une autre commande ou peut être déclarée pour la première fois ici.
  • Variable compteur Optionnel : permet de déclarer une variable compteur qui est incrémentée à chaque tour de la boucle et peut être utilisée à l'intérieur de celle-ci.
  • Sélection portfolios Test jQuery permettant de sélectionner des portfolios parmi ceux visibles par l'utilisateur. Exemples :
    • code*='2015_work' Sélection des portfolios dont le code contient "2015_work".
    • code*=portfolio_code Sélection des portfolios dont le code contient le contenu de la variable porfolio_code.
  • Tri - Tag sémantique Optionnel : tag sémantique du nœud sur lequel doit se faire le tri des portfolios. Si pas utilisé, les portfolios sortent dans l'ordre naturel des codes de portfolio.
  • Tri - Élément Valeur du nœud sélectionné à partir de laquelle faire le tri. Les options sont : libellé du nœud, valeur de la ressource, code du nœud ou valeur d'un élément Item (liste déroulante des choix possibles).

Pour chaque nœud de portfolio

Les commandes qui se trouvent à l'intérieur de cet élément sont exécutées pour chacun des portfolios répondant au test Sélection portfolios. Contrairement à la commande précédente, ce n'est pas tout le portfolio qui est chargé mais uniquement le nœud spécifié dans Tag sémantique. Ceci permet une exécution plus rapide dans le cas de gros portfolios.

Champs à renseigner :

  • Références à initialiser Optionnel : liste des variables (séparées par une barre oblique) à réinitialiser pour chaque nouveau portfolio. La variable peut avoir été déclarée précédement dans une autre commande ou peut être déclarée pour la première fois.
  • Variable compteur Optionnel : permet de déclarer une variable compteur qui est incrémentée à chaque tour de la boucle et peut être utilisée à l'intérieur de celle-ci.
  • Sélection portfolios Test jQuery permetant de sélectionner des portfolios parmi ceux visibles par l'utilisateur. Exemples :
    • code*='2015_work' Sélection des portfolios dont le code contient "2015_work".
    • code*=portfolio_code Sélection des portfolios dont le code contient le contenu de la variable porfolio_code.
  • Tri - Tag sémantique Optionnel : tag sémantique du nœud sur lequel doit se faire le tri des portfolios. Si pas utilisé, les portfolios sortent dans l'ordre naturel des codes de portfolio.
  • Tri - Élément Valeur du nœud sélectionné à partir de laquelle faire le tri. Les options sont : libellé du nœud, valeur de la ressource, code du nœud ou valeur d'un élément Item (liste déroulante des choix possibles).
  • Tag sémantique Tag sémantique du ou des nœuds du portfolio à charger pour l'exécution.

Pour chaque ligne

Les commandes qui se trouvent à l'intérieur de cet élément sont exécutées pour chacune des lignes du fichier CSV. Cet élément doit contenir au moins un des trois éléments suivants : Pour chaque personne, Pour chaque portfolio ou Pour chaque nœud de portfolio.

Pour un élément ForEachPerson : dans l'attribut Sélection personnes, si la valeur est "username=identifiant" (sans guillemets), Karuta remplacera "identifiant" par la valeur de la variable locale identifiant du fichier CSV.

Pour un élément ForEachPortfolio ou ForEachPortfolioNode : dans l'attribut Sélection portfolios, si la valeur est "code=portfolio_code" (sans guillemets), Karuta remplacera "portfolio_code" par la valeur de la variable locale portfolio_code du fichier CSV.

Boucle

Permet d'implémenter une boucle de type "for i = x..y". Les commandes à l'intérieur de la boucle seront exécutées pour le nombre d'itérations contenues entre Premier et Dernier.

Champs à renseigner :

  • Références à initialiser Optionnel : liste des variables (séparées par une barre oblique) à réinitialiser pour chaque nouveau portfolio. La variable peut avoir été déclarée précédement dans une autre commande ou peut être déclarée pour la première fois.
  • Variable compteur Optionnel : permet de déclarer une variable compteur qui est incrémentée à chaque tour de la boucle et peut être utilisée à l'intérieur de celle-ci.
  • Premier Première itération de la boucle (habituellement 1).
  • Dernier Dernière itération de la boucle (peut être une valeur, une variable, la longueur d'un tableau de références, etc).

Monter au parent

Permet de remonter au parent du nœud courrant dans l'arbre XML. Peut être utilisé imbriqués un dans l'autre pour remonter jusqu'à la racine du portfolio.

Si Alors Sinon

Permet d'implémenter une instruction conditionnelle de type "if-then-else".

Champ à renseigner :

  • Test test javascript ou jQuery qui détermine si ce sont les actions du alors ou les actions du sinon qui seront exécutées (doit retourner vrai ou faux).

Variable

Permet de déclarer une variable et de lui assigner une valeur initiale.

Champs à renseigner :

  • Référence Optionnel : si utilisé, la référence enregistre la valeur initiale assignée à la variable.
  • Nom de la variable nom de la variable.

Il y a cinq méthodes pour l'assignation de la valeur initiale :

  • Valeur du nœud Permet de puiser la valeur de la variable d'un élément de portfolio (par exemple la valeur entrée par l'utilisateur dans un élément Ressource). Voir élément d'affichage Nœud.
  • Valeur par aggrégat Permet d'assigner à la variable la somme ou la moyenne des valeurs contenues dans une Référence. Voir élément Agrégat.
  • Valeur par opération Permet d'assigner à la variable le résultat d'une opération. Voir élément Opération.
  • Champ valeur Permet d'assigner une valeur "programmée en dur" ie : texte fixe qui ne dépend pas des valeurs dans le portfolio. Équivalent de l'élément d'affichage Texte.
  • Autre variable Permet d'assigner la valeur d'une autre variable.

Agrégat

Permet d'afficher la somme ou la moyenne des valeurs contenues dans une variable Référence. La Référence a précédemment été déclarée dans l'attribut Références à initialiser d'un élément Table, Rangée ou d'une boucle, et a collecté les valeurs des éléments où elle est référencée (attribut Référence). Elle est habituellement référencée dans un élément Nœud (ou Texte).

Référence dans un élément Nœud : Fonctionne uniquement avec la Valeur d'un élément Item (Item - Valeur).

Référence dans un élément Text : doit contenir uniquement une valeur numérique.

Champs à renseigner :

  • Référence Optionnel : si utilisé, la variable enregistre la valeur résultante de l'agrégation.
  • Type agrégation Somme ou moyenne (liste déroulante des choix possibles).
  • Sélection référence Nom de la variable qui contient les valeurs à agréger.

Opération

Permet d'afficher le résultat d'une opération arithmétique.

Champs à renseigner :

  • Référence Optionnel : si utilisé, la variable enregistre la valeur résultante de l'opération.
  • Type d'opération Addition, division, multiplication, pourcentage ou soustraction (liste déroulante des choix possibles).
  • Opérande 1 Premier opérande de l'opération.
  • Opérande 2 Deuxième opérande de l'opération.

SVG

Initialise un dessin vectoriel SVG. Les commandes de dessin disponibles permettent de construire des diagrammes en étoile tel qu'illustré ci-dessous :

Note importante : l'élément Table qui contient l'élément SVG doit avoir l'instruction "width:100%;" dans le champ "Autre CSS" de l'onglet "CSS" :

Champs à renseigner :

  • Largeur minimale Largeur minimale (par défaut 100%).
  • Hauteur minimale Hauteur minimale (par défaut 500px).

Titre SVG

Affiche le titre du dessin SVG.

Champs à renseigner :

  • Titre - Type nœud Type de l'élément à sélectionner (liste déroulante des choix possibles).
  • Titre - Tag sémantique Tag sémantique de l'élément à sélectionner.
  • Titre - Afficher Valeur du nœud sélectionné à afficher (liste déroulante des choix possibles). Les options sont : libellé du nœud, valeur de la ressource, code du nœud, commentaires sur le nœud, UUID du nœud, code d'un élément Item ou valeur d'un élément Item.

Axe SVG

Trace les axes de l'étoile, avec leurs libellés.

Champs à renseigner :

  • Référence Optionnel : si utilisé, la variable enregistre la valeur obtenue par l'attribut Afficher.
  • Axe - Type nœud Type de l'élément à sélectionner (liste déroulante des choix possibles).
  • Axe - Tag sémantique Tag sémantique de l'élément à sélectionner.
  • Axe - Afficher Valeur du nœud sélectionné à afficher (liste déroulante des choix possibles). Les options sont : libellé du nœud, valeur de la ressource, code du nœud, commentaires sur le nœud, UUID du nœud, code d'un élément Item ou valeur d'un élément Item.

Courbe SVG

Place les points sur les axes et trace une ligne entre les points (pour former l'étoile). Affiche également la légende de l'élément SVG. Il est possible d'utiliser plusieurs éléments Courbe SVG dans le même élément SVG. Les étoiles seront superposées sur les mêmes axes avec des couleurs différentes.

Champs à renseigner pour placer les points sur les axes :

  • Référence Optionnel : si utilisé, la variable enregistre la valeur obtenue par l'attribut Afficher.
  • Points - Type nœud Type de l'élément à sélectionner (liste déroulante des choix possibles).
  • Points - Tag sémantique Tag sémantique de l'élément à sélectionner.
  • Points - Afficher Valeur du nœud sélectionné à afficher (liste déroulante des choix possibles). Les options sont : libellé du nœud, valeur de la ressource, code du nœud, commentaires sur le nœud, UUID du nœud, code d'un élément Item ou valeur d'un élément Item.

Champs à renseigner pour la graduation des axes :

  • Axe - Valeur minimale Valeur inférieure pour la graduation des axes.
  • Axe - Valeur maximale Valeur supérieure pour la graduation des axes.

Champs à renseigner pour construire la légende :

  • Légende - Type nœud Type de l'élément à sélectionner (liste déroulante des choix possibles).
  • Légende - Tag sémantique Tag sémantique de l'élément à sélectionner.
  • Légende - Afficher Valeur du nœud sélectionné à afficher dans la légende. Les options sont : libellé du nœud, valeur de la ressource, code du nœud ou valeur d'un élément Item (liste déroulante des choix possibles).
  • Légende - Position Entier donnant la position relative de la légende (par défaut 0, ce qui positionne la légende au plus bas).

Commandes CSV

Les commandes CSV sont utilisées avec la fonction de menu execReport_BatchCSV (voir FONCTIONS MENU. Cette fonction permet de créer en mémoire un fichier CSV temporaire qui est passé en paramètre à un batch. Autrement dit, un fichier CSV est construit à partir d'un portfolio puis fournit à un script de batch. Une fois la fonction exécutée le fichier n'est pas conservé.

Exemple de script de rapport :

Exemple de fichier temporaire résultant :

Ligne CSV

Ajoute une ligne au fichier CSV temporaire. Il faut ensuite remplir les colonnes de la ligne, habituellement avec une combinaison d'éléments Texte (pour les valeur "en dur") et d'éléments Valeur CSV (pour tirer des valeurs du portfolio).

Valeur CSV

Équivalent de l'élément d'affichage Nœud pour écrire dans un fichier CSV.

Champs à renseigner :

  • Type nœud Type de l'élément à sélectionner (liste déroulante des choix possibles).
  • Tag sémantique Tag sémantique de l'élément à sélectionner.
  • Afficher Valeur du nœud sélectionné à afficher (liste déroulante des choix possibles). Les options sont : libellé du nœud, valeur de la ressource, code du nœud, commentaires sur le nœud, UUID du nœud, code d'un élément Item ou valeur d'un élément Item.