Recherche

Sommaire

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3

Introduction

Retrouvez dans cette page toutes les questions et informations utiles à l'installation, à l'exploitation et à l'utilisation de ESUP-ECM :

Sommaire
maxLevel1
minLevel1
indent20px
styledisc

Failed to render resource avec webengine

Avec Webengine et notamment esupWebengineVersion vous pouvez avoir ce message :

Bloc de code

Etat HTTP 500 - org.nuxeo.ecm.webengine.WebException: Failed to render resource at
org.nuxeo.ecm.webengine.WebException.wrap(WebException.java:171) at
org.nuxeo.ecm.webengine.server.resteasy.WebEngineServlet.service(WebEngineServlet.java:211) at
org.nuxeo.ecm.webengine.server.resteasy.WebEngineServlet.service(WebEngineServlet.java:158) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at
.../...

En y regardant de plus près on voit que l'erreur est en fait due à :

Bloc de code

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at
java.lang.String.substring(String.java:1937) at
org.jboss.resteasy.plugins.delegates.MediaTypeHeaderDelegate.parse(MediaTypeHeaderDelegate.java:54)

Cette erreur est généralement due à des entêtes http mal formées via une ancienne version de liveedit de nuxeo.

Pour corriger le problème il faut faire une mise à jour de liveedit

log-slave-updates must use row-based binary logging

En MySQL 5.1 si vous utilisez un mode log binaire alors vous pouvez avoir cette erreur :

Slave running with --log-slave-updates must use row-based binary logging to be able to replicate row-based binary log events

Il existe 2 solutions :

  • Modifier la configuration de votre serveur pour ajouter l'option : binlog_format = ROW
  • S'il n'est pas possible de modifier le serveur alors il faut modifier le paramètre db.jdbc.options de ESUP-ECM en le positionnant à ?sessionVariables=binlog_format=ROW
    • Dans ce cas, à partir de MySQL 5.1.29, il faut que l'utilisateur ait le droit SUPER. Ceci même s'il s'agit ici de modifier une variable session (cf. http://bugs.mysql.com/bug.php?id=39106)
      • typiquement : grant SUPER on *.* to user1@"%"; grant SUPER on *.* to user1@"%"; FLUSH PRIVILEGES

Comment rétablir l'habillage d'un workspace ?

Comment rétablir l'habillage d'un workspace si cet habillage ne propose plus l'accès au bouton d'administration ?
Ceci se fait en manipulant la base de données nuxeo.

  • Dans la base nuxeo_storage : Rechercher l'id du workspace en question
    Bloc de code
    
    SELECT * FROM nuxeo_storage.hierarchy h WHERE h.`primarytype`='Workspace'
    
  • Dans la base nuxeo : Revenir à l'habillage par défaut en supprimant la ligne correspondant au changement d'habillage
    Bloc de code
    
    delete FROM nuxeo.LocalThemeConfig WHERE `docId`='d821ad94-6bdf-4dd8-8a44-a4b5538918e5'
    
    Note : Remplacer 'd821ad94-6bdf-4dd8-8a44-a4b5538918e5' par l'id trouvé avec le premier select

Débrancher CAS

Remarque

Seulement en ESUP-ECM 1.0. Utiliser le build.properties pour la 1.1 et suivante.

ESUP-ECM est packagé pour fonctionner avec CAS.
N'est pas intégrer dans les .properties du package la possibilité de faire du LDAP seulement.
Néanmoins c'est possible.
Dans esup-ecm-config-plugin/src/main/resources/OSGI-INF/esup-login-contrib.xml il faut changer :

Bloc de code

    <!-- configure authentication chain -->
    <extension target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService" point="chain">
        <authenticationChain>
            <plugins>
                <!--  Keep basic Auth at top of Auth chain to support RSS access via BasicAuth -->
                <plugin>BASIC_AUTH</plugin>
                <plugin>ANONYMOUS_AUTH</plugin>
                <!-- plugin>FORM_AUTH</plugin -->
                <plugin>CAS2_AUTH</plugin>
            </plugins>
        </authenticationChain>
    </extension>

en :

