Comments (8)
Contextualisation, proposition alternative et extension :
A l'heure actuelle, dans Pogues, l'unique cas qu'il est possible de spécifier que l'on ne souhaite pas forcément collecter toutes les variables est la case non collectée, sans texte.
Ce cas a d'ailleurs des défauts de conception :
- l'action est à effectuer dans l'onglet "Variables collectées" en décochant la case "Collectée". Cette action serait plus légitime dans l'onglet "Format des réponses"
- Alors qu'aucune variable n'est collectée, cet état génère néanmoins dans le json Pogues une réponse et une variable collectée inutiles.
Les besoins auxquels on souhaite répondre :
- spécifier un texte comme alternative de la variable collectée (texte en VTL : pour gérer le texte comme dur aussi bien que la valeur d'une variable externe qui sert à initialiser le tableau dynamique)
- appuyer sur un filtre le choix de collecter la variable ou non. Par exemple, dans un tableau dynamique personnalisé, pour les colonnes personnalisées, on a une variable collectée sur lignes ajoutées ; dans un tableau dynamique avec Suggester multiple, une colonne de la nomenclature peut permettre d'indiquer si l'on souhaite collecter une des variables du tableau (ex : montant de la sous-traitance)
Proposition d'UX :
Déplacement de la notion de "Collectée" de l'onglet "Variables collectées" à l'onglet "Format des réponses" et enrichissement de l'interface pour les cas autres que "Collectée" :
-
évolution de l'onglet Variables collectées :
- suppression de la case à cocher "Collectée"
- restriction de la liste des variables générées à celles qui sont effectivement collectées
-
évolution de l'onglet "Format des réponses" :
-
Cas des tableaux dynamiques :
- Ajout d'un bouton radio "Collecté ?" avec 3 modalités : "Toujours" (valeur par défaut) ; "Jamais" ; "Sous condition"
- Sélectionner "Toujours" ne fait rien apparaître de plus
- Sélectionner "Jamais" fait apparaître une zone de libellé "Libellé de substitution"
- Sélectionner "Sous condition" fait apparaître une zone de formule "Condition de collecte" et une zone de libellé "Libellé de substitution"
-
Cas des tableaux normaux :
- Ajout d'une case à cocher "Tout collecter" cochée par défaut.
- Décocher cette case fait apparaître pour chaque modalité de la liste de codes de l'axe d'information principal :
- le libellé de la modalité
- le bouton radio "Collecté ?" décrit dans le cas des tableaux dynamiques (avec les comportements associés)
-
Evolution de Pogues-model :
- Ajouter un AttributeLabel de type xs:string (comme les autres Label) avec un minOccurs = 0
- Ajouter une enumeration à FlowControlTypeEnum, qui ne peut actuellement valoir que CLARIFICATION : COLLECTCELL
Evolution du DDI
- Pour le libellé sur case non collectée, l'utilisation de d:CellLabel est déjà documenté et utilisé dans la transformation ddi2xforms
- Ce d:CellLabel permet aussi de rajouter un libellé sur une case collectée. Néanmoins, le système de filtre interne à un d:QuestionGrid, utilisé dans le cadre de la question de clarification à une réponse (d:GridResponseDomainInMixed / d:ResponseAttachmentLocation / d:DomainSpecificValue / @attachmentDomain de la réponse de précision a la même valeur que d:GridResponseDomainInMixed / @attachmentBase pour la réponse qui peut être "Autre"), restreint les possibilités de filtre à une liste de valeurs d'une réponse. Et là, on souhaiterait faire porter le filtre sur une variable calculée ou externe, voire une formule... Détails : InseeFr/Bowie#87
from pogues.
L'UI est plus compliquée à rendre claire que prévu.
Dans les sujets : quel est le format de réponse des colonnes dont aucune case n'est collectée ? (on peut avoir le cas au moins pour des tableaux dynamiques)
Sachant que lors de l'import des questionnaires présents en base, cette information est calculée à partir du formats de la variable dans la première case de la colonne...
A l'enregistrement en base, toutes les variables sont créées avec le format de la colonne et associées à des réponses, mais une information complémentaire permet d'indiquer qu'elles sont inutiles...
Est-ce que c'est le bon moment de refondre la gestion case à case des tableaux dans Pogues ?
from pogues.
Au final, évolution de l'UI uniquement sur l'onglet "Variables collectées" avec clarification du contenu.
L'évolution principale concerne la case à cocher "Collecté"
-
elle est remplacée par un bouton radio qui prend 3 valeurs : "Oui" (sélectionné par défaut), "Non", "Sous condition"
-
elle est toujours affiché uniquement pour les tableaux et les QCM
-
lorsqu'elle est affichée, elle est affichée en premier
-
ses évolutions ont des effets sur l'affichage de la suite
-
Modalité "Oui" ou non affichée (réponses simples)
- Comme auparavant : Nom et libellé de la variable ; Caractéristiques du format
- évolution : "Liste de codes" n'apparaît que lorsqu'elle a du sens
-
Modalité "Non" :
- Apparition d'un champ nouveau : "Libellé alternatif"
- disparition des champs : "Nom", "libellé" et champs en lien avec le format
- le lien dans la liste des variables comporte les coordonnées puis [nom collecté] au lieu du nom inutile de la variable
-
Modalité "Sous condition" :
- Champs nouveaux :
- "Condition d'affichage"
- "Libellé alternatif"
- puis tous les champs que l'on a avec la réponse "Oui"
- Champs nouveaux :
Au niveau des données :
- si "Non" : "AlternativeLabel" rajouté dans l'Attribute (informations de non-collecte de la case)
- si "Sous condition" : "Condition" et "AlternativeLabel" rajoutés dans le "MappingSource" qui fait le lien entre la case et la réponse
from pogues.
@BulotF On fait le point à ton retour sur cette fonctionnalité
from pogues.
Validation des devs une fois que la partie Eno est faite pour un test de bout en bout.
Finalement, on fait quand même une validation d'UI.
Premier élément: le libellé d'une variable dans un tableau est entourée de "
ce qui n'est pas le cas pour les variables des autres types de questions. Peut-on revenir à un libellé sans quotes ?
from pogues.
Deuxième élément: une proposition de retouche de la présentation du bouton pour les cases non-collectées, avec le texte fixe "Case non collectée" en italique, et un début de formule dans la même police que le nom de la variable dans le cas d'une collectée.
from pogues.
Remarques sur tes remarques :
-
Dans le cas des variables collectées, on a libellé de la variable [Nom de la variable]
Dans le cas des cases non collectées, on a Case non collectée [libellé affiché]
Ca me fait bizarre d'avoir le libellé hors des crochets dans un cas et dans les crochets dans l'autre cas...
Peut-être au moins remplacer les crochets (qui pour moi désignent un identifiant) par autre chose... (juste un " : " pour séparer Case non collectée et la formule) -
Dans les cas de variables collectées, le libellé de la variable est celui que l'on peut surcharger dans "Libellé" lorsque l'on sélectionne la variable collectée.
L'initialisation se fait ainsi :
- Réponse simple / à choix unique / lien 2 à 2 : prend l'identifiant de la question et rajoute " label" derrière. L'identifiant de la question est initialisé à partir du libellé de la question, auquel on enlève tous les caractères hors alphabet et chiffres : donc guillemets, mais aussi espace, caractères accentués, etc., puis tronqué à 10 caractères
- Réponse à choix multiple : code de la codelist, puis son libellés, séparés par " - "
- Tableau dynamique : le libellé de l'information mesurée, sans modification
- Tableau à 1 dimension : le code de la dimension 1 ; "-" ; le libellé de l'information mesurée, sans modification
- Tableau à 2 dimensions : le code de la dimension 1 ; "-" ; le code de la dimension 2 ; "-" ; le libellé de l'information mesurée, sans modification
Comment souhaites-tu modifier l'initialisation du libellé de chaque variable ?
from pogues.
Sur le 1, je n'étais pas très satisfait de l'utilisation des crochets, et on a déjà des parenthèses avant... Va pour un :
, ou un -
.
Pour le 2, je ne souhaite pas modifier le fonctionnement actuel sinon de supprimer les "
surnuméraires qu'on ne voit pas ailleurs.
from pogues.
Related Issues (20)
- Duration fields with `0` are not saved / not reloaded HOT 2
- Second instruction doesn't have default modes HOT 2
- maximum wrongly created for duration hours/minutes if there is a minimum HOT 2
- Add [deprecated] in the label of visu for Web V2 (like beta tag but in red) HOT 2
- Error when importing code list containing parent values
- Instruction management refactor
- Tables - Allow VTL for min/max for dynamic tables HOT 3
- [Suggesters] Nouvelles listes HOT 4
- Allow VTL expressions in min / max fields for dates
- A problem with the Pogues2DDI transformation? HOT 2
- Criticity level for controls, drop Error HOT 1
- Migrate to Vite
- question type "number" : add * to min/max labels
- Other option is not placed correctly HOT 1
- Automatic naming for an imported list
- single choice question : importing a codeList + adding a "precise" leads to 💥 HOT 1
- multiple choice question : importing a codeList + adding a "precise" sets the "precise" to the previous modality HOT 1
- Handle correctly filter on the Roundabout loop sequences HOT 1
- Ajouter un controle sur les occurrences du rond point HOT 1
- Variable collectée sur tableau standard à 2 dimensions avec réponses de type booléen : génération en boucle HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pogues.