...
, avec « IChannel1.fragment-layout » correspondant au fichier « fragment-layout » contenant un ou plusieurs IChannel et n’ayant donc pu être importée lors de la première tentative d’import.
Import des « permission_set »
L’import des « permission_set » ne devrait nécessiter aucune étape supplémentaire de traitement ou modification. Il suffit juste d'importer tout le contenu du répertoire dans la version 4.x via la commande Ant :
| Bloc de code | ||
|---|---|---|
| ||
ant data-import -Ddir="./V3-EXPORT/permission_set" |
, avec Ddir ayant pour valeur le chemin vers le répertoire contenant les « permission_set » exportés.
Si l'import s'est déroulé avec succès, un message « Build successful » devrait alors être affiché dans la console. Dans le cas échéant, un message « Build failed » sera alors affiché et les traces détaillant les différentes erreurs rencontrées seront alors visibles dans le répertoire « UPORTAL_ROOT/target/data-import-reports » du portail en version 4.x.
Migration des « fragment-definition »
A partir de la version 4.0.4 d'uPortal, la définition des fragments a été revue. En effet, désormais celle-ci n'est plus gérée par défaut via le fichier « dlm.xml » situé dans le répertoire « UPORTAL_ROOT/uportal-war/src/main/resources/properties » mais directement en base de données via un bean Java associé.
Afin que ces « fragment-definition » exportés depuis la version 3.2 soient bien intégrés lors de la migration vers la 4.x deux possibilités sont proposées par Jasig :
- la première solution consiste à modifier le comportement d'uPortal v4.x afin de revenir à une gestion des définitions de fragment via le fichier « dlm.xml ».
- la deuxième consiste à laisser la gestion des « fragment-definition » en base des données et à créer les fichiers « fragment-definition » associés à ceux de la version 3.2.
Import des « fragment-definition » via dlm.xml
Comme indiqué précédemment, depuis la version 4.0.4 d’uPortal la gestion des fragments est persistée en base et n’est plus gérée via le fichier « dlm.xml » tel que c’était le cas auparavant. Cependant Jasig permet toujours dans ces dernières versions de basculer la gestion des fragments via le fichier « dlm.xml » afin de faciliter notamment les procédures de migration telles que celle-ci. Pour effectuer cette manipulation deux actions sont alors à effectuer :
- La première consiste à modifier le fichier « layoutContext.xml » (situé dans « UPORTAL_ROOT/uportal-war/src/main/resources/properties/contexts ») comme suit :
commenter le bean lié à la classe « RDBMConfigurationLoader » :
Bloc de code language html/xml <!-- Mise en commentaire du bean lié à la gestion des fragments en base <bean id="dlmConfigurationLoader" class="org.jasig.portal.layout.dlm.RDBMConfigurationLoader"> <property name="fragmentDao" ref="fragmentDefinitionDao" /> </bean> -->Il faut alors décommenter dans ce même fichier le bean lié à la classe « LegacyConfigurationLoader » permettant de gérer les définitions de fragments via le fichier « dlm.xml » :
Bloc de code language html/xml linenumbers true <bean id="dlmConfigurationLoader" class="org.jasig.portal.layout.dlm.LegacyConfigurationLoader"> <property name="configurationFile" value="classpath:/properties/dlm.xml" /> </bean>- Désormais le portail utilisera la gestion des « fragment-definition » via le fichier « dlm.xml » qu’il est nécessaire de récupérer depuis la version 3.2.
Afin d’utiliser dans la version 4.x du portail les « fragment-definition » définis dans la version 3.2, il est alors nécessaire de copier le fichier « dlm.xml » situé dans le répertoire « UPORTAL_ROOT/uportal-impl/src/main/resources/properties » du portail 3.2 vers le répertoire « UPORTAL_ROOT/uportal-war/src/main/resources/properties » du portail 4.x.
L’application est désormais configurée pour utiliser convenablement les « fragment-definition » de la version 3.2. Il est juste nécessaire de redéployer uPortal via la commande Ant suivante afin que la modification soit répercutée sur le répertoire « uPortal » placé dans le serveur d’application :
| Bloc de code | ||
|---|---|---|
| ||
ant clean deploy-war -Dmaven.test.skip=true
|