Bloc de code

    <!-- configure authentication chain -->
    <extension target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService" point="chain">
        <authenticationChain>
            <plugins>
                <!--  Keep basic Auth at top of Auth chain to support RSS access via BasicAuth -->
                <plugin>BASIC_AUTH</plugin>
                <plugin>ANONYMOUS_AUTH</plugin>
                <plugin>FORM_AUTH</plugin>
                <!-- plugin>CAS2_AUTH</plugin -->
            </plugins>
        </authenticationChain>
    </extension>

Faire ant deploy pour prise en compte.

Erreur "java : command not found"

Si vous avez ce message dans le fichier de log lors du lancement de jbossctl verifier bien que l'utilisateur défini par la variable jboss.user définit une variable JAVA_HOME dans son .bashrc

...

Si lors de l'accès à une url en nuxeo/site/* vous avez cette erreur :

Volet

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1938)
    at org.jboss.resteasy.plugins.delegates.MediaTypeHeaderDelegate.parse(MediaTypeHeaderDelegate.java:54)
    at org.jboss.resteasy.plugins.delegates.MediaTypeHeaderDelegate.fromString(MediaTypeHeaderDelegate.java:16)
    at javax.ws.rs.core.MediaType.valueOf(MediaType.java:173)
    at org.jboss.resteasy.util.MediaTypeHelper.parseHeader(MediaTypeHelper.java:200)
    at org.jboss.resteasy.plugins.server.servlet.ServletUtil.extractAccepts(ServletUtil.java:109)
    at org.jboss.resteasy.plugins.server.servlet.ServletUtil.extractHttpHeaders(ServletUtil.java:72)
    at org.nuxeo.ecm.webengine.server.resteasy.WebEngineServlet.service(WebEngineServlet.java:124)
    at org.nuxeo.ecm.webengine.server.resteasy.WebEngineServlet.service(WebEngineServlet.java:112)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Vérifiez que vous utilisez bien l'extension navigateur liveedit en version 0.4.6 minimum.

...

  • Sous Firefox
    • saisir about:config dans la barre d'adresse
    • rechercher network.http.accept.default
    • supprimer dans valeur la chaine comprise entre virgules (ou une première virgule et la fin de la chaine) commençant par "application/x-nuxeo-liveedit;"

Erreur "Data truncation: Data too long for column 'binarytext' at row 1"

Si vous avez cette erreur avec un nuxeo fonctionnant avec MySQL :
Exception: com.mysql.jdbc.MysqlDataTruncation. message: Data truncation: Data too long for column 'binarytext' at row 1

...

  1.  utiliser nxshell
    Bloc de code
    cd <rep_nuxeo_52>/nuxeo-shell; ./nxshell.sh \-h 127.0.0.1
  2. dans nxshell faire :
    1.  se déplacer dans les dossiers 
      Bloc de code
      cd default-domain/workspaces
    2.  retrouver UID du document : 
      Bloc de code
      view tmp -> 4cb62b5b-7b6e-432a-8d46-76271d125ea1
  3. ajouter les droits ReadWrite sur le document pour tous ("members") :
    Bloc de code
    script --file <rep_esup_ecm>/nuxeo-shell-scripts/modifyPermissions.js 4cb62b5b-7b6e-432a-8d46-76271d125ea1
  4. ajouter les droits Everything (gérer) sur le document pour l' administrateur ("admin") :
    Bloc de code
    script --file <rep_esup_ecm>/nuxeo-shell-scripts/modifyPermissions.js 4cb62b5b-7b6e-432a-8d46-76271d125ea1 admin Everything

...

Des raisons pour éviter d'utiliser MySQL avec Nuxeo

(Message de nuxeo-dev de F.Guillaume du 4 mai 2009)

Drawbacks of MySQL when used with Nuxeo:
- loses connections when it decides to,
- poor fulltext support,
- no transactional fulltext tables,
- inefficient ACL checking due to lack of array datatypes,
- no sub-second time datatypes,
- foreign key on delete cascade operations limited to 15 levels deep,
- triggers not activated by cascaded foreign key actions (which we don't use at the moment with MySQL but could prove a big limitation in the future),
- poor query optimizer,
- (not directly nuxeo related) stupid nonstandard syntax, stupid datatypes conversions and lack of proper value checking.
All in all, MySQL should be avoided if you want to keep your sanity, you never know what's going to happen when you do a perfectly normal SQL operations. Please use PostgreSQL instead.