Projet Socle ENT
Pages enfant
  • Notes pour une migration 4.0 vers 4.3 ...

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Les groupes PAGS sont maintenant stockés en base de données, on peut les importer via une commande ant data-import, mais il faut pour ce faire disposer d'un fichier XML PAGS par groupe.

Cf la doc Jasig derrière le lien suivant https://wiki.jasig.org/pages/viewpage.action?pageId=65274412 , la structure du xml a de plus quelque peu changé, il faut donc retravailler vos blocs xml en plus de les découper.

Si vous avez beaucoup de groupes, il est intéressant de procéder à cette restructuration par scripts - comme ici : 

Bloc de code
languagepy
#!/usr/bin/env python                                                                                                                                                                                                                       
# -*- coding: utf-8 -*-    
                                                                                      
import libxml2, sys

doc = libxml2.parseFile("PAGSGroupStoreConfig.xml")
mapId2Name = {
    'desktop_device_access':'Desktop Device Access',
    'mobile_device_access':'Mobile Device Access',
    'respondr_theme_users':'Respondr Theme Users'
}

for n in doc.xpathEval("//group"):
    mapId2Name[n.xpathEval("group-key")[0].getContent()] = n.xpathEval("group-name")[0].getContent()

for n in doc.xpathEval("//group"):
    n.setName('pags-group')
    n.setProp('script', 'classpath://org/jasig/portal/io/import-pags-group_v4-1.crn')

for n in doc.xpathEval("//member-key"):
    n.setName('member-name')
    n.setContent(mapId2Name[n.getContent()])

for n in doc.xpathEval("//group-name"):
    n.setName('name')

for n in doc.xpathEval("//group-description"):
    n.setName('description')

for n in doc.xpathEval("//group-key"):
    n.unlinkNode()

for group in doc.xpathEval("//pags-group"):
    name = group.xpathEval("name")[0].getContent()
    f = open( name + '.pags-group.xml','w')
    group.saveTo(f)
 

 TODO

Puis on réimporte les groupes PAGS ainsi :

...