== Procédure de migration de la version 2.2 à la version 2.3 == [[PageOutline]] === Migration de la base de données === ==== Principe général ==== La structure de la base de données a été légèrement modifiée entre les 2 versions, il convient donc de migrer la base de données. Le script SQL suivant permet d'ajouter les nouvelles colonnes : {{{ ALTER TABLE Users ADD city varchar(128); ALTER TABLE Metadata ADD displayorder int; }}} Le script SQL suivant permet d'ajouter les nouvelles valeurs : {{{ INSERT INTO Groups VALUES (-1, 'GUEST', 'self-registered users', null, null); INSERT INTO GroupsDes VALUES (-1, 'en', 'GUEST'); INSERT INTO GroupsDes VALUES (-1, 'fr', 'GUEST'); UPDATE IsoLanguages SET code = 'fre' WHERE code = 'fra'; INSERT INTO Operations VALUES (2, 'editing', 'y'); INSERT INTO OperationsDes VALUES (2, 'en', 'Editing'); INSERT INTO OperationsDes VALUES (2, 'fr', 'Editer'); -- Settings INSERT INTO Settings VALUES (90, 1, 'selectionmanager', null); INSERT INTO Settings VALUES (91, 90, 'maxrecords', 1000); INSERT INTO Settings VALUES (170,1,'shib',''); INSERT INTO Settings VALUES (171,170,'use','false'); INSERT INTO Settings VALUES (172,170,'path','/geonetwork/srv/en/shib.user.login'); INSERT INTO Settings VALUES (173,170,'attrib',''); INSERT INTO Settings VALUES (174,173,'username','REMOTE_USER'); INSERT INTO Settings VALUES (175,173,'surname','Shib-Person-surname'); INSERT INTO Settings VALUES (176,173,'firstname','Shib-InetOrgPerson-givenName'); INSERT INTO Settings VALUES (177,173,'profile','Shib-EP-Entitlement'); INSERT INTO Settings VALUES (190,1,'userSelfRegistration',''); INSERT INTO Settings VALUES (191,190,'enable','false'); INSERT INTO Settings VALUES (200,1,'clickablehyperlinks',''); INSERT INTO Settings VALUES (201,200,'enable','true'); INSERT INTO Settings VALUES (210,1,'localrating',''); INSERT INTO Settings VALUES (211,210,'enable','false'); INSERT INTO Settings VALUES (220,1,'xlinkResolver',''); INSERT INTO Settings VALUES (221,220,'enable','true'); INSERT INTO Settings VALUES (222,1,'downloadservice',NULL); INSERT INTO Settings VALUES (223,222,'leave','false'); INSERT INTO Settings VALUES (224,222,'simple','true'); INSERT INTO Settings VALUES (225,222,'withdisclaimer','false'); INSERT INTO Settings VALUES (600,1,'indexoptimizer',''); INSERT INTO Settings VALUES (601,600,'enable','true'); INSERT INTO Settings VALUES (602,600,'at',''); INSERT INTO Settings VALUES (603,602,'hour','0'); INSERT INTO Settings VALUES (604,602,'min','0'); INSERT INTO Settings VALUES (605,602,'sec','0'); INSERT INTO Settings VALUES (606,600,'interval',''); INSERT INTO Settings VALUES (607,606,'day','0'); INSERT INTO Settings VALUES (608,606,'hour','24'); INSERT INTO Settings VALUES (609,606,'min','0'); UPDATE Metadata SET schemaId = 'iso19139.fra' WHERE schemaId = 'iso19139fra'; }}} Le script SQL est disponible dans le répertoire gast/setup de la version 2.3. ===== Note : Utilisateurs du moissonnage ===== Si vous utilisez le moissonange, des informations sont stockées dans la table Settings affectées par le script SQL ci-dessus. Afin d'éviter les erreurs de clé primaire, 2 options sont suggérées : * Supprimer les noeuds moissonnés avant la migration de la base de données (et les reconfigurer par la suite) * Mettre à jour le script SQL de migration pour ne pas avoir d'erreur sur la clé primaire ==== Base !McKoi ==== ===== Connexion à la base de données ===== * Télécharger l'utilitaire Druid (http://druid.sourceforge.net/) * Lancer Druid (java -jar druid.jar) * Ouvrir le fichier database.druid situé dans le répertoire gast/setup de !GeoSource 2.2 * Dans l'onglet JDBC > Connection, * saisir les informations de connexion pour la base utilisée par !GeoSource 2.2 * cocher l'option autocommit * cliquer sur connecter ===== Sauvegarde ===== * Dans l'onglet structure, faire une sauvegarde de la base : * clic droit sur "JDBC database" > "Export records ..." * sélectionner "Druid data format" * sélectionner un répertoire * un fichier par table est alors créé. ===== Migration ===== * Executer le script SQL ci-dessus pour mettre à jour la base de données. ==== Base MySQL ==== Non testé. ==== Base !PostGresql ==== * Réaliser une sauvegarde. * Exécuter le script de migration via psql ou pgadmin. ==== Base Oracle ==== * Réaliser une sauvegarde. * Exécuter le script de migration. {{{ ./sqlplus EDITOR/EDITOR@GEONETWORK @gast/setup/migrate-to-23.sql }}} === Installation de l'application === * Réaliser une installation de !GeoSource 2.3 (depuis [http://sourceforge.net/projects/geonetwork/files/ l'installer] ou le [wiki:Fr_HowToCompileFromSource le code source]). * Configurer la connexion à la base de données pour utiliser la base précédemment migrée (cf. web/geonetwork/WEB-INF/config.xml). === Migration des données === Copier les répertoires : * des données web/geonetwork/WEB-INF/data dans data * des contacts dans le répertoire xml/codelist/local/contactDirectories * (uniquement si vous avez créer de nouveaux thésaurus) des thesaurus dans le répertoire xml/codelist/local/thesauri * des logos web/geonetwork/images ==== Exemple de script shell ==== {{{ export GS22=/home/fx/Workspace/Catalogue/GeoSource/GeoSource/GeoNetwork export GS23=/home/fx/Workspace/Catalogue/GeoSource-trunk/target/patched cp -fr $GS22/web/geonetwork/WEB-INF/db $GS23/web/geonetwork/WEB-INF/. cp -fr $GS22/web/geonetwork/WEB-INF/data $GS23/web/geonetwork/WEB-INF/data cp -fr $GS22/web/geonetwork/images/logos/* $GS23/web/geonetwork/images/logos/. cp -fr $GS22/web/geonetwork/xml/codelist/local/contactDirectories/* $GS23/web/geonetwork/xml/codelist/local/contactDirectories/. }}} === Mise à jour des métadonnées === * Lancer l'application * Au lancement il est possible d'avoir des erreurs de résolution des XLinks si vous ne vous trouvez pas sur la même machine. Configurer le système auparavant. * Dans un navigateur * Identifiez-vous avec un compte administrateur * Aller dans Administration > Configuration du système, et ajuster les paramètres si besoin * Sélectionner l'ensemble des enregistrements (si vous avez plus de 1000 enregistrements, augmenter la limite dans la configuration du système) : * http://localhost:8080/geonetwork/srv/fr/main.search * http://localhost:8080/geonetwork/srv/fr/metadata.select?id=0&selected=add-all * Mettre à jour les métadonnées : * Le processus réalise des corrections dans les XLinks : * correction de l'URL du serveur * correction des identifiants des mots clés INSPIRE * Avant de lancer le processus, remplacer les paramètres "s" et "r" fonction de votre configuration. "s" correspond à la nouvelle url de votre serveur et "r" à l'ancienne url. Si l'url est la même, utiliser s=http://localhost:8080&r=http://localhost:8080 * http://localhost:8080/geonetwork/srv/en/metadata.massive.processing?process=migrate-to-23&s=http://localhost:8084&r=http://localhost:8080