ODF - Domaines multiples


Cette page ne doit être appliquée que si le script vous demande de passer la migration manuelle ODF.20230220.multiple.domains

Cette migration vous est demandée si vous avez dans votre projet une surcharge du type de contenu Formation, Parcours ou Formation ou Parcours, avec à l'intérieur l'attribut domain très probablement défini avec une cardinalité simple.

L'attribut domain doit redevenir multiple, comme c'est défini dans le noyau.

Etape 1 : Restaurer la cardinalité

Dans le(s) fichier(s) ciblé(s) par la migration assistée, supprimez la surcharge existante dans votre projet ou bien changez la cardinalité (ajoutez multiple="true") de l'attribut domain.

Etape 2 : Migrer les données

Ensuite vous avez deux choix :

  1. Conserver une donnée équivalente avec une cardinalité simple.
  2. Recommandé : Se rapprocher de ce qui est fait dans le noyau en modifiant les références problématiques avec une cardinalité multiple.

Dans tous les cas, vous devrez télécharger ce plugin et l'ajouter à votre projet (temporairement ou non selon le cas) : multiple-domains (en 4.6, il faut utiliser cette version).

Etape 2.a : Conserver une donnée avec une cardinalité simple

Ajouter le plugin tel quel dans votre projet.

La migration de données se fera automatiquement au lancement :

  • Changement de la cardinalité des données enregistrées de simple à multiple.
  • Remplissage de l'attribut firstDomain (voir ci-après).
  • Modification des catalogues utilisant domain pour utiliser la donnée firstDomain.

L'attribut firstDomain est automatiquement ajouté au type de contenu Formation ou parcours (abstractProgram), mais il n'est pas visible dans les vues, il sera automatiquement mis à jour par un Observer nommé fr.ametys.plugin.multiple.domains.FirstDomainObserver à chaque modification du contenu.

Pour que l'attribut firstDomain continue à fonctionner, il faut conserver le plugin. Il peut être supprimé à tout moment si vous changez d'avis mais il faudra migrer les catalogues manuellement pour ne plus pointer vers firstDomain.

Etape 2.b : Se rapprocher du noyau (choix recommandé)

Ajouter le plugin dans votre projet et modifier le fichier plugin.xml pour commenter la feature attribute.first.domain ou bien désactiver cette feature via le fichier runtime.xml : multiple-domains/attribute.first.domain.

La migration de données se fera automatiquement au lancement :

  • Changement de la cardinalité des données enregistrées de simple à multiple.
  • Suppression de la référence domain des catalogues l'utilisant. Le niveau du catalogue est décalé si nécessaire.

Le plugin peut être supprimé une fois que les migrations ont été effectives. Pensez à supprimer l'exclusion de feature dans runtime.xml si vous avez choisi cette méthode.

Toutes les indications sont également disponibles dans le fichier README.md disponible à la racine du plugin.

Retour en haut