Dysfonctionnement de l'édition de documents

Cas n°1 - Un proxy est configuré sur le réseau

Cas n°2 - Protection SSO

Cas n°3 - Erreur JAVA liée au certificat SSL

Cas n°4 - Imports des documents volumineux

Cas n°5 - Champs de fusion d'un document DOCX est en anglais

Cas n°6 - Erreurs php lors de l'édition de documents

Cas n°7 - Non prise en charge du type mime

L'import de pièces jointes et l'édition de document font partie des fonctions principales de Maarch courrier. Ce sont des fonctions qui reposent également sur l'utilisation d'un ensemble de composants et d'outils externes. Ces composants permettent le bon fonctionnement et la compatibilité avec les éditeurs de documents. Il est possible que l'édition ou l'import de documents soient impossibles à cause d'un dysfonctionnement lié à un de ces composants (exp :java, uniconv ..).

Cas n°1 - Un proxy est configuré sur le réseau

Si l'édition de modèle est impossible et que vous avez une erreur java. Le dysfonctionnement est probablement lié à un des éléments de la technologie java sur votre poste client. Les applets java sont utilisés pour fournir au sein d'applications Web des fonctionnalités interactives. Or, l'exécution des applets dépend des paramètres du proxy. Ces paramètres du proxy peuvent être contrôlés via le panneau de configuration Java.

Erreurs connues

Si les paramètres de proxy sont incorrects, une boîte de dialogue apparait lors du démarrage de l'application et elle contient la mention "ClassNotFoundException".

Solutions

La procédure suivante permet de configurer le proxy dans les paramètres JAVA

  • Dans le panneau de configuration Java, dans l’onglet Général, cliquez sur Paramètres réseaux.
  • Sélectionnez la case Utiliser les paramètres du navigateur.
  • Cliquez sur OK pour enregistrer les modifications.
  • Paramètres réseau dans le panneau de configuration Java
  • Fermez toutes les fenêtres du navigateur. Redémarrez le navigateur et essayez de charger l’applet.

Si le chargement de l’applet échoue et que la même erreur de connexion survient à nouveau, essayez de configurer la connexion directe.

Cas n°2 - Protection SSO

L'authentification SSO permet à un utilisateur de s'authentifier une seule fois et d'accéder à plusieurs applications ou sites web sécurisés.

Erreurs connues

java.net.ConnectException: La connexion a expiré : connect

java.net.ConnectException: Connection refused: connect

Solutions

