iceScrum | "Format error in backup" xml import form R6#12.1 to R6#13 – iceScrum

iceScrum Foros Discutir de iceScrum

Viendo 15 entradas - de la 1 a la 15 (de un total de 23)

  • Autor
    Entradas
  • #10649

    Kagilum
    Superadministrador

    Bonjour,

    J’ai un problème pour migrer un projet d’une instance d’icescrum en version R16#12.1 vers une instance R6#13. J’utilise les fonctions d’import/export en format xml.

    J’ai le message d’erreur suivant lors de l’import : «Format error in backup»

    J’ai pu voir dans d’autres post qu’il pouvait y avoir des problèmes de caractères d’échappement & ou autres dans les zones de texte, je n’en vois pas.

    Pouvez-vous m’aider?

    #10842

    Nicolas Noullet
    Superadministrador

    Bonjour,

    En dehors de la montée en version, vous avez une raison particulière de passer par un export / import ? Changement de serveur, de SGBD ?

    #10843

    Kagilum
    Superadministrador

    Oui l’instance R16#12.1 utilise HSQLDB et la version R16#13 utilise MySQL.

    #10844

    Nicolas Noullet
    Superadministrador

    Dans ce cas effectivement, c’est nécessaire ! Vous pouvez m’envoyer votre export à l’adresse nnoullet_at_kagilum_dot_com pour que je regarde ce qui empêche l’import.

    #10846

    Kagilum
    Superadministrador

    Bonjour Nicolas,

    Je n’ai pas l’autorisation de vous fournir ces informations…

    Je suis en train d’essayer de mettre en place un environnement de développement icescrum pour pouvoir faire du debug et voir ce qui ne vas pas dans le fichier XML.

    Avez-vous des informations sur la mise en place d’un tel environnement?

    Je vous remercie pour votre réactivité.

    #10847

    Nicolas Noullet
    Superadministrador

    Bonjour,

    Je comprends votre problématique.

    Cependant, la mise en place d’un environnement de dev ne vous apportera pas plus d’informations. Afin de cibler le problème il faut analyser les logs (icescrum.log). Vous pouvez activer les logs de debug dans votre configuration avant de tenter un import, ceci pourra vous apporter des informations additionnelles: https://www.icescrum.com/documentation/install-guide/#troubleshooting_3

    Voici différentes causes possibles pour un import qui échoue :
    – Stories qui ont le même nom modulo un espace avant ou après ou modulo une lettre majuscule
    – Idem pour deux tâches avec le même nom dans le contexte d’une même story
    – Pas de Product Owner ou pas de Scrum Master dans l’équipe
    – Caractère UTF-8 non standards dans les champs texte
    – Base de données cible pas configurée avec le bon encodage

    #10858

    Kagilum
    Superadministrador

    OK, merci Nicolas pour ton support.

    Voila ou j’en suis :

    – Stories qui ont le même nom modulo un espace avant ou après ou modulo une lettre majuscule => WIP
    – Idem pour deux tâches avec le même nom dans le contexte d’une même story => WIP
    – Pas de Product Owner ou pas de Scrum Master dans l’équipe => OK
    – Caractère UTF-8 non standards dans les champs texte => OK

    iconv -f utf-8 -t utf-8 -c export_file.xml > cleaned_file.xml

    – Base de données cible pas configurée avec le bon encodage => OK; modifié mon /etc/mysql/my.cnf et recréé une base en icescrum UTF-8 vérifié avec :

    mysql> use icescrum
    Database changed
    mysql> show variables like "collation_database";
    +
    +
    +
    | Variable_name | Value |
    +
    +
    +
    | collation_database | utf8_general_ci |
    +
    +
    +
    1 row in set (0.00 sec)

    mysql> Bye

    Et le résultat de debug dans mon icescrume.log :

    2014-06-10 13:42:49,018 [http-bio-443-exec-4] INFO  grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController  - Product validation passed (XXXX)
    2014-06-10 13:42:49,019 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - User validation passed (XXXX)
    2014-06-10 13:42:49,019 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - User validation passed (XXXX)
    2014-06-10 13:42:49,019 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - User validation passed (XXXX)
    2014-06-10 13:42:49,019 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - User validation passed (XXXX)
    2014-06-10 13:42:49,020 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - User validation passed (XXXX)
    2014-06-10 13:42:49,020 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - User validation passed (XXXX)
    2014-06-10 13:42:49,020 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - User validation passed (XXXX)
    2014-06-10 13:42:49,020 [http-bio-443-exec-4] INFO grails.app.controller.org.icescrum.web.presentation.app.project.ProjectController - Team validation passed (XXXX)

    Que devrait être validé après la Team validation?

    Merci,

    #10859

    Nicolas Noullet
    Superadministrador

    Bonjour,

    Je ne vois pas d’erreur dans les logs, est-ce que tu as toujours l’erreur «format error in backup» qui s’affiche ? Si non, cela veut dire que le problème initial a été résolu.

    Je note un autre problème : le serveur est configuré en HTTP BIO (blocking I/O) alors qu’iceScrum nécessite NIO (non-blocking I/O). Il faut pour cela configurer Tomcat en modifiant le connecteur dans le fichier server.xml comme indiqué dans la doc : https://www.icescrum.com/fr/documentation/install-guide/#application-server.

    Normalement après la validation de l’équipe, une boîte de dialogue résume les données du projet et demande confirmation de l’import. Si elle n’apparaît pas, c’est peut-être dû au problème que j’ai identifié. Sinon une autre piste, dans certains cas la popup peut apparaître en effectuant la manipulation suivante:
    – Importer le projet (attendre la validation de l’équipe dans les logs)
    – Rafraîchir la page
    – Cliquer sur «importer»

    #10860

    Kagilum
    Superadministrador

    Je viens de fixé le BIO => NIO. Merci.

    Je n’ai jamais eu de message d’erreur dans les logs lors de l’import.

    J’ai toujours le message d’erreur dans l’interface web.

    Depuis le début le message d’erreur s’affiche lorsque je clique sur importer sur la page «Confirm import project».

    #10861

    Nicolas Noullet
    Superadministrador

    Merci pour ces informations additionnelles.

    Peux-tu vérifier le contenu de la sortie standard de Tomcat (fichier catalina.out) et la présence de tout autre fichier de log (stacktrace.log …) ? Je n’ai jamais vu de situation ou l’erreur n’est pas dans les logs.

    #10862

    Kagilum
    Superadministrador

    Hey Nicolas,

    J’ai en effet toutes les erreurs dans /var/log/tomcat7/catalina.out et non dans le iscerum.log 🙂

    J’ai donc pu modifier l’export xml pour pourvoir passer toutes les erreurs.

    La première erreur était la suivante:

    java.lang.RuntimeException: org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [org.icescrum.core.domain.User#1]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [org.icescrum.core.domain.User#1]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:52)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:107)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:198)
    at org.icescrum.core.services.ProductService.saveImport(ProductService.groovy:155)
    at org.icescrum.core.services.ProductService$$FastClassByCGLIB$$a5f2149c.invoke()
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

    J’ai simplement supprimé l’utilisateur admin de la team vu qu’il existe déjà dans la base.

    et une autre une story globale avait le même nom qu’une story dans une release.

    Merci pour ton support le projet est donc maintenant importé dans l’instance R6#13!

    #10863

    Nicolas Noullet
    Superadministrador

    Super ! Content que ça marche à présent.

    Merci pour tes retours, je n’avais pas pensé au problème d’admin mais je confirme en effet.

    Bonne continuation !

    #10864

    Kagilum
    Superadministrador

    Hello Nicolas,

    Comment fonctionne l’import avec les attachements sur les stories/tasks?

    Je vois les attachements dans l’instance de R6#12.1 dans le basedir avec se qui semble être un id de projet.
    Je les vois aussi dans l’xml.

    Je ne vois pas dans la bas de données de l’instance R6#13 de références aux attachements.

    Pouvez-vous m’aider?

    Merci,

    #10865

    Nicolas Noullet
    Superadministrador

    Un export iceScrum est une archive ZIP contenant le XML représentant les données du projet et un répertoire attachments contenant les pièces-jointes du projet.

    Le nom des fichiers présents dans le attachments correspond à leur ID dans le XML, permettant de ré-associer les bons fichiers aux éléments importés.

    Est-ce que vous avez bien importé un ZIP contenant le XML (dans votre cas, modifié à la main) ET les pièces-jointes ? Si non, alors ceci expliquerait l’absence des pièces jointes dans le projet importé.

    #10866

    Kagilum
    Superadministrador

    Je n’avais pas de répertoire attachements dans le zip…

Viendo 15 entradas - de la 1 a la 15 (de un total de 23)

El foro ‘Migration’ está cerrado y no se permiten nuevos debates ni respuestas.