Projet Socle ENT
Pages enfant
  • 05 - Migration de données uPortal 3.2 vers uPortal 4.0

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.

...


Sommaire
outlinetrue

Références

 

Contexte

Dans le cadre de la maintenance et de l’évolution de leur portail, le consortium ESUP a souhaité s’intéresser davantage quant à la migration de données d’un portail uPortal contenus dans une instance de base de données en version 3.2 vers une instance de base en version 4.x. Ce processus n’étant pas totalement défini et validé par Jasig, il est important d’en définir ses limites ainsi que la liste exhaustive des données traitées.

...

Il est également recommandé, une fois l’export terminé, de copier l’ensemble du répertoire d'export obtenu vers un répertoire de travail qui fera l’objet de différentes modifications nécessaires à la procédure de migration vers une version 4.x. 

Import des données dans la version 4.x

 

Import des « channel-type »

 

Afin de réaliser un import de données cohérent, il est nécessaire de ne conserver dans le répertoire de travail que les fichiers « .channel-type » personnalisés, c’est-à-dire tout ceux qui ne sont pas natifs à une version 3.2 non-personnalisée. Tous les autres fichiers peuvent alors être supprimés. 

Afin de réaliser cette opération avec précaution, nous proposons d’appliquer une méthode de comparaison entre le répertoire « channel-type » exporté depuis la version 3.2 « personnalisée »  et le répertoire « channel-type » situé dans « UPORTAL_ROOT/uportal-impl/src/main/resources/properties/db/entities » d’un portail en version 3.2 et non-personnalisé. 

Transformation des « channel-type »

 

Pour les « channel-type » restant, c’est-à-dire ceux à importer en version 4.x, il est alors nécessaire de les transformer en fichiers « .portlet-type.xml » tout en modifiant la définition contenu dans chacun des fichiers (Cf. https://wiki.jasig.org/display/UPM40/Upgrade+Data+Import). 

Pour cela un script Shell Unix : « Migration-channel-type.sh » utilisant SED a été développé. Celui-ci permet de : 

  • prendre en argument le répertoire contenant tous les « channel-type » à transformer.
    Exemple de commande en résultant:

    Bloc de code
    languagebash
    linenumberstrue
    Migration-channel-type.sh « ./V3-EXPORT/channel-type ».

...

  • ajouter l'entête de définition XML dans le fichier.

 

...

  • modifier la balise ouvrante : 

    Bloc de code
    languagehtml/xml
    linenumberstrue
    <channel-type script="classpath://org/jasig/portal/io/import-channel-type_v2-6.crn"> 

    par la balise:

    Bloc de code
    languagehtml/xml
    linenumberstrue
    <portlet-type xmlns="https://source.jasig.org/schemas/uportal/io/portlet-type" xmlns:ns2="https://source.jasig.org/schemas/uportal/io/permission-owner" xmlns:ns3="https://source.jasig.org/schemas/uportal/io/stylesheet-descriptor" xmlns:ns4="https://source.jasig.org/schemas/uportal/io/portlet-definition" xmlns:ns5="https://source.jasig.org/schemas/uportal" xmlns:ns6="https://source.jasig.org/schemas/uportal/io/user" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4.0" xsi:schemaLocation="https://source.jasig.org/schemas/uportal/io/portlet-type https://source.jasig.org/schemas/uportal/io/portlet-type/portlet-type-4.0.xsd">

 

...

  • modifier la balise fermante : </channel-type> par </portlet-type>

 

 

  • supprimer la ligne contenant la balise <type> qui n'est plus nécessaire pour les « portlet-type »

 

...

  • modifier l'extension du fichier « .channel-type » par l'extension « .portlet-type.xml » utilisée en version 4.x

 

Exemple

...

pour le channel-type « Bookmarks_Portlet.channel-type »

...

Fichier « Bookmarks_Portlet.channel-type » avanttransformation :

...