Cassandre
Cassandre copied to clipboard
Dresser une table des propriétés
Summary of required features
- [x] Draw a minimal table thanks to Markdown Layout
- [x] Draw a complete table with red and green cells on a dedicated page.
- [ ] Move line or column with mouse.
- [ ] Quoting a field memo adds a groundings to the table.
Discussion
Une table des propriétés (présentée dans le Manuel d'analyse qualitative, pages 99-101) constitue un compte-rendu (mémo) d'un type particulier, nécessitant un mode de saisie tabulaire.
- Les noms de lignes de ce tableau devraient pouvoir être saisis librement.
- Les entêtes de colonnes seraient choisis parmi les étiquettes créées (propriétés, dimensions, catégories).
- Les cellules du tableau devraient comporter la référence (peut-être via un hyperlien) à un passage d'un compte-rendu de terrain.
@AndreMarvell @bj0rge @ChangruLU @ConstantSIDJUI @EdwardNjango @mchidaine @PabloPrudhommeau @salamata @Slaals @supertinou @valentin-bonino @valentinlefevre @yeahger
Le présent ticket a été créé suite à mon commentaire de la synthèse du ticket #40. Cette fonctionnalité occasionne-t-elle des questions ? Tout vous paraît-il clair ?
Quelques infos :
La table des propriétés facilite l'articulation des propriétés et les dimensions. Il y'a 3 différents types de tables de propriétés : la version simple, tertiaire et complète :
- La version binaire : la table de propriétés permet de comparer les situations en fonction de la présence ou non de propriétés. En cas de présence la cellule est noircie.
- La version tertiaire : le chercheur peut ajouter aux absences et aux présences les attestations négatives (lorsqu'un informateur mentionne une propriété pour l'écarter)
- La version complète : Les cellules accueillent des extraits du matériau, accompagnés des renvois précis à celui-ci.
exemple :
Oser expérimenter | A la portée de tous | Soif d'apprendre | Gout du défi | |
---|---|---|---|---|
Mathieu (motos) | X | 0 | X | X |
Richard (légumes) | X | X | X | 0 |
Robert (motos) | X | |||
Gaston (réfrigirateur) | X | X | ||
Marc (légumes) | X | X |
Questions :
- Vous indiquez une table de propriété est un compte rendu de type particulier, de quel compte rendu s'agit-il ? Celà fait-il parti du compte-rendu de codage ? Il n'est pas précisé dans le schéma des différents types de comptes-rendus.
- L'analyse choisit-il les propriétés intéressantes parmi la listes des propriétés récoltés dans le compte rendu de codage ?
En complément avec les questions de @supertinou, voici le scénario que nous proposons :
• Créer un tableau • Remplir les en-têtes des colonnes (avec les propriétés) • Remplir les en-têtes des lignes (avec les prénoms des interviewés ou informateurs) • Indiquer les liens des passages (des comptes rendu) dans les cellules • Sélectionner la version de table (binaire, tertiaire, complète)
Pour la « version binaire » : • Noircir les cellules (lorsque les propriétés sont présentes) • Il y a possibilité de faire évoluer la « version binaire » vers la « version tertiaire »
Pour la « version tertiaire » : • Marquer les signes (-, +, 0) dans les cellules • Il y a possibilité de faire évoluer la « version tertiaire » vers la « version complète »
Pour la « version complète » : • Marquer les signes (x, 0) dans les cellules
Merci pour ces propositions. Je ne pense pas qu'il soit utile de prévoir les trois versions de la table des propriétés. Une fois informatisée, la table devient "dynamique" : chaque cellule contient la référence à un ou plusieurs extrait(s) (via un lien).
Le scénario d'utilisation peut dès lors être simplifié : plus besoin d'utiliser des signes ou de noircir des cases, mais simplement, de choisir (peut-être par sélection à la souris) les extraits étiquetés.
Les cellules non-encore complétées pouvant, dès lors, apparaître d'une autre couleur (grisée?), afin d'attirer l'attention de l'utilisateur. Je ne suis pas convaincu, à ce stade, qu'il soit nécessaire de prévoir un jeu de couleurs (vert et rouge) pour les cellules complétées...
Si j'ai bien compris ce vous avez dit, alors on se limite juste à cette partie : • Créer un tableau • Remplir les en-têtes des colonnes (avec les propriétés) • Remplir les en-têtes des lignes (avec les prénoms des interviewés ou informateurs) • Indiquer les liens des extraits (des compte rendu) dans les cellules.
La première contribution à ce ticket indiquait effectivement les fonctionnalités qu'il s'agit de proposer.
Voici une ébauche de la maquette pour la table des propriétés :
Pour éditer un le nom d'un acteur, ajouter/supprimer une ligne, on fait un click droit.
Ce qui me chagrine dans le clic droit:
- comment l'utilisateur peut-il trouver ce menu? Il est déjà en mode édition, si il doit faire en plus un clic droit pour modifier un certaine partie, c'est compliqué...
- il est censé se douter que pour agir sur la ligne entière, il doit cliquer sur un nom... c'est le réflexe tableur classique, assez répandu. Mais comment va s'afficher ce menu contextuel : va-t-il remplacer le menu classique que l'on a au clic droit? Est-on sûr que l'utilisateur n'en n'aura pas besoin?
Mes solutions :
- Rendre le champ nom de l'acteur d'emblée éditable, ou bien évitable au double-clic.
- Ajouter un symbole à l'extrême gauche de chaque ligne pour agir sur les lignes. Ex " v " affiche effectivement un petit menu contextuel, par un clic gauche.
- Comme le suggère @ltosi, le nom des lignes doit être d'emblée éditable, et complété par l'utilisateur (non automatiquement par le système). Il ne faut pas oublier que ces lignes peuvent, évidemment, porter sur des acteurs, mais aussi sur différentes situations concernant le même acteur (en tant qu'enfant ou qu'adulte, que travailleur ou que fan de foot). Cette remarque est également pertinente dans le cas de matériaux collectés par observations (et non par entretiens).
- L'ergonomie de l'édition des cellules me semble bien réalisée. Par contre, ce qui y apparaît dans l'exemple n'est pas adéquat : ce devraient être des extraits du matériau et non les titres des comptes-rendus de codage qui devraient apparaître.
On a une question par rapport aux liens vers les passages. On se demandait si ça ne créait pas une ambiguïté dans votre travail de faire apparaître les extraits sans les titres des entretiens.
Aussi, est ce que l'indication dans les parenthèses à la suite du nom de l'acteur concerne la situation de l'acteur?
Voici la nouvelle version de la maquette :
Pour le menu des lignes, on a opté pour les 3 petits points (est ce que c'est plus parlant?) A quoi ressemble le titre d'une table de propriétés?
Voici quelques petites améliorations que je propose
- Suppression du bouton "ok", validation automatique.
- Suppression dans le menu des options (Editer le nom de l'acteur, Editer la situation de l'acteur), la cellule est éditable au clic, si de plus l'utilisateur veut ajouter une situation il la spécifie entre parenthèses.
- Ajout d'un menu lié aux colonnes.
La maquette :
Merci pour ces améliorations. La maquette s'achemine vers quelque chose de plus simple à manipuler.
- Ne serait-il pas plus simple d'ajouter les lignes et les colonnes via un "+" en bas ou à droite et de laisser l'utilisateur les déplacer à sa guise via cette "prise" |||. Cela réduirait le nombre de menu contextuel et ajouterait des possibilités de ré-agencement à l'envi.
- Je préconise de remplacer «Utilisateur (situation) » par « Situation » et « référence » par « extrait ».
- Comme nous en avions déjà parlé, le bouton « Enregistrer » doit être un bouton simple (qui n'ouvre pas de menu contextuel).
- Par ailleurs, il me semble que la présente maquette gagnerait intégrer les améliorations apportées dans le ticket #56.
May be an existing JavaScript library could help to edit and render tables, as it has been done for editing and rendering memos (with SimpleMDE and Showdown) and rendering graphs (thanks to vis.js). Do some of you have knowledge or experience about such libraries ?
After a quick search on Google, SlickGrid is one of the few featuring row and column reordering (demo). I am not sure how hypertext links can be handled though.
@christophe-lejeune I have never used such libraries. But I'm working on a technology that allows to make lightweight UI components and makes it easy to plug onto a website (think of jQuery). Here is an example of a usable component https://wooble.io/creations/Rdr7QjMK
I can create a table as you need (which is a simple thing in my opinion and it doesn't require to be a huge lib), and you'd be able to put it in your website with ease. On the plus side, since I'd create the table lib for you, we will be able to make something that fits your needs.
Let me know if this solution looks good for you, do not hesitate to be more precise about how you see the perfect table lib regarding Cassandre (what it can do, how it does it... etc)
Thank you for your suggestion @benel and for your offer @Slaals ...
I apology not to have answered earlier. December had been quite busy.
Comparing the different options will permit me to evaluate the opportunity to use a library, a plugin or to develop specific code for Cassandre. As Jonathan underlines it, the required code should be concise, which make the last option feasible.
I will post here the results of my tests and comparisons, in order to keep you informed about my investigations and intents.
With my qualitative wishes for 2018 !
As you have seen, I have finally written a small piece of code on my own.
These lines are not beautiful (neither easy to maintain) but they do exactly what is intended (and avoid integration issues).
Of course, this is a rather simple implementation, at this stage yet. And, indeed, one of my testers already reported that moving columns and rows would be appreciated. I can however live with it.
Again many thanks to @benel and @Slaals for your help, counsel and offer.
As this issue is done
, shouldn't it be closed?