Exclure du SSO le répertoire /tmp/*. <!> Cette modification crée une faille de sécurité puisque le contenu du répertoire /tmp devient visible. Pour protéger le contenu de ce répertoire, il est indispensable de désactiver l'indexe (qui permet de lister le contenu du répertoire). Ainsi, en supprimant l'accès à l'indexe, les fichiers seront "invisibles" tant qu'on ne dispose pas du nom du fichier. Pour supprimer l'accès à l'indexe, il faut transformer le Options Indexes en Options -Indexes dans la configuration d'apache. Le fichier de configuration principale d'apache est (httpd.conf ou apache2.conf ou vhosts)

  • httpd.conf
- Cent OS RedHat /etc/httpd/conf/httpd.conf
- Debian et les autres: /etc/apache2/httpd.conf
- Freebsd: /usr/local/etc/apache22/httpd.conf
  • apache2.conf
 /etc/apache2/apache2.conf
 <Directory /var/www/>
   Options -Indexes +FollowSymLinks
   AllowOverride None
   Require all granted
</Directory>

Pensez ensuite soit:

  • à recharger les paramètres d'apache

sudo /etc/init.d/apache2 reload

ou

  • à redémarrer apache

sudo systemctl restart apache2

Cas n°3 - Erreur JAVA liée au certificat SSL

L’activation du site en https, par exemple, peut créer des erreurs lors de l’édition des modèles.

Erreurs connues

Une des erreurs connues est de la non-validité du certificat sécurisé erreur de type:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Solutions

Pour corriger l'erreur sur la non-validité du certificat sécurisé, il faut procéder comme suit :

  • Importer le certificat depuis le navigateur

    Cadenas

  • Aller dans votre dossier Java du poste client : C:\Program Files\Java\jre\bin

  • Exécuter la commande

keytool -import -trustcacerts -alias "nom du domaine" -file "certificatimporté.crt" -keystore "C:\Program Files\Java\lib\security\cacerts"

Un mot de passe peut être requis. S’il n’a pas été modifié lors de la création du certificat vous pouvez utiliser le mot de passe changeit

Cas n°4 - Imports des documents volumineux

Si la récupération des fichiers volumineux dans l’application est impossible.

Erreurs connues

Si vous avez un message d'erreur tel que dans la liste ci-dessous :

  • warning post content-length of bytes exceeds the limit...
  • The uploaded file exceeds the upload_max_filesize directive in php.ini...
  • exceeds the maximum upload size for this site...
  • Fatal error: Allowed memory size of 12345678 bytes exhausted (tried to allocate 2345678 bytes) in /home/your-username/public_html/wp-includes/plugin.php on line 1000...
  • 413 Error: Request Entity Too Large
  • Fatal error: Maximum execution time of 30 seconds exceeded

Solutions

Pour permettre l'intégration de documents volumineux

Modification de la configuration php.ini

Modification des paramètres de la taille

Ci-dessous les paramètres à changer dans le fichier php.ini de votre serveur

La quantité de mémoire qu'un script peut utiliser : post_max_size = 80M

La taille maximum d'une requête HTTP POST (dans laquelle est transmise le fichier) : upload_max_filesize = 80M

La taille maximale d'un fichier uploadé sur le serveur : memory_limit = 160M

La relation entre ces trois directives est : upload_max_filesize <= post_max_size < memory_limit.

Pensez ensuite soit:

  • à recharger les paramètres d'apache

sudo /etc/init.d/apache2 reload ou

  • à redémarrer apache

sudo systemctl restart apache2

Modification des paramètres de temps d'execution

Il y a aussi les directives de temps d’exécution. La configuration de celles-ci dépend des capacités du réseau (plus il est rapide, plus les valeurs peuvent être petites) :

La durée maximale d'exécution du script (en s.) : max_execution_time = 240

La durée maximale de lecture de la requête (en s.). La valeur doit être suffisamment haute pour que le serveur ait le temps de recevoir le fichier avant de couper la connexion : max_input_time = 60

avec la relation max_execution_time > max_input_time.

Par exemple avec un débit montant (upload) réel de 10MB/s, un fichier de 100MB mettra 10s à être uploadé. Avec une marge de sécurité, on peut définir max_input_time à un minimum de 15s.

Configuration d’Apache

Certaines distributions d’Apache définissent la directive LimitRequestBody. Cette directive de configuration a le même rôle que la directive post_max_size de PHP. Si elle est définie, sa valeur doit-être au moins égale à la valeur de post_max_size.

Cas n°5 - Champs de fusion d'un document DOCX est en anglais

La conversion PDF de certaines balises TIME ou DATE d'un document DOCX (Office WORD 2007) ne tient pas compte de la langue indiquée dans le document. Les balises permettant d'afficher en toutes lettres, en abrégé ou nom, les jours et les mois, sont systématiquement traduites en anglais lors de la conversion PDF opérée par Maarch Courrier (intégrant un composant externe pour la conversion DOCX vers PDF).

Contournements possibles :

  • Utiliser uniquement les balises de formatage numérique. Ex : { DATE \@ "dd/MM/yyyy" } au lieu de { DATE \@ "dddd d MMMM yyyy" }
  • Imprimer le document original DOCX et non la prévisualisation PDF générée par Maarch Courrier
  • Utiliser LibreOffice

Cas n°6 - Erreurs php lors de l'édition de documents

Erreurs connues

Solutions

ob_clean();

Cette fonction vide le tampon de sortie sans l'envoyer au navigateur.

Erreur lors de la conversion des documents

Vérification de la version d'uniconv

Unoconv permet de convertir les documents Microsoft Office (doc, ppt, xls, …), Open Office et Libre Office (odt, odp, ods, …) en ligne de commande. Pour vérifier quelle version d'uniconv est actuellement utilisée :

maarch@MaarchIntegration1904:~$ unoconv --version
unoconv 0.7
Written by Dag Wieers <dag@wieers.com>
Homepage at http://dag.wieers.com/home-made/unoconv/

platform posix/linux
python 3.5.3 (default, Sep 27 2018, 17:25:39)
[GCC 6.3.0 20170516]
LibreOffice 5.2.7.2

Cas n°7 - Non prise en charge du type mime

Pour vérifier que le type de média (appelé également type mime) est bien pris en charge par maarch courrier, vous pouvez consulter le fichier extensions.xml

Les chemins sont à titre indictif, bien vérifier que vous êtes dans le repertoire custom de votre instance et si le fichier extension.xml n'existe pas dans ce repertoire le copier du repertoire principal de Maarch Courrier avant de le modifier.

cat /var/www/html/MaarchCourrier/custom/cs_votreinstance/apps/maarch_entreprise/xml/extensions.xml
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
    <FORMAT>
        <name>PDF</name>
        <mime>application/pdf</mime>
        <index_frame_show>true</index_frame_show>
    </FORMAT>
    <FORMAT>
        <name>TIFF</name>
        <mime>image/tiff</mime>
        <index_frame_show>false</index_frame_show>
    </FORMAT>
    <FORMAT>
        <name>TIF</name>
        <mime>image/tiff</mime>
        <index_frame_show>false</index_frame_show>
    </FORMAT>
    <FORMAT>
        <name>DOC</name>
        <mime>application/msword</mime>
        <index_frame_show>false</index_frame_show>
    </FORMAT>
    <FORMAT>

results matching ""

    No results matching ""