Activer la mutualisation

Pour activer les éléments pédagogiques, il faut aller dans la configuration du CMS dans l'onglet Offre de formation et cocher Activer la mutualisation 

 

 

Fichier de configuration

Lorsqu'un élément pédagogique va être créé, les champs de mutualisation vont automatiquement s'initialiser.

Il est possible de paramétrer cette initialisation en ajoutant le fichier shareable-configuration.xml dans WEB-INF/param de votre application.

<shareable-fields auto-validated="true">    
 <shareable>true</shareable>    
 <shareable-programs>OWN</shareable-programs>    
 <shareable-degrees>OWN</shareable-degrees>    
 <shareable-periods>OWN</shareable-periods>    
 <shareable-orgunits>OWN</shareable-orgunits>    
</shareable-fields>    

 <shareable>

true pour dire que les éléments pédagogiques sont ouvert à la mutualisation lors de leur création.
false par défaut

<shareable-programs> 

OWN pour qu'à la création des éléments pédagogiques, ce champs s'initialise avec les identifiants des programmes parents à l'élément pédagogique.
id1,id2,id3 les identifiants JCR des programmes (séparés par une virgule) sur lesquels va s'initialiser ce champs.

Par défaut, aucune valeur n'est renseignée. Le champs ne sera donc pas initialisé.

<shareable-degrees>

OWN pour qu'à la création des éléments pédagogiques, ce champs s'initialise avec les identifiants des type de diplôme des programmes parents à l'élément pédagogique.
cdm1,cdm2 les code CDM des types de diplôme (séparés par une virgule) sur lesquels va s'initialiser ce champs.

Par défaut, aucune valeur n'est renseignée. Le champs ne sera donc pas initialisé.

 <shareable-periods>

OWN pour qu'à la création des éléments pédagogiques, ce champs s'initialise avec les identifiants des semestres des conteneurs parents à l'élément pédagogique.
cdm1,cdm2 les code CDM des semestres (séparés par une virgule) sur lesquels va s'initialiser ce champs.

Par défaut, aucune valeur n'est renseignée. Le champs ne sera donc pas initialisé.

 <shareable-orgunits>

OWN pour qu'à la création des éléments pédagogiques, ce champs s'initialise avec les identifiants des composantes des programmes parents à l'élément pédagogique.
id1,id2,id3 les identifiants JCR des composantes (séparés par une virgule) sur lesquels va s'initialiser ce champs.

Par défaut, aucune valeur n'est renseignée. Le champs ne sera donc pas initialisé.

 auto-validated

true pour dire que les éléments pédagogiques sont validés à la mutualisation lors de leur création.
false par défaut

Script d'initialisation

Il est possible d'initialiser tous les éléments pédagogiques déjà existants à l'aide d'un script JCR. Ce script va s'appuyer sur le fichier de configuration ci-dessus.

Ce script peut prendre plusieurs heures si il y a beaucoup de données.

var shareableCourseHelper = serviceManager.lookup("org.ametys.odf.course.ShareableCourseHelper");   
   
var count = {   
    existing: 0,   
    done: 0   
};   
   
jcrXPathQuery("//element(*, ametys:courseContent)[@ametys-internal:contentType='org.ametys.plugins.odf.Content.course']").forEach(function (content) {   
   
    count.existing++;   
   
    migrateContent(content,   
        [_initializeShareableFields],   
        false,   
        null,   
        false);   
   
    count.done++;   
   
})   
   
print(count.done + " ELP(s) migrated on " + count.existing + " existing ELP(s)");   

function _initializeShareableFields(content)   
{   
    var courseListParents = content.getParentCourseLists();   
    shareableCourseHelper.initializeShareableFields(content, courseListParents, org.ametys.core.user.population.UserPopulationDAO.SYSTEM_USER_IDENTITY, true);   
}   

 Après ce script, il faudra :

  • Si vous êtes sur une application WEB, reconstruire le live complet.
  • Sinon lancer une indexation totale.
Retour en haut