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.

Migration du package

Si vous avez des modifications de code, vous pouvez faire un pull (merge) de votre esup-uportal pour récupérer la 4.2 3 - vous aurez alors forcément des conflits à résoudre.

Dans la majorité des cas, il sera cependant plus simple de repartir d'une version esup-uportal 4.2 3 fraiche.

L'implémentation du thème étant complètement refondue (university -> respondr), vous devrez réimplementer complètement vos ajustements graphiques.

...

L'intégration du driver correspondant à la base de données choisi (postgresql par exemple) se fait maintenant non plus dans le pom.xml principal mais dans uportal-db/pom.xml.

Migration des données

Le changement de thème en respondr est l'occasion de revoir votre ENT. Comme conseillé sur les documentations Jasig https://wiki.jasig.org/display/UPM41/Database+Changes et https://wiki.jasig.org/display/UPM42/Upgrade+Data+Import il semble préférable de repartir d'une base vierge (initdb).

...

La démarche est très similaire aux migrations précédentes : export depuis la version précédente pour import dans la nouvelle version - cf la page "Retour expérience - migration ENT UNR RUNN" qui concernait une migration de 3.5 vers 4.0.

Mode opératoire

L'idée est de conserver un ENT dans l'ancienne version - nos tests ont été faits ici avec un esup-uportal en version 4.0  (version uportal-4.0.15-esup-2 dans nos tests).

...

On procédera aux imports sur le nouvel ENT (4.23).

Entre deux, on devra parfois modifier la structure des fichiers pour les passer d'une structure de 4.0 à une structure de 4.2 3 - on utilisera pour ce faire des commandes bash ou scripts python.

Groupes PAGS

On récupère les groupes PAGS de notre 4.0 en récupérant simplement le fichier uportal-war/src/main/resources/properties/groups/PAGSGroupStoreConfig.xml

...

Info
titlegroup key / name

Notez bien que le group-key a disparu, il ne reste plus que le (group) name !

Cela peut avoir une forte incidence sur les configurations (descripteurs xml, configs en BD comme pour CalendarPortlet, ....) des portlets - notamment les configurations dans lesquelles on spécifie des identifiants de groupes : en effet vous ne pouvez plus identifier un groupe par (exemple) pags.member-univ-rouen mais par son nom directement uniquement ("Université de Rouen" par exemple).

Aussi pour esup-filemanager par exemple (c'est valable pour plein d'auters portlets !), dans le fichier drives.xml vous devrez éventuellement changer les identifiants des groupes - exemple :

<property name="group" value="pags.univ-rouen" /> pourra devenir <property name="group" value="Université de Rouen" />

 

 

Groupes locaux

On récupère les groupes locaux depuis la 4.0 via la commande ant data-export -Ddir=/tmp/ent42 -Dtype=group-membership

On peut alors les réimporter directement depuis la 4.ant data-import -Ddir=/tmp/ent42/group-membership

Nouveaux groupes dans uPortal4.

...

3

Les opérations de récupération des groupes fonctionnent bien et peuvent être utiles (dans certaines conditions, comme dit ci-dessus) mais elles ont l'inconvénient de ne pas prendre en compte les nouveaux groupes amenés par uPortal 4.23.

Et ces groupes peuvent s'avérer nécessaire pour pouvoir bénéficier pleinement des nouvelles fonctionnalités comme les tenants par exemple.

Ainsi vous devrez (via des export/import depuis l'IHM) redéfinir certains groupes pour mixer vos groupes spécifiques et les groupes issus de 4.23.

Ainsi le groupe "Everyone" contient les groupes "Tenants" et "Tenant Administrators" par exemple qui n'étaient pas présents avant la 4.23.

"PAGS Root" contient quant à lui le groupe "Respondr Theme Users".

Définitions de portlets

On récupère les définitions de portle depuis la 4.0 via la commande ant data-export -Ddir=/tmp/ent42 -Dtype=portlet-definition

On peut alors les réimporter directement depuis la 4.23 ant data-import -Ddir=/tmp/ent42/portlet-definition

...

Attention également à ce que votre uPortal connaisse bien avant tous les types de portlets que vous cherchez à importer.
La WebProxyPortlet n'est plus connu par défaut en 4.2 3 (contrairement à la 4.0) - aussi, vous pouvez exporter les "portlet-type" ant data-export -Ddir=/tmp/ent42 -Dtype=portlet-type puis sélectionner les portlet-type voulus (par exemple Web_Proxy_Portlet.portlet-type.xml donc == suppreimer tous les autres fichiers à part celui-ci) pour le réimporter  ant data-import -Ddir=/tmp/ent42/portlet-types
Il nous a fallu également  récupérer le fichier uportal-war/src/main/resources/org/jasig/portal/portlets/webproxy/WebProxyPortlet.cpd.xml depuis une 4.0 pour le copier dans la 4.23

Définition des fragments

Vous pouvez enfin récupérer les fragment-definition en récupérant également avant les user type "lo" (layout owner) - pour ce faire, il faudra faire un export des user ant data-export -Ddir=/tmp/ent42 -Dtype=user puis n'importer que les layout owner (en -lo si vous avez nommé logiquement ces utilisateurs particuliers).

...

où 10 est le user_id de l'utilisateur ayant pour user_name "defaultTemplateUser"

 

fragment-layout

Vous pouvez enfin récupérer vos fragment-layout de la même manière par ce système d'import/export : 

...

ant data-export -Ddir=/tmp/ent42/fragment-layout depuis votre esup-uportal 4.23

Info

Comme pour la migration 3.5 vers 4.0, nous avons dû supprimer dans les (fragment-)layout des références à DLMStaticMissingChannel qui n'existe pourtant plus depuis la 4.0 normalement ...

Bloc de code
sed -i 's/.*fname="DLMStaticMissingChannel.*//' fragment-layout/* layout/*

 

 

 

layout

Restent enfin éventuellement les layout de l'ensemble de vos utilisateurs à migrer.

...