Ametys ODF 4.9, permet de choisir dans les paramètres de configuration, la nomenclature à utiliser pour les objets ODF créés dans le back-office (formation, parcours, conteneur, liste, ELP, heure d'enseignements, composante):
Par défaut 2 nomenclatures sont possibles:
Code aléatoire: code aléatoire basé sur le temps système en millisecondes
Code incrémental préfixé en fonction du type: FOR1, FOR2, .. PAR1, PAR2, ... CTN1, CTN2, ...LST1, LST2, .., ELP1, ELP2, ..., CMP1, CMP2, ..., HE1, HE2, ...
Personnaliser la nomenclature
Il est possible de définir sa propre nomenclature en définissant une nouvelle extension de type "org.ametys.odf.content.code.UniqueCodeGeneratorExtensionPoint"
Pensez à déclarer l'extension dans une feature "safe" pour pouvoir sélectionner votre extension dans les paramètres de configuration en safe mode
Exemple 1: Définir ces propres préfixes en fonction des objets ODF
Cet exemple permet de définir une nouvelle nomenclature avec ses propres préfixes par type et code incrémental
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Votre classe devra étendre la classe "org.ametys.odf.content.code.AbstractUniqueCodeGenerator" et implémenter sa propre méthode generateUniqueCode(String cTypeId)
Attention vous devez vous assurer que le code généré est unique !
Code d'affichage
A partir de Ametys ODF 4.9, il est possible dans les paramètres de configuration de choisir le code des contenus ODF utilisés pour l'affichage (maquette, outils de recherche, tableaux de bord, ...) et dans les exports ou extractions.
Ametys propose par défaut 5 codes d'affichage possibles:
Code Ametys : il s'agit du code interne, unique. Son format dépend de la nomenclature choisie (cf. plus haut).
Code de synchronisation Apogée(apogeeSyncCode)
Code de synchronisation Pégase(pegaseSyncCode)
Code de synchronisation CDMfr(cdmfrSyncCode)
Code Apogée Ce dernier est composé des codes Apogée apportés par le plugin Pilotage:
pour les formations et parcours il est composé des champs Code DIP (codeDIP) et Code VDI (codeVSRVDI) séparé par un "-"
pour les conteneurs il est composé des champs Code ETP (etpCode) et Code VET (vsrEtpCode) séparé par un "-"
pour les ELP il est égal au champ Code ELP (elpCode)
Si le code choisi pour l'affichage est vide, c'est le code Ametys qui sera utilisé.
Dans les moteurs de recherche, le critère "Code" permet de rechercher à la fois sur le code d'affichage sélectionné et le code Ametys. Pour que la recherche soit fonctionnelle, une réindexation totale est nécessaire à chaque modification du paramètre de configuration "Code d'affichage)
Personnaliser le code d'affichage
Il est possible de définir son propre fournisseur pour le code d'affichage en définissant une nouvelle extension de type "org.ametys.odf.content.code.DisplayCodeProviderExtensionPoint"
Pensez à déclarer l'extension dans une feature "safe" pour pouvoir sélectionner votre extension dans les paramètres de configuration en safe mode
Exemple 1: Code basé sur un ou plusieurs champs du modèle
Pour chaque type de contenu, lister les champs devant composer le code comme dans les 2 exemples ci-dessous:
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Votre classe devra étendre la classe "org.ametys.odf.content.code.AbstractStaticProgramItemDisplayCodeProvider" et implémenter sa propre méthode getDisplayCode(Content content)