Pages enfant
  • Retour expérience - migration ENT UNR RUNN

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.
Commentaire: Migrated to Confluence 5.3

...

Bloc de code
update up_ss_theme set ss_name='UROUENDLMXHTML' where ss_name='UROUEN DLM XHTML';

A VALIDER : Tenter d'éviter les erreurs type "No INIT_STRUCT_ID in UP_USER_LAYOUT for USER_ID: 13820 and LAYOUT_ID: 1"

...

Bloc de code
select count(*) from up_user where user_id not in (select user_id from up_user_layout);
insert into "up_user_layout" select '1', user_id, 'default layout', '1' from up_user where user_id not in (select user_id from up_user_layout);

...

Bloc de code
ant crn-export -Ddir=/tmp/export_ent_esup_uportal_325 -Dtype=all > /tmp/crn-export.log

L'export de certains éléments peut échouer sans pour autant stopper l'ensemble de la procédure d'export qui se termine donc malgré tout par le message BUILD SUCCESSFUL. En V3, contrairement à la V4, les tâches d'import/export ne gardent pas des logs détaillés dans des fichiers de logs spécifiques -> on redirige donc la sortie de cette commande dans le fichier /tmp/crn-export.log afin de pouvoir le consulter et vérifier que tout s'est bien passé.

On a pus constater que des layout pouvaient ne pas passer, notamment certains layout peuvent être corrompus :

Bloc de code

1019775-     [java]  WARN Corrupt layout detected: one <channel> element inside another
1019776:     [java]  WARN Layout for user:  toto@unicaen.fr is corrupt;  layout structures will not be exported

Dans ces cas là, le layout de l'utilisateur toto@unicaen.fr n'est donc pas exporté. Cet utilisateur perdra la personnalisatino de son portail lors de la migration.

Le plus embêtant ici est que le layout d'un utilisateur "owner" (porteur de la définition d'un fragment-layout) ne passe pas :

Bloc de code

1019775-     [java]  WARN Corrupt layout detected: one <channel> element inside another
1019776:     [java]  WARN Layout for user:  affiliate-univ-rouen-lo is corrupt;  layout structures will not be exported

A l'import celà posera alors forcément problème à l'import de l'ensemble des layout/utilisateurs qui dépendent du fragment-layout lié à affiliate-univ-rouen-lo

-> il faut dans ces cas-là débuguer (reprendre) le fragment-layout au niveau de votre portail V3 pour le corriger [...], puis refaire l'export ...

Import

Importation "de base" du portail 4 

...

Il faut également supprimer l'usage des vieux channel-type dans les exports des layout :

Bloc de code
find fragment-layout layout -exec sed -i 's/.*fname="header.*//' {} \;
find fragment-layout/* layout -exec /*
sed -i 's/.*fname="portal_login_general.*//' {} \;
find fragment-layout/* layout -exec /*
sed -i 's/.*fname="footer.*//' {} \;
find fragment-layout/* layout -exec /*
sed -i 's/.*fname="DLMStaticMissingChannel.*//' {} \;
find fragment-layout/* layout -exec /*
sed -i 's/.*fname="person-attributes.*//' {} \;fragment-layout/* layout/*

Si on utilisait des types maintenant dépréciés et qu'on ne souhaite (ou peut) pas remplacer, on peut supprimer leur utilisation, exemple :

Bloc de code
rm channel/rss-reader.channel

find fragment-layout layout -exec sed -i 's/.*fname="rss-reader.*//' {} \;

bug migration uPortal channels

Quelques bugs lors de la migration de l'export xml des channels en portlets :

...

fragment-layout/* layout/*

Au lieu de modifier ainsi les layout, on peut également simplement configurer le userLayoutStore pour que la tentative d'importation de portlet non existante ne soit pas considérée comme une erreur (mais un simple warning) :
modification de uportal-war/src/main/resources/properties/contexts/layoutContext.xml

Bloc de code

<bean id="userLayoutStore">
  +  <property name="errorOnMissingPortlet" value="false"/>
</bean>

Bug migration uPortal channels

Bugs lors de la migration de l'export xml des channels en portlets  (3.2 vers 4) des paramètres

hashelp (devenu hasHelp), hasabout (devenu hasAbout) et hasedit (devenu editable) -> modif de uportal-war/src/main/resources/org/jasig/portal/io/xml/portlet/upgradeChannel_32.xsl nécessaire.

Cf https://github.com/EsupPortail/esup-uportal/pull/10

theme -> stylesheet-descriptor

...

Bloc de code
ant data-import -Ddir=/tmp/export_ent_esup_uportal_325

A Valider : Debug de la base de données

Après importation, puis démarrage du portail, on obtient la "fameuse" erreur "No INIT_STRUCT_ID in UP_USER_LAYOUT" dans les logs uPortal, le portail étant bugué (écran d'exception uPortal4).

...

  • Pour 758 d'entre eux, la cause serait (à nouveau) un pb de "No INIT_STRUCT_ID in UP_USER_LAYOUT"
  • Pour les autres, a priori ils font références à des channels non importées simplement : uportal-data-dictionary, portal_userpreferences_dlm -> à supprimer dans leur layout ou à rajouter

Préférences portlets

...

personnalisées

Certaines préférences de portlets (droit d'édition ou non) ne semblent pas avoir été récupérées ?hasaboutdes utilisateurs ne sont malheureusement pas importées : présence de WARN de ce type :

Bloc de code

WARN Unable to resolve pathref 'bonamvin@univ-rouen.fr:/layout/folder/folder[6]/folder[2]/channel' for layoutOwner 'bonamvin@univ-rouen.fr'