Giter Site home page Giter Site logo

Comments (8)

BulotF avatar BulotF commented on August 22, 2024

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.

BulotF avatar BulotF commented on August 22, 2024

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.

BulotF avatar BulotF commented on August 22, 2024

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"

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.

romaintailhurat avatar romaintailhurat commented on August 22, 2024

@BulotF On fait le point à ton retour sur cette fonctionnalité

from pogues.

romaintailhurat avatar romaintailhurat commented on August 22, 2024

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.

romaintailhurat avatar romaintailhurat commented on August 22, 2024

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.

image

from pogues.

BulotF avatar BulotF commented on August 22, 2024

Remarques sur tes remarques :

  1. 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)

  2. 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.

romaintailhurat avatar romaintailhurat commented on August 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.