On Mon, 11 Jul 2016 16:37:06 +0200
Ludovic Pecquot <ludovic.pecquot(a)e-is.pro> wrote:
> Bonjour Benjamin,
Bonjour,
> Désolé de te relancer à ce sujet, mais nous devons partir d'une version
> saine afin de d'avancer sur cette fonctionnalité.
Tu as vraiment de la chance que j'ai vu ton mail :(. Je ne
regarde les mails qui arrivent en direct sur ma boite que très rarement.
Il faut vraiment utiliser la liste de diffusion sur lequel Christian
m'a demandé de t'inscrire et sur lequel je répond actuellement. Toutes
les personnes que tu as mis en copie sont aussi inscrite sur cette liste.
Et d'autres personnes aussi inscrites pourraient peut-être avoir une
solution a ton problème.
> Christian nous a recommandé de partir de la version actuelle en production:
> 4.5.4.
Il me semble que la dernière version est la 4.5.5
> Nous n'arrivons pas à compiler cette version non plus. Même erreur du
> compilateur jaxx.
Je ne vois pas du tout d'où peut venir le problème. J'ai créer un
nouvelle utilisateur (pour être sur de ne pas avoir une configuration
particulière) puis:
$ git clone https://gitlab.nuiton.org/codelutin/tutti.git
$ cd tutti/
$ mvn install
et le résultat est:
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [2:50.835s]
[INFO] Tutti :: Persistence .............................. SUCCESS [7:13.004s]
[INFO] Tutti :: Ichtyometer API .......................... SUCCESS [5.085s]
[INFO] Tutti :: Caliper API .............................. SUCCESS [1.943s]
[INFO] Tutti :: Report Generator ......................... SUCCESS [2:09.208s]
[INFO] Tutti :: Service .................................. SUCCESS [2:06.760s]
[INFO] Tutti :: UI Updater ............................... SUCCESS [1.470s]
[INFO] Tutti :: UI ....................................... SUCCESS [3:13.347s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17:55.040s
[INFO] Finished at: Tue Jul 12 14:29:00 CEST 2016
[INFO] Final Memory: 343M/937M
[INFO]
------------------------------------------------------------------------
avec:
$ mvn --version
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 17:22:22+0200)
Maven home: /opt/maven3
Java version: 1.8.0_92, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-openjdk/jre
Default locale: fr_FR, platform encoding: UTF-8
OS name: "linux", version: "4.6.3-1-arch", arch: "amd64", family: "unix"
Donc je ne peux pas vraiment aider plus :(.
> Pouvons-nous planifier un rdv téléphonique cette semaine (certes courte)
> pour valider avec toi le framework de dev.
>
> Merci
>
> 2016-07-11 10:23 GMT+02:00 Ludovic Pecquot <ludovic.pecquot(a)e-is.pro>:
>
> > Bonjour
> >
> > J'ai une erreur de compilation du projet Tutti dans le cadre de
> > l'intégration de la synchro.
> > Je suis reparti de la branche develop, puis de master, et j'ai toujours
> > cette erreur du plugin jaxx:
> >
> > [INFO] --- jaxx-maven-plugin:2.29:generate (default) @ tutti-ui-swing ---
> > [INFO] use project compile scope class-path
> > [INFO] Detects 51 modified jaxx file(s).
> > ERROR [main] (JAXXEngine.java:363) run - unable to find CompiledObject
> > associated with tag <EditSpeciesBatchPanelUIModel>; should have been
> > registered before second pass
> > java.lang.IllegalStateException: unable to find CompiledObject associated
> > with tag <EditSpeciesBatchPanelUIModel>; should have been registered
> > before second pass
> > at
> > jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:477)
> > at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:642)
> > at
> > jaxx.compiler.tags.DefaultObjectHandler.compileChildTagSecondPass(DefaultObjectHandler.java:1335)
> > at
> > jaxx.compiler.tags.DefaultObjectHandler.compileChildrenSecondPass(DefaultObjectHandler.java:1300)
> > at
> > jaxx.compiler.tags.DefaultObjectHandler.compileSecondPass(DefaultObjectHandler.java:498)
> > at
> > jaxx.compiler.tags.DefaultComponentHandler.compileSecondPass(DefaultComponentHandler.java:150)
> > at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:642)
> > at jaxx.compiler.JAXXCompiler.compileSecondPass(JAXXCompiler.java:795)
> > at
> > jaxx.compiler.tasks.CompileSecondPassTask.perform(CompileSecondPassTask.java:78)
> > at jaxx.compiler.JAXXEngine.run(JAXXEngine.java:349)
> > at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:527)
> > at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:125)
> > at
> > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
> > at
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
> > at
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> > at
> > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> > at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> > at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
> > at
> > org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
> > at
> > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
> > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
> > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
> > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
> > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
> > at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:497)
> > at
> > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
> > at
> > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
> > at
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
> > at
> > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
> > at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> > at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > at java.lang.reflect.Method.invoke(Method.java:497)
> > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
> > [ERROR] JAXX detects 1 error :
> >
> > C:\dev\tutti\_src\allegro-campagne\tutti-ui-swing\src\main\java\fr\ifremer\tutti\ui\swing\content\operation\catches\species\EditSpeciesBatchPanelUI.jaxx:1
> > : null
> >
> >
> > Portant, l'objet EditSpeciesBatchPanelUIModel est bien référencé dans le
> > jaxx ...
> > Peux-tu nous éclairer la dessus ?
> >
> > Pour info je compile avec jdk1.8.0_60, maven 3.0.5 (3.1.1 même résultat)
> >
> > --
> > Cordialement,
> >
> > *Ludovic PECQUOT*
> > E-IS - Environmental Information Systems - www.e-is.pro <- visitez notre *nouveau
> > site *web
> > *"Ensemble, allons plus loin !"*
> >
> > Téléphone : (+33) 9 53 24 41 20 / (+33) 6 62 86 37 82
> > Adresse : 19 rue Cassiopée, 53470 MARTIGNE SUR MAYENNE
> > Email : ludovic.pecquot(a)e-is.pro
> > Fax : (+33) 9 58 55 73 50
> >
>
>
>
> --
> Cordialement,
>
> *Ludovic PECQUOT*
> E-IS - Environmental Information Systems - www.e-is.pro <- visitez
> notre *nouveau
> site *web
> *"Ensemble, allons plus loin !"*
>
> Téléphone : (+33) 9 53 24 41 20 / (+33) 6 62 86 37 82
> Adresse : 19 rue Cassiopée, 53470 MARTIGNE SUR MAYENNE
> Email : ludovic.pecquot(a)e-is.pro
> Fax : (+33) 9 58 55 73 50
--
Benjamin POUSSIN
--------------------
tél: +33 (0) 2 40 50 29 28
email: poussin(a)codelutin.com
http://www.codelutin.com
Bonjour,
Ci-dessous le compte rendu de la réunion d'hier.
La prochaine réunion hebdomadaire sera mardi à 10h30 (à l'Ifremer pour
les nantais).
Christian, comme on parlé de la prochaine réunion après avoir raccroché,
peux-tu nous confirmer ta disponibilité stp ?
==================================
Réunion d'avancement du 27/06/2016
==================================
Présents :
* Anne-Sophie Cornou (Ifremer)
* Christian Bonnet (Ifremer)
* Vincent Badts (Ifremer)
* Benjamin Poussin (Code Lutin)
* Léo Kaufmann (Code Lutin)
Corrections d'anomalies
=======================
Les anomalies suivantes ont été corrigées depuis la dernière réunion :
- Erreur à la suppression de lots contenant des observations
individuelles (#8304)
- Export multi-poste, l'extension des fichiers est identique entre les
espèces et le benthos (#8314)
- L'élévation des poids ne fonctionne plus avec le tri ascendant et
descendant (#8334)
[PROTOCOLE] Problème suite à une synchronisation de référentiels sur les
Strates, sous-strates (#8300)
------------------------------------------------------------------------------------------------------
Le ticket est à refermer car l'anomalie ne s'est pas reproduite avec la
version applicative 4.5. À rouvrir sur l'erreur se représente.
Demandes d'évolutions
=====================
Observations individuelles, navigation efficace (#8048)
-------------------------------------------------------
- L'action doit amener au trait suivant/précédent ayant également un lot
de la même espèce et de la même catégorisation ?
De la même espèce, mais pas forcément de la même catégorisation.
- Quel ordre doit-on prendre pour déterminer le trait suivant/précédent
? (En fonction du numéro de trait ? ou suivant l'ordre de tri choisi par
l'utilisateur ?)
Il faut suivre l'ordre des numéros de trait.
- Vers quel écran est redirigé l'utilisateur en utilisant cette
fonctionnalité ?
Il est redirigé vers l'écran des lots et positionné sur la bonne ligne
(Pour éviter toute confusion il est préférable ne pas rediriger
l'utilisateur directement sur l'écran des observations individuelles).
- Si on ne trouve pas la même espèce dans les traits
suivants/précédents, une boite de dialogue est affichée pour indiquer
qu'il n'y en a pas ?
Oui
Dans le menu d'action de l'écran de mensuration des Espèces et du
Benthos, les actions "Aller au trait suivant ayant l'espèce" et "Aller
au trait précédent ayant l'espèce" sont ajoutées.
Référentiel temporaire - Import de personne déjà existante (#8310)
------------------------------------------------------------------
Lors de l'import du référentiel, il faut ajouter une vérification de
l'existence de la personne en fonction de son nom et prénom. Si elle
existe (même nom et même prénom) dans le référentiel temporaire, alors
l'identifiant déjà existant de la personne est réutilisé et il n'y a pas
d'ajout dans le référentiel temporaire pour cette personne.
Ajuster un message au moment de l'import générique (#8311)
----------------------------------------------------------
Si l'utilisateur ne coche que des traits/campagnes qui n'existe pas déjà
en base (Non signalés par une étoile), le message ne doit pas être affiché.
Sinon (si au moins une campagne ou un trait signalé par une étoile est
coché) le message doit être affiché.
On pourrait vérifier plus finement (comparaisons des espèces, benthos,
observations individuelles entre l'import et la base) mais ne c'est pas
nécessaire. La vérification doit s'arrêter au trait.
Désactiver les mises à jour automatique au lancement de l'application
(#8328)
-----------------------------------------------------------------------------
Ça ne serait pas mieux d'informer d'une mise à jour possible et de
proposer d'accepter ou refuser la mise à jour ?
Non pas uniquement car le principal problème est l'affichage de popup au
démarrage de l'application. À bord, sans connexion internet, ces
messages sont inutiles et gênants.
Il faut donc que le message d'erreur de connexion ne soit pas dans une
boîte de dialogue mais en bas de l'écran, afin de ne pas perturber
l'utilisateur lorsqu'il n'a pas de connexion.
De plus il serait intéressant dans certains cas de laisser la
possibilité d'accepter ou de refuser la mise à jour. Par exemple avec
une boîte de dialogue qui invite fortement à mettre à jour, mais laisse
la possibilité de refuser la mise à jour. C'est risqué car cela peut
provoquer des problèmes de synchronisation de données si les
utilisateurs ne sont pas à jour. Il faut mieux éviter de donner cette
possibilité aux utilisateurs et que la mise à jour soit forcée pour eux.
Pour les utilisateurs avertis, qui ont besoin de rester dans une version
sans mettre à jour, il est actuellement possible en modifiant dans la
configuration l'url de mise à jour mais la manipulation est un peu
compliquée.
On ne fait pas de modification sur le processus de mise à jour pour
l'instant.
Permettre de modifier le taxon sur des lots avec mensurations déjà
enregistrées (#8331)
---------------------------------------------------------------------------------------
Que faire lorsque des codes de prélèvements sont renseignés sur le lot ?
Faut-il modifier également ces codes de prélèvements ?
Il est nécessaire de bloquer la modification du nom du taxon s'il y a
des codes de prélèvements renseignés.
En général la modification est nécessaire lorsqu'il y a des erreurs de
saisie.
Rapports prélèvements (8332)
----------------------------
L'utilisation de R avec les données de Tutti serait intéressant.
Le fonctionnement tel qu'imaginé :
* Prérequis : R doit être installé sur la machine dans la bonne version
et un package spécifique pour dialoguer avec Java
* L'utilisateur place ses scripts R dans un dossier spécifique
* Le traitement de ces scripts peut être lancé depuis le menu de Tutti
* Les sorties sont générées et placées dans un dossier spécifique
C'est assez complexe et il y a des doutes sur l'intérêt d'intégrer ça à
Tutti plutôt que de traiter les données de l'export générique avec R
indépendamment de Tutti.
La demande est mise de côté pour l'instant, en attendant que des
premiers essais soient réalisés avec R sur des données de l'export
générique.
Enrichir le commentaire du taxon dans le cas de la gestion d'un mélange
(#8333)
-------------------------------------------------------------------------------
Le mélange se fait sur deux (ou plus) lots non catégorisés et ayant un
poids de sous-échantillonnage.
La formule de calcul est à faire sur les poids de sous-échantillonnage.
Option pour que les mesures de l'appareil bluetooth soient uniquement
dans le table des observations individuelles (#8361)
--------------------------------------------------------------------------------------------------------------------------
Cette évolution est liée au fonctionnement dans la campagne PELMED :
Première phase (tri) : Envoyer les données que dans les mensurations
(Bloc de gauche)
Deuxième phase (prise d'échantillons non représentatif) : Envoyer les
données uniquement dans les observations individuelles (Bloc de droite)
sans recopie dans les mensurations.
Il faut ajouter la possibilité d'ajouter les saisies uniquement dans les
observations individuelles (sans recopie dans les mensurations).
Des changements ergonomiques sont à prévoir :
- Déplacer les boutons de recopie dans la partie haute de l'écran
- Placer les différents modes de saisie-recopie dans une liste déroulante
- Jeu de couleurs en fonction des blocs "actifs" ou non
Code Lutin va mettre à jour le ticket avant de le faire valider par
l'Ifremer.
Macro-planning
--------------
Idéalement il faudrait une livraison fin juillet mais au vu des jours de
développements prévus cela ne semble pas forcément réalisable.
La livraison devra donc avoir lieu au plus tard fin août pour disposer
de temps de recette suffisamment important avant la campagne CGFS.
Actions à mener
===============
* (Ifremer) : Fournir le document détaillant les changements entre
AdagioCore et IfremerSynchro (Vu en réunion du 13/06/16).
* (Code Lutin) : Finir le chiffrage des tickets de la 4.5.5
* (Code Lutin) : Mise à jour des spécifications jusqu'à la version 4.5.4
Planning
========
Prochaine réunion hebdomadaire mardi 5 à 10h30.
--
Léo Kaufmann - Code Lutin
02.40.50.29.28 - www.codelutin.com