Recherche

Sommaire

Vous regardez une version antérieure (v. /wiki/display/PROJESUPECM/FAQ) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 7) afficher la version suivante »

java : command not found

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

String index out of range: -1

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

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 leveedit en version 0.4.6 minimum.

Si le problème persiste même après suppression du plugin, alors :

  • 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;"

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

C'est que la colonne de nom binarytext dans la table fulltext de nuxeo (celle qui contient le contenu textuel de votre document) est trop petite.

Il faut changer son type de text à longtext.

Comment repositionner les droits sur un sous-espace de travail ?

Dans certains cas, il peut être nécessaire de repositionner des droits à la suite d'une manipulation malencontreuse (suppression intempestive de droits par l'administrateur).

Le cas suivant aussi peut arriver:

Sur un sous-workspace tmp, l'utilisateur admin donne les droits de gestion à l'utilisateur toto.
Maintenant toto se connecte, va sur tmp pour enlever les droits hérités: l'utilisateur admin ne peut donc plus accéder à tmp pour gérer les droits sur ce sous-workspace.
L'administrateur n'a d'autre choix que d'utiliser nxshell pour repositionner les droits correctement.

Exemple : ajouter des droits sur le sous-espace de travail tmp 

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

10 bonnes 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.

Logs

Le fichier permettant de modifier les logs de JBOSS/Nuxeo se trouve dans le répertoire d'installation, par exemple  :

/opt/nuxeo/nuxeo-ep-5.2.0-RC1/server/default/conf/jboss-log4j.xml

Débogage du chargement des Bean Seam

Ajouter ces lignes :

 <!-- LOGFILE FOR SEAM  -->
   <appender name="SEAMFILE" class="org.jboss.logging.appender.RollingFileAppender">
     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
     <param name="File" value="${jboss.server.log.dir}/seamdebug.log"/>
     <param name="Append" value="false"/>
     <param name="MaxFileSize" value="500KB"/>
     <param name="MaxBackupIndex" value="1"/>

     <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
     </layout>
   </appender>

Débogage distant avec Chainsaw

Chainsaw est un petit client Java permettant d'afficher les logs d'une application Java à distance :

http://logging.apache.org/chainsaw/

Pourpermettre à Chainsaw de fonctionner, il faut ajouter ces lignes dans le fichier log4J :

<appender name="REMOTE" class="org.apache.log4j.net.SocketAppender">
     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
     <param name="RemoteHost" value="remotehost"/>
     <param name="Port" value="4560"/>

     <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} [%t] %-5p %C{1} : %m%n"/>
     </layout>
   </appender>

remoteHost est l'ip ou le nom d'hôte de la machine ou Chainsaw est lancé, et qui va recevoir les logs sur le port correspondant. Dans cet exemple, le port 4560 correspond au port proposé& par défaut dans Chainsaw.

  • Aucune étiquette