Alfresco 4.2f – Le cas .docx !

Ou : « Les emmerdes Commencent » …

Si vous avez essayé de charger un bon vieux .docx un peu fourni, dans un répertoire Alfresco il y a de fortes chances que vous soyez tombé nez à nez avec un vulgaire message d’erreur expliquant froidement qu’Alfresco ne peut charger la prévisualisation, ou bien nez à nez face à une preview statique monopage qui pique gentiment les yeux…

Ne partez pas, tout ceci est parfaitement … « normal »

En fait, le « Transformation Server » fonctionne selon le schéma suivant, la prévisualisation d’un fichier est demandée, le fichier est converti en .pdf puis le .pdf est converti en .swf pour être affiché dans le navigateur (oui, je sais, flash… la prochaine version d’Alfresco embarque vraisemblablement un viewer html5). Ce serveur se base sur un fichier de conf qui définit les tailles limites de conversions de fichiers entre les différents formats gérés.

Le fichier est accessible à cet endroit :

/Alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Transformers/default/transformers.properties

Prenons l’exemple qui nous intéresse, le .docx :

Le fichier est divisé en plusieurs parties en fonction du subsystem appelé :

 

OpenOffice :

content.transformer.OpenOffice.extensions.docx.pdf.maxSourceSizeKBytes=768

Pdf2swf :

content.transformer.complex.OpenOffice.Pdf2swf.extensions.docx.swf.maxSourceSizeKBytes=256

On peut facilement se rendre compte des tailles ridiculement faibles pour du .docx, et on aura du mal à me faire croire que les valeurs basses des paramètres n’ont pas été définie volontairement… exprès pour faire chier.

En comparant les valeurs avec le format .doc on s’aperçoit que les paramètres de ce dernier sont respectivement .doc > .pdf : 10240 et pdf > swf : 1536

Enfin, je dis ça, je dis rien hein!
On va donc augmenter les valeurs de ces paramètres, mais pas directement dans ce fichier, nous allons le faire dans le fichier suivant :

/alfresco/tomcat/shared/classes/alfresco-global.properties

C’est dans ce fichier que l’on viendras ajouter une bonne partie de nos configurations, ces dernières prendront le pas sur celle définies en dur dans les différents fichiers de conf d’Alfresco. Plus on modifieras de fichiers de confs, plus les montées de versions risquent d’être problématiques, on va donc essayer de paramétrer le maximum de chose à cet endroit.

On augmenteras aussi significativement la valeur maximale des .pdf pouvant être fournis en entrée à pdf2swf (ligne 3).

### Augmentation Taille Conversion des docx ###
content.transformer.OpenOffice.extensions.docx.pdf.maxSourceSizeKBytes=4096
content.transformer.complex.OpenOffice.Pdf2swf.extensions.docx.swf.maxSourceSizeKBytes=4096
content.transformer.Pdf2swf.maxSourceSizeKBytes=20480

Il faut maintenant redémarrer Alfresco pour recharger la conf :

service alfresco restart

On glisse de nouveau un .docx assez fat, et magie! ça devrait être ok!

 

 Rien de bien sorcier jusque là… La suite au prochain épisode.

4 commentaires

  1. Salut Rahmi, je t’avoue que je n’ai pas poussé plus loin mes recherches une fois la conversion des gros doc ok! j’en ai assez chié, je suis passé à la suite direct. Peux tu rapidement m’expliquer les différences entre les deux? C’est Jodconverter qui pilote les instances d’OpenOffice? Y’a quoi comme bénéfices à le mettre en place ?

    Merci

  2. Merci Vincent, moi aussi j’en ai pas mal chier pour faire fonctionner cela.
    Pour aller plus loin, moi je n’utilise que le JodConverter (cela a l’avantage qu’ Alfresco redémarre automatiquement le processus LibreOffice si celui-ci tombe en panne – et cela arrive souvent !)
    Voici la config que j’ai mis chez moi pour que les « gros » fichiers soient transformés comme il faut :

    content.transformer.JodConverter.extensions.xls.pdf.maxSourceSizeKBytes=20480
    content.transformer.complex.JodConverter.Pdf2swf.extensions.xls.swf.maxSourceSizeKBytes=20480
    content.transformer.JodConverter.extensions.xlsx.pdf.maxSourceSizeKBytes=20480
    content.transformer.complex.JodConverter.Pdf2swf.extensions.xlsx.swf.maxSourceSizeKBytes=20480
    content.transformer.JodConverter.extensions.doc.pdf.maxSourceSizeKBytes=20480
    content.transformer.complex.JodConverter.Pdf2swf.extensions.doc.swf.maxSourceSizeKBytes=20480
    content.transformer.JodConverter.extensions.docx.pdf.maxSourceSizeKBytes=20480
    content.transformer.complex.JodConverter.Pdf2swf.extensions.docx.swf.maxSourceSizeKBytes=20480
    content.transformer.JodConverter.extensions.ppt.pdf.maxSourceSizeKBytes=20480
    content.transformer.complex.JodConverter.Pdf2swf.extensions.ppt.swf.maxSourceSizeKBytes=20480
    content.transformer.JodConverter.extensions.pptx.pdf.maxSourceSizeKBytes=20480
    content.transformer.complex.JodConverter.Pdf2swf.extensions.pptx.swf.maxSourceSizeKBytes=20480
    content.transformer.Pdf2swf.maxSourceSizeKBytes=81920

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.