Wiki
Version 155 (Etienne Pallier, 07/02/2015 12:33 pm) → Version 156/198 (Etienne Pallier, 07/02/2015 12:35 pm)
h1. Wiki
*ChemCam Ground Data Log Book*
*This is a Java GUI tool to help building an information context to be associated to an observation (a series of ChemCam shots, FOCUS, LIBS, RMI) done in a laboratory*
{{toc}}
---
h2. %{margin-left:0px; font-weight:normal; font-size:150; display:block; background-color:yellow; color:red}INFORMATIONS TECHNIQUES%
Ce logiciel est installé sur le Pc Chemcam, en salle blanche : http://planetowiki.irap.omp.eu/do/view/Computers/PcChemcam2Tour
OLD web page for this project : http://planetowiki.irap.omp.eu/do/view/Cgdl/WebHome
SVN repository : http://planetoweb2.irap.omp.eu/cgdl_svn/trunk
---
h2. %{margin-left:0px; font-weight:normal; font-size:150; display:block; background-color:yellow; color:red}Collaboration avec l'outil C-SPEC-HK%
Suite aux réunions du 29/4/15 et du 22/5/15 avec OG, WR, AC, PM, et EP,
le nouveau besoin exprimé passe par une collaboration de cet outil avec l'autre outil [[cspechkanalyser:|C-SPEC-HK]].
Début juin, nous avons eu une réunion avec le prestataire Richard Hitier qui nous a proposé un devis sur 6 jours,
pour la réalisation d'une nouvelle version impliquant la refonte de l'IHM en un seul formulaire contenant tous les champs.
h3. %{margin-left:30px; font-weight:normal; display:block; background-color:lightgrey; color:black;}1. JALONS DU DEVELOPPEMENT DES NOUVELLES FONCTIONNALITES PAR LE PRESTATAIRE%
Le développement doit se faire en Java 8
Calendrier prévisionnel (non contractuel) :
1) Mercredi 24/6/15 : Livraison de la version existante adaptée pour qu'elle crée un fichier XML unique par contexte
2) Jeudi 2/7/15 : Version avec Formulaire unique (au lieu du formulaire multi-onglets actuel)
A prévoir : Réunion de validation avec l'équipe Chemcam
*3) Mercredi 8/7/15 : Livraison de la version finale*
h3. %{margin-left:30px; font-weight:normal; display:block; background-color:lightgrey; color:black;}2. NOUVELLE PRESENTATION%
(NOUVELLE IHM, NOUVEAU FORMULAIRE, NOUVEAU WORKFLOW)
(Note : on change de contexte quand on change la roche, la distance, ou l’atmosphère…)
Le logiciel doit démarrer automatiquement au boot du pc.
Il est désormais composé de seulement 2 écrans.
h4. 2.1. ECRAN 1 : START
Le premier écran *START* doit proposer les 4 choix suivants :
*1) Create a brand new context*
*2) Create a new context from another one*
*3) Modify a context*
*4) Delete a context*
Dans tous les cas (sauf le 1), une liste de TOUS les contextes existants est affichée (tous les contextes créés, même ceux du passé), parmi lesquels on doit en sélectionner un.
Dans le cas (4), on demande confirmation avant la suppression ("Do you really want to delete this context ? <OK> <CANCEL>), puis on revient à l'écran START après la suppression.
Dans tous les autres cas (1 à 3), on arrive ensuite à l'écran du formulaire unique "CONTEXT DEFINITION".
*Suppression d'un contexte (options 3 et 4)* :
Afin de faciliter l'interaction avec le logiciel C-Spec-HK,
les fichiers de contexte "supprimés" ne doivent pas être physiquement supprimés,
mais seulement marqués du préfixe "_TO-BE-DELETED_".
Ces fichiers "supprimés" virtuellement ne doivent plus être visibles dans la liste des contextes affichée par C-GDL.
Ainsi, C-Spec-HK pourra se rendre compte qu'un contexte (même ancien, dans le passé) a été supprimé,
et pourra supprimer en conséquence le dossier de contexte associé
(suppression virtuelle elle aussi car on préfère ne pas prendre le risque de supprimer un dossier de contexte par erreur...)
h4. 2.2. ECRAN 2 : CONTEXT DEFINITION
*2.2.1. Différence de comportement selon l'option choisie (dans l'écran 1)*
Dans les 3 premiers cas (options 1 à 3), *une fois que le contexte est sauvegardé (clic sur bouton SAVE), il est FERMÉ* car on ne doit plus pouvoir le modifier, sauf en l'ouvrant à nouveau en modification (option 3). Le bouton "SAVE" devra donc plutôt être nommé *"SAVE CONTEXT (and close)"*.
* *1) Create a brand new context (Création d'un tout nouveau contexte) :*
* date = date du jour (*modifiable pour pouvoir créer un contexte dans le passé*)
* start time = maintenant (modifiable)
* stop time = 23:59 (modifiable)
* Autres champs = valeurs par défaut
* Quand on clique sur le bouton SAVE : la confirmation suivante est demandée : "Do you want to save this context with the name <...> ? <OK> <CANCEL>)"
Dans le cas "rare" où on crée un contexte avec un nom qui existe déjà, le message d'avertissement suivant est affiché : ""WARNING : A context already exists with this name <...>. <OK>",
et la sauvegarde n'est pas effectuée.
* *2) Create a new context from another one (Création d'un nouveau contexte à partir d'un contexte existant) :*
* date = idem (1)
* start time = idem (1)
* stop time = idem (1)
* Autres champs = valeurs du contexte existant
* Quand on clique sur le bouton SAVE : idem (1)
* *3) Modify a context (Modification d'un contexte existant) :*
* date = date du contexte existant (modifiable, bien qu'en théorie, on ne devrait pas l'autoriser, mais ça n'est pas bien grave...)
* start time = heure du contexte existant (modifiable)
* stop time = heure du contexte existant (modifiable)
* Autres champs = valeurs du contexte existant (idem (2))
* Quand on clique sur le bouton SAVE : on doit normalement supprimer (ou écraser, si le nom n'a pas changé) le contexte sélectionné au départ. Quand l'utilisateur clique sur le bouton "SAVE", on demande confirmation : "Do you want to update this context (with the name <...>) ? <OK> <CANCEL>"
*2.2.2. Aspect général du formulaire*
Voici une maquette (incomplète mais suffisante) du nouveau formulaire proposée par AC et OG (voir surtout les 2 dernières diapos) :
* Document complet (PPT) : {{thumbnail(CGDL-idees_v3.pptx, size=300, title=Dashboard_Controller)}}
* Nouvelle IHM proposée :
{{thumbnail(Diapositive10.jpg, size=300, title=Nouvelle_IHM)}}
* Liste des options pour les champs à liste déroulante :
{{thumbnail(Diapositive11.jpg, size=300, title=Liste_des_champs)}}
*2.2.3. Description détaillée des champs du formulaire*
Afin de faciliter les changements à l'avenir, la *configuration du formulaire* unique (noms des labels, valeurs par défaut, paramètre obligatoire ou facultatif) doit être *écrite dans un fichier texte* (XML, JSON, ...).
On pourra nommer ce fichier "SETTINGS" ou "CONFIG"*
*2.2.3.1. Panel OBSERVATION*
Au tout début de ce formulaire, on trouve le panel "OBSERVATION", qui contient notamment les 3 champs donnant les date et période de couverture du contexte (pris en compte pour le champ CONTEXT NAME tout en bas) :
*Date and time of acquisition:*
- *[Date]* (format YYYYMMDD)
- *[Start time]* (format HHMM)
- *[Stop time]* (format HHMM)
*2.2.3.2. Panel CONTEXT NAME*
Tout en bas, on a le panel "CONTEXT NAME" (avec le bouton "SAVE CONTEXT (and close)"), qui contient le nom courant du contexte.
Ce champ est *READ ONLY* car il est construit automatiquement à partir de la valeur des 3 champs temporels du début, et de tous les champs "bleus" de tous les panels.
Voici le format de ce champ : *<YYYYMMDD>_<HHMM>-<HHMM>_CONTEXT_<valeurs-des-champs-bleus>.xml* (ou .json si on fait du JSON à la place du XML, option ouverte)
avec :
* YYYYMMDD : Date du jour (ex, 20050529)
* HHMM-HHMM : temps de début puis temps de fin (ex : 0935-1147)
Par défaut, temps début = maintenant, et temps fin = 2359 (fin de journée)
* <valeurs-des-champs-bleus> : concaténation des valeurs de tous les champs bleus de tous les panels
(Supprimer la fonctionnalité du 000, 001, 002 à la fin du nom du contexte)
*2.2.3.3. Validation du formulaire*
En mode "Creation from scratch (1)", au début, tous les titres de tous les panels sont ROUGE car non remplis (ils peuvent être verts si les valeurs par défaut sont suffisantes),
sauf les panels facultatifs tels que "NOTES"... qui sont VERT, et le bouton "SAVE CONTEXT (and close)" est désactivé.
Le titre d'un panel passe au VERT quand son contenu est suffisemment rempli.
Quand tous les panels sont VERT, le panel "CONTEXT NAME" passe lui aussi au VERT, et son bouton "SAVE CONTEXT (and close)" devient disponible.
*2.2.3.4. Autres remarques*
Prévoir un bouton "RESET" permettant de remettre toutes les valeurs par défaut. Ce bouton ne sera présent que dans l'option (1) "Creation of a new Context".
Ajouter un *panel "Notebook"* sur lequel on pourra prendre des notes diverses.
(NB: Dans la version précédente de C-GDL, le contexte n'était pas créé séparément, mais il était ajouté à un fichier CgdlContextList.xml dans le répertoire du programme, trié par date puis par nom de cible)
h3. %{margin-left:30px; font-weight:normal; display:block; background-color:lightgrey; color:black;}AUTRES CHANGEMENTS SUR LE LOGICIEL%
ATTENTION, CETTE SECTION N'EST PAS FORCEMENT TRES A JOUR CAR ELLE PART DE LA PHILO DE L'ANCIEN FORMULAIRE (multi-onglets)
Outre le nouveau fonctionnement décrit ci-dessus, les *adaptations* suivantes ont été demandées.
*La configuration du formulaire unique (noms des labels, valeurs par défaut, paramètre obligatoire ou facultatif) doit être écrite dans un fichier texte (XML, JSON, ...) afin de faciliter les changements à l'avenir. On pourra nommer ce fichier "SETTINGS" ou "CONFIG"*
Supprimer la fonctionnalité du 000, 001, 002 à la fin du nom du contexte
Prévoir un bouton "RESET" permettant de remettre toutes les valeurs par défaut. Ce bouton ne sera présent que dans l'option (1) "Creation of a new Context".
_(Le bouton "Reset it" ne doit pas faire un "Next" après le reset (on peut d'ailleurs appeler ce bouton "Reset" tout simplement). Il remet les valeurs par défaut dans tous les champs de l'écran.)_
Ajouter un *panel "Notebook"* sur lequel on pourra prendre des notes diverses.
*Panel Observation* :
- Observation type : Cible LIBS par défaut (d'ailleurs, on peut enlever RMI et FOCUS)
*Panel Target* :
Valeurs par défaut :
- granulo : unknown
- rough : unknown
- size : 1-5 cm
- albedo : remplacer 0 par unknown
- origin : ajouter PELLET
- composition : unknown
*Panel Environment* :
- Atmosphere (en bleu car pris en compte pour le nom du contexte) : Mars par défaut
- pressure : controlled par défaut
*Panel Hardware* :
Valeurs par défaut :
- Location (en bleu car pris en compte dans le nom du contexte) : IRAP
- body unit : + Chemcam EM 2013 (par défaut)
- Ctrl/cde : LANL/GSE
- Mast : ChemCam EQM
- Fiber : ChemCam FM-like
*Panel Distance* :
- "Distance to target" => "Approximate dist to target"
- enlever « obtained »
- "st" => "step"
*Panel Miscellaneous* :
- "Temperature of laser" => "Instrument chamber temperature"
- "More comments" => "Description", doit contenir le commentaire suivant par défaut :
"Sample in Martian chamber
With folding mirror
Laser in instrument chamber"
- Laser pulse : supprimer
- SOH : yes par défaut
- Laser freq : 3 Hz par défaut
- Existing of laser : désactiver
*ChemCam Ground Data Log Book*
*This is a Java GUI tool to help building an information context to be associated to an observation (a series of ChemCam shots, FOCUS, LIBS, RMI) done in a laboratory*
{{toc}}
---
h2. %{margin-left:0px; font-weight:normal; font-size:150; display:block; background-color:yellow; color:red}INFORMATIONS TECHNIQUES%
Ce logiciel est installé sur le Pc Chemcam, en salle blanche : http://planetowiki.irap.omp.eu/do/view/Computers/PcChemcam2Tour
OLD web page for this project : http://planetowiki.irap.omp.eu/do/view/Cgdl/WebHome
SVN repository : http://planetoweb2.irap.omp.eu/cgdl_svn/trunk
---
h2. %{margin-left:0px; font-weight:normal; font-size:150; display:block; background-color:yellow; color:red}Collaboration avec l'outil C-SPEC-HK%
Suite aux réunions du 29/4/15 et du 22/5/15 avec OG, WR, AC, PM, et EP,
le nouveau besoin exprimé passe par une collaboration de cet outil avec l'autre outil [[cspechkanalyser:|C-SPEC-HK]].
Début juin, nous avons eu une réunion avec le prestataire Richard Hitier qui nous a proposé un devis sur 6 jours,
pour la réalisation d'une nouvelle version impliquant la refonte de l'IHM en un seul formulaire contenant tous les champs.
h3. %{margin-left:30px; font-weight:normal; display:block; background-color:lightgrey; color:black;}1. JALONS DU DEVELOPPEMENT DES NOUVELLES FONCTIONNALITES PAR LE PRESTATAIRE%
Le développement doit se faire en Java 8
Calendrier prévisionnel (non contractuel) :
1) Mercredi 24/6/15 : Livraison de la version existante adaptée pour qu'elle crée un fichier XML unique par contexte
2) Jeudi 2/7/15 : Version avec Formulaire unique (au lieu du formulaire multi-onglets actuel)
A prévoir : Réunion de validation avec l'équipe Chemcam
*3) Mercredi 8/7/15 : Livraison de la version finale*
h3. %{margin-left:30px; font-weight:normal; display:block; background-color:lightgrey; color:black;}2. NOUVELLE PRESENTATION%
(NOUVELLE IHM, NOUVEAU FORMULAIRE, NOUVEAU WORKFLOW)
(Note : on change de contexte quand on change la roche, la distance, ou l’atmosphère…)
Le logiciel doit démarrer automatiquement au boot du pc.
Il est désormais composé de seulement 2 écrans.
h4. 2.1. ECRAN 1 : START
Le premier écran *START* doit proposer les 4 choix suivants :
*1) Create a brand new context*
*2) Create a new context from another one*
*3) Modify a context*
*4) Delete a context*
Dans tous les cas (sauf le 1), une liste de TOUS les contextes existants est affichée (tous les contextes créés, même ceux du passé), parmi lesquels on doit en sélectionner un.
Dans le cas (4), on demande confirmation avant la suppression ("Do you really want to delete this context ? <OK> <CANCEL>), puis on revient à l'écran START après la suppression.
Dans tous les autres cas (1 à 3), on arrive ensuite à l'écran du formulaire unique "CONTEXT DEFINITION".
*Suppression d'un contexte (options 3 et 4)* :
Afin de faciliter l'interaction avec le logiciel C-Spec-HK,
les fichiers de contexte "supprimés" ne doivent pas être physiquement supprimés,
mais seulement marqués du préfixe "_TO-BE-DELETED_".
Ces fichiers "supprimés" virtuellement ne doivent plus être visibles dans la liste des contextes affichée par C-GDL.
Ainsi, C-Spec-HK pourra se rendre compte qu'un contexte (même ancien, dans le passé) a été supprimé,
et pourra supprimer en conséquence le dossier de contexte associé
(suppression virtuelle elle aussi car on préfère ne pas prendre le risque de supprimer un dossier de contexte par erreur...)
h4. 2.2. ECRAN 2 : CONTEXT DEFINITION
*2.2.1. Différence de comportement selon l'option choisie (dans l'écran 1)*
Dans les 3 premiers cas (options 1 à 3), *une fois que le contexte est sauvegardé (clic sur bouton SAVE), il est FERMÉ* car on ne doit plus pouvoir le modifier, sauf en l'ouvrant à nouveau en modification (option 3). Le bouton "SAVE" devra donc plutôt être nommé *"SAVE CONTEXT (and close)"*.
* *1) Create a brand new context (Création d'un tout nouveau contexte) :*
* date = date du jour (*modifiable pour pouvoir créer un contexte dans le passé*)
* start time = maintenant (modifiable)
* stop time = 23:59 (modifiable)
* Autres champs = valeurs par défaut
* Quand on clique sur le bouton SAVE : la confirmation suivante est demandée : "Do you want to save this context with the name <...> ? <OK> <CANCEL>)"
Dans le cas "rare" où on crée un contexte avec un nom qui existe déjà, le message d'avertissement suivant est affiché : ""WARNING : A context already exists with this name <...>. <OK>",
et la sauvegarde n'est pas effectuée.
* *2) Create a new context from another one (Création d'un nouveau contexte à partir d'un contexte existant) :*
* date = idem (1)
* start time = idem (1)
* stop time = idem (1)
* Autres champs = valeurs du contexte existant
* Quand on clique sur le bouton SAVE : idem (1)
* *3) Modify a context (Modification d'un contexte existant) :*
* date = date du contexte existant (modifiable, bien qu'en théorie, on ne devrait pas l'autoriser, mais ça n'est pas bien grave...)
* start time = heure du contexte existant (modifiable)
* stop time = heure du contexte existant (modifiable)
* Autres champs = valeurs du contexte existant (idem (2))
* Quand on clique sur le bouton SAVE : on doit normalement supprimer (ou écraser, si le nom n'a pas changé) le contexte sélectionné au départ. Quand l'utilisateur clique sur le bouton "SAVE", on demande confirmation : "Do you want to update this context (with the name <...>) ? <OK> <CANCEL>"
*2.2.2. Aspect général du formulaire*
Voici une maquette (incomplète mais suffisante) du nouveau formulaire proposée par AC et OG (voir surtout les 2 dernières diapos) :
* Document complet (PPT) : {{thumbnail(CGDL-idees_v3.pptx, size=300, title=Dashboard_Controller)}}
* Nouvelle IHM proposée :
{{thumbnail(Diapositive10.jpg, size=300, title=Nouvelle_IHM)}}
* Liste des options pour les champs à liste déroulante :
{{thumbnail(Diapositive11.jpg, size=300, title=Liste_des_champs)}}
*2.2.3. Description détaillée des champs du formulaire*
Afin de faciliter les changements à l'avenir, la *configuration du formulaire* unique (noms des labels, valeurs par défaut, paramètre obligatoire ou facultatif) doit être *écrite dans un fichier texte* (XML, JSON, ...).
On pourra nommer ce fichier "SETTINGS" ou "CONFIG"*
*2.2.3.1. Panel OBSERVATION*
Au tout début de ce formulaire, on trouve le panel "OBSERVATION", qui contient notamment les 3 champs donnant les date et période de couverture du contexte (pris en compte pour le champ CONTEXT NAME tout en bas) :
*Date and time of acquisition:*
- *[Date]* (format YYYYMMDD)
- *[Start time]* (format HHMM)
- *[Stop time]* (format HHMM)
*2.2.3.2. Panel CONTEXT NAME*
Tout en bas, on a le panel "CONTEXT NAME" (avec le bouton "SAVE CONTEXT (and close)"), qui contient le nom courant du contexte.
Ce champ est *READ ONLY* car il est construit automatiquement à partir de la valeur des 3 champs temporels du début, et de tous les champs "bleus" de tous les panels.
Voici le format de ce champ : *<YYYYMMDD>_<HHMM>-<HHMM>_CONTEXT_<valeurs-des-champs-bleus>.xml* (ou .json si on fait du JSON à la place du XML, option ouverte)
avec :
* YYYYMMDD : Date du jour (ex, 20050529)
* HHMM-HHMM : temps de début puis temps de fin (ex : 0935-1147)
Par défaut, temps début = maintenant, et temps fin = 2359 (fin de journée)
* <valeurs-des-champs-bleus> : concaténation des valeurs de tous les champs bleus de tous les panels
(Supprimer la fonctionnalité du 000, 001, 002 à la fin du nom du contexte)
*2.2.3.3. Validation du formulaire*
En mode "Creation from scratch (1)", au début, tous les titres de tous les panels sont ROUGE car non remplis (ils peuvent être verts si les valeurs par défaut sont suffisantes),
sauf les panels facultatifs tels que "NOTES"... qui sont VERT, et le bouton "SAVE CONTEXT (and close)" est désactivé.
Le titre d'un panel passe au VERT quand son contenu est suffisemment rempli.
Quand tous les panels sont VERT, le panel "CONTEXT NAME" passe lui aussi au VERT, et son bouton "SAVE CONTEXT (and close)" devient disponible.
*2.2.3.4. Autres remarques*
Prévoir un bouton "RESET" permettant de remettre toutes les valeurs par défaut. Ce bouton ne sera présent que dans l'option (1) "Creation of a new Context".
Ajouter un *panel "Notebook"* sur lequel on pourra prendre des notes diverses.
(NB: Dans la version précédente de C-GDL, le contexte n'était pas créé séparément, mais il était ajouté à un fichier CgdlContextList.xml dans le répertoire du programme, trié par date puis par nom de cible)
h3. %{margin-left:30px; font-weight:normal; display:block; background-color:lightgrey; color:black;}AUTRES CHANGEMENTS SUR LE LOGICIEL%
ATTENTION, CETTE SECTION N'EST PAS FORCEMENT TRES A JOUR CAR ELLE PART DE LA PHILO DE L'ANCIEN FORMULAIRE (multi-onglets)
Outre le nouveau fonctionnement décrit ci-dessus, les *adaptations* suivantes ont été demandées.
*La configuration du formulaire unique (noms des labels, valeurs par défaut, paramètre obligatoire ou facultatif) doit être écrite dans un fichier texte (XML, JSON, ...) afin de faciliter les changements à l'avenir. On pourra nommer ce fichier "SETTINGS" ou "CONFIG"*
Supprimer la fonctionnalité du 000, 001, 002 à la fin du nom du contexte
Prévoir un bouton "RESET" permettant de remettre toutes les valeurs par défaut. Ce bouton ne sera présent que dans l'option (1) "Creation of a new Context".
_(Le bouton "Reset it" ne doit pas faire un "Next" après le reset (on peut d'ailleurs appeler ce bouton "Reset" tout simplement). Il remet les valeurs par défaut dans tous les champs de l'écran.)_
Ajouter un *panel "Notebook"* sur lequel on pourra prendre des notes diverses.
*Panel Observation* :
- Observation type : Cible LIBS par défaut (d'ailleurs, on peut enlever RMI et FOCUS)
*Panel Target* :
Valeurs par défaut :
- granulo : unknown
- rough : unknown
- size : 1-5 cm
- albedo : remplacer 0 par unknown
- origin : ajouter PELLET
- composition : unknown
*Panel Environment* :
- Atmosphere (en bleu car pris en compte pour le nom du contexte) : Mars par défaut
- pressure : controlled par défaut
*Panel Hardware* :
Valeurs par défaut :
- Location (en bleu car pris en compte dans le nom du contexte) : IRAP
- body unit : + Chemcam EM 2013 (par défaut)
- Ctrl/cde : LANL/GSE
- Mast : ChemCam EQM
- Fiber : ChemCam FM-like
*Panel Distance* :
- "Distance to target" => "Approximate dist to target"
- enlever « obtained »
- "st" => "step"
*Panel Miscellaneous* :
- "Temperature of laser" => "Instrument chamber temperature"
- "More comments" => "Description", doit contenir le commentaire suivant par défaut :
"Sample in Martian chamber
With folding mirror
Laser in instrument chamber"
- Laser pulse : supprimer
- SOH : yes par défaut
- Laser freq : 3 Hz par défaut
- Existing of laser : désactiver