Migration Alfresco 4.2f vers Alfresco 5.0d

Il est venu, le temps de la migration!

Faut bien s’y coller à un moment, et vu la liste des nouveautés de la v5, on pourrait presque se dire que c’est trop tard, j’attendais la « finalisation » de la version 5.0 comme écrit sur le wiki, c’est bien la 5.0.d, et également d’avoir un peu de temps pour m’y coller.

Je résume rapidement l’environnement :

  • Microsoft Hyper-V
  • 1 VM Ubuntu server 14, 4 vCPU + 8GB RAM
  • Alfresco 4.2f Community + Postgresql + SolR4 sur la même machine
  • Backup avec Alfresco BART (voir article)
  • 1 VM ReverseProxy Apache (voir article)

Pour tester le processus de migration, je suis parti sur une machine virtuelle vierge, On verra lors de la migration à proprement parler ce que l’on fera même machine on nouvelle ressource.

On commence par installer la dernière version d’Alfresco, ne pas oublier les prérequis, l’application est dispo ici :

sudo apt-get install fontconfig libsm6 libice6 libxrender1 libcups2 postgresql-client libxinerama

J’ai installé, les mêmes composants que pour la version actuellement en prod, postgresql + Solr4.

Une fois la machine dispo, on récupère  avec BART un backup du système. A savoir le contentstore, la base Postgresql et les fichiers de conf. Je n’ai pas récupéré les index SolR, n’ayant pas un large volume de data une réindexation totale ne devrait pas poser pas de problèmes.

La restauration avec BART s’effectue très simplement, si pas de BART, une copie du contentstore et de la database sont le strict minimum, j’ai restauré ça dans :

/opt/alfresco_old

J’ai donc une arborescence avec :

  • files : L’arborescence des fichiers de l’application alfresco.
  • cs : Le contentstore, les fichiers à proprement parler.
  • postgresql : Un dump de la database au format gzip.

 

A ce point on a donc à disposition sur la machine une instance Alfresco 5.0.d opérationnelle,  tout notre repository, un dump de la database et tout nos fichiers de conf.

On va commencer par paramétrer notre Alfresco 5.0.d à l’identique de ce que l’on a en production, ici j’utilise l’authentification ldap-ad + sso + passthru. Je décris toute cette conf dans un autre article sur la v4.2f, a priori c’est la même punition pour la config en v5.0.d.

On recréé l’arborescence du subsystem ldap-ad et on copie les sauvegardes de nos fichiers de conf à l’intérieur :

mkdir -p /opt/alfresco-5.0.d/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/ldap-ad1
cp /opt/alfresco_old/files/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/common-ldap-context.xml /opt/alfresco-5.0.d/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/
cp /opt/alfresco_old/files/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/ldap-ad1/* /opt/alfresco-5.0.d/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/ldap-ad1/

On va maintenant s’attaquer au fichier alfresco-global.properties (comparer avec l’ancien et ajouter les différents paramétrages nécéssaires)

Je vous conseille un petit redémarrage du service + tests, avec un bon vieux tail -f | grep sur catalina.out pour vérifier que tout se passe bien.

Après validation du bon fonctionnement global, on peut arrêter les services Alfresco et passer au choses sérieuses :

service alfresco stop

On va vider le contentstore actuel, ainsi que les index solr :

rm -rf /opt/alfresco-5.0.d/alf_data/contenstore
rm -rf /opt/alfresco-5.0.d/alf_data/contenstore.deleted
rm -rf /opt/alfresco-5.0.d/alf_data/solr4/*/*

On déplace le contentstore depuis le backup vers l’arborescence de la v5 :

mv /opt/alfresco_old/cs/contentstore /opt/alfresco-5.0.d/alf_data/

On va maintenant s’attaquer à la database, pour ça on à besoin que postgresql tourne, mais seulement lui, on le lance en le passant au paramètre au script de démarrage Alfresco :

cd /opt/alfresco-5.0.d
./alfresco.sh start postgresql

On supprime la database existante et on en créé une vide :

cd /opt/alfresco-5.0.d/postgresql/bin/
./psql
DROP DATABASE alfresco;
CREATE DATABASE alfresco WITH owner = alfresco;

On décompresse l’ancienne database :

gzip -d /opt/alfresco_old/postgresql/alfresco.dump.gz

Puis on lance l’import!

./psql -U alfresco alfresco < /opt/alfresco_old/postgresql/alfresco.dump

On relance le service...

Beaucoup d'erreurs apparaissent dans les logs mais pas de panique, les scripts de mise à jour se lancent automatiquement, redémarrage encore, ça semble Ok!

Utilisation de l'UC à 100% (full reindex de SolR) pendant une bonne demi-heure, puis retour à la normale.

Je vais faire encore quelques tests et me lancer dans la migration réelle si tout se passe bien. C'est la première montée de version que je fait sur Alfresco et je dois reconnaître que je m'attendais à bien pire...!

Par contre, les limites de transformations des documents Office sont toujours en place! (voir cet article) Il faut donc  en fonction de ses besoins modifier les paramètres suivants en les ajoutant dans alfresco-global.properties et en jouant avec les valeurs.

content.transformer.OpenOffice.extensions.xlsm.pdf.maxSourceSizeKBytes=1536
content.transformer.OpenOffice.extensions.pptm.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.xls.pdf.maxSourceSizeKBytes=10240
content.transformer.OpenOffice.extensions.sldm.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.xltx.pdf.maxSourceSizeKBytes=1536
content.transformer.OpenOffice.extensions.potx.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.docx.pdf.maxSourceSizeKBytes=768
content.transformer.OpenOffice.extensions.xlsx.pdf.maxSourceSizeKBytes=1536
content.transformer.OpenOffice.extensions.pptx.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.xlam.pdf.maxSourceSizeKBytes=1536
content.transformer.OpenOffice.extensions.ppt.pdf.maxSourceSizeKBytes=6144
content.transformer.OpenOffice.extensions.docm.pdf.maxSourceSizeKBytes=768
content.transformer.OpenOffice.extensions.xltm.pdf.maxSourceSizeKBytes=1536
content.transformer.OpenOffice.extensions.dotx.pdf.maxSourceSizeKBytes=768
content.transformer.OpenOffice.extensions.xlsb.pdf.maxSourceSizeKBytes=1536
content.transformer.OpenOffice.extensions.sldx.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.ppsm.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.potm.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.txt.pdf.maxSourceSizeKBytes=5120
content.transformer.OpenOffice.extensions.ppam.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.dotm.pdf.maxSourceSizeKBytes=768
content.transformer.OpenOffice.extensions.doc.pdf.maxSourceSizeKBytes=10240
content.transformer.OpenOffice.extensions.vsd.pdf.maxSourceSizeKBytes=4096
content.transformer.OpenOffice.extensions.ppsx.pdf.maxSourceSizeKBytes=4096

A la prochaine!

8 commentaires

  1. Bonjour,

    Je dispose d’une configuration similaire à la votre et test actuellement la version 5.0.d

    Tout fonctionne sauf l’authentification de l’application mobile.
    Avez-vous réussi à la faire fonctionner ?

    Cordialement,

    1. Salut Mickael,

      En effet j’ai le même problème, il semble que ce soit lié au SSO. Sur Android cela fonctionne correctement.

      Cf lien suivant : https://forums.alfresco.com/forum/end-user-discussions/alfresco-mobile/sso-enabled-android-login-works-ios-fails-10052015-1450
      La solution devrait être apportée dans la prochaine version de l’application qui devrait sortir courant novembre.

      Si tu trouves un contournement d’ici là, çà m’intéresse!

      Merci

      1. Merci pour ton retour.
        J’ai essayé beaucoup de chose sans succès, si je trouve je ferai un retour !
        Par contre ça marche trés bien avec cmis-navigator
        Cordialement,

  2. Bonjour Vincent,

    Merci pour ton blog qui m’a bien aidé par le passé sur Alfresco. Je suis en train d’envisager de migrer un gros serveur Alfresco Community 4.2.f vers la version 5.0.d. Or je constate que je ne suis pas en version SOLR 4. Est-ce que ça pose problème si j’installe la nouvelle version en SOLR 4 et que je tente cette migration ?
    Bien cordialement

    1. Salut Luc, ça ne semble pas poser de problème. Dans mon cas je n’ai restauré que la base et le contentstore. Le système relance une indexation complète des fichiers s’il ne trouve pas les index dans le dossier de solr4. Je n’ai pas eu de problème a ce niveau.

  3. Bonjour,
    Ce serait pas mal que tu fasses un petit tuto sur comment utiliser alfresco, les maintenances (nettoyages corbeille etc..).
    Au niveaux de la customisation il y a pas mal de sujet a faire aussi (menu, logo, thèmes).
    Avec tous sa ton blog serais complet au niveaux de Alfresco et deviendrais un référence en français.

    1. Salut Matthieu,
      ça tombe bien, je suis en train de rédiger un petit article sur la customization simple d’Alfresco Logo + Page d’accueil.
      Par contre ce blog n’a pas vraiment vocation à être une référence sur quoi que ce soit, pour moi la seule référence valable à ce sujet reste la doc officielle d’Alfresco.
      Je publie juste mes retours d’expérience sur certains sujets :).
      Content que ça soit lu !

      1. Bonjour Vincent,

        pourrais-tu fournir la commande pour le dump, c’est bien l’outil pg_dump que tu utlises pour sauvegarder la base postgres ?

        Nous sommes en plein paramétrage d’une GED Financière et la sauvegarde est cruciale.

        Merci

        Nicolas

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.