En cours de rédaction
Utilisation de l'outil d'import-export de uPortal
Préalable
Faire un Dump de la base 2.6 et exporter vers une nouvelle base 2.6 de travail (nommée ci-après base-2.6-travail)
Installation/configuration de l'outil d'import-export de base 2.6
Projet téléchargé depuis : https://www.ja-sig.org/svn/uPortal/branches/rel-2-6-export/
Configurer :
- build.properties
- properties/rdbm.properties => Pointer sur la base base-2.6-travail
- properties/export.properties :
export_layout_format=3.0
- properties/dlm.xml => reprendre le fichier dlm.xml de la version 2.6
- properties/groups/PAGSGroupStoreConfig.xml => reprendre le fichier de la version 2.6
- properties/groups/compositeGroupServices.xml => reprendre le fichier de la version 2.6
Préparation de l'export
Sur la base base-2.6-travail :
- supprimer groupes inutiles :
delete from up_group_membership where member_service='local' and group_id in (select group_id from up_group where creator_id='edu.columbia.ais.portal.channels.announcements.CAnnouncements')
delete from up_group where creator_id='edu.columbia.ais.portal.channels.announcements.CAnnouncements'
- nettoyage layouts (pour ne pas exporter tous les layouts utilisateurs) :
- conserver uniquement les utilisateurs "layout" :
delete from up_user where user_id>100 and user_name not like '%-lo'
- conserver uniquement les utilisateurs "layout" :
-
- ou : configurer export.properties :
included_users_file=<liste des utilisateurs à exporter
- ou : configurer export.properties :
- nettoyage canaux et layouts en fonction des erreurs d'export (cf ant export plus bas), exemples :
- canal plus utilisé mais conservé en base avec droits pour un groupe supprimé
- A compléter
Modifier source/org/jasig/portal/io/export-layout_v3-0.crn : - ligne 84 remplacer :
par
AND type IS NULL
sinon les canaux ne pas référencés dans les exports de layouts-fragmentsAND type IS NOT NULL
- Créer un répertoire "export"
- Configurer import-export.xml :
<property name="dir" value="export"/>
Export
Configurer import-export.xml :
Lancer export avec les valeurs sucessives dans import-export.xml :
- all-groups
- all-memberships => pour conserver la hiérarchie entre groupes locaux "de base" et groupes pags rattachés
- all-channels
- all-layouts
- all-users
ou
- all et faire le ménage
Création des répertoires :
export fragment-layout => utilisateurs propriétaires (-lo) layout => layouts personnalisés par l'utilisateur group_membership channel user => uniquement utilisateurs propriétaires de profils
Installation locale
Téléchargement : https://sourcesup.cru.fr/frs/download.php/2875/esup-3.1.2-esup-0.5-RC1.tar.gz
Configuration config.properties
copie dans esup-uPortal-3.1/custom/uPortal/uportal-impl/src/main/resources/properties/db/mini des exports de la base 2.6 :
- export/channel
- export/fragment-layout
- export/group_membership
- export/user
dans esup-uPortal-3.1/custom/uPortal/uportal-impl/src/main/resources/properties :
- modification dlm.xml (copier/coller contenu de l'ancien)
- copier update/uPortal/uportal-impl/src/main/resources/properties/contexts/personDirectoryContext.xml et adapter les correspondances attributs ldap / attributs uPortal dans le bean uPortalLdapAttributeSource
- modification groups/PAGSGroupStoreConfig.xml
- nettoyage/adaptation des exports de la 2.6 (db/mini) :
- Recopier all-lo.fragment-layout, admin-lo.fragment-layout et guest-lo.fragment-layout de update et les modifier
- Enlever groupes et canaux "systèmes" (permissionsmanager, missing-properties, etc. ) ou plus utilisés
- recopier groupe Anonymes.group-membership de update et le modifier
- recopier Administrateurs_Portail.group_membership de update et le modifier
- recopier groupe Proprietaires_de_fragment.group_membership de update et le modifier (ajouter les utilisateurs en "-lo")
- recopier groupe Toutes_les_categories.group_membership de update et le modifier (ajouter les catégories de groupes)
- fragment-layout : Vérifier le profile :
<profile name="HTML browser profile"> <description>A sample profile for common web browsers</description> <structure name="DLM Tabs and columns"/> <theme name="DLM XHTML"/> </profile>
-
- Sinon, remplacer le profil :
sed -e 's/<structure name="null"/<structure name="DLM Tabs and columns"/' -i * sed -e 's/<theme name="null"/<theme name="DLM XHTML"/' -i *
-
- user : remplacer l'utilisateur par défaut :
sed -e 's/<default-user>demo/<default-user>defaultTemplateUser/' -i user/*
-
- channel : pour les portlets, remplacer :
<parameters> ... <parameter> <name>portletDefinitionId</name> <value>portletContext.portletName</value> <description>The syntax of the portletDefinitionId is [portlet-context-name].[portlet-name]</description> <ovrd>N</ovrd> </parameter> <parameter> <name>PORTLET.context</name> <value>context</value> <description>The "context" Portlet preference</description> <ovrd>N</ovrd> </parameter> ... </parameters>
par :
<parameters> ... <parameter> <name>portletApplicationId</name> <value>/portletContext</value> <description/> <ovrd>N</ovrd> </parameter> <parameter> <name>portletName</name> <value>portletName</value> <description/> <ovrd>N</ovrd> </parameter> </parameters> <portletPreferences> <portletPreference> <name>context</name> <values> <value>default</value> </values> </portletPreference> </portletPreferences>
to continued...