Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consult attributes whilst doing a search #572

Closed
6 tasks done
callistas opened this issue Apr 6, 2022 · 8 comments
Closed
6 tasks done

Consult attributes whilst doing a search #572

callistas opened this issue Apr 6, 2022 · 8 comments

Comments

@callistas
Copy link
Contributor

callistas commented Apr 6, 2022

Description

The attributes of the items should be accessible to the users. They should be able to make a research on the value of an attribute.

What is the valuable outcome that cannot be achieved with current features?

The valuable outcome is that the user can search data by attribute values and compare them with other data (other attribute values or topics)

For which stakeholder (people, role, project, domain) is it important?

It is important for people who need to compare data, in our case, researchers.

Which user action should be enabled (or restricted)? For who?

It should be accessible to all users, logged in or not.

Additional details (solutions you think about, or workarounds you tried)

Deliverables status

Phase 1

  • Scenarios (Gherkin)
  • Mockups
  • Implementation strategy

Phase 2

  • Acceptance tests (Capybara)
  • Implementation

Phase 3

  • Screencast
@callistas callistas changed the title Consult attributs whilse doing a research Consult attributs whilst doing a research Apr 6, 2022
@callistas callistas self-assigned this Apr 7, 2022
@matthieudufon matthieudufon self-assigned this Apr 7, 2022
@matthieudufon
Copy link
Contributor

maquette_select_1

@MaximeMZ
Copy link
Contributor

MaximeMZ commented Apr 7, 2022

maquette 2

@callistas
Copy link
Contributor Author

277911257_694280464952348_6634596402519065466_n

callistas pushed a commit to callistas/Porphyry that referenced this issue Apr 7, 2022
callistas pushed a commit to callistas/Porphyry that referenced this issue Apr 7, 2022
FloFAR added a commit to callistas/Porphyry that referenced this issue Apr 28, 2022
Co-authered by : Maxime MACREZ <[email protected]>
Co-authered by : Thibault Pavee <supertibodor1gmail.com>
@benel
Copy link
Member

benel commented Apr 28, 2022

Point d'avancement du 28/04

  • Tests de recette : changer l'action Capybara (pas une sélection de lien)
  • Stratégie d'implémentation : à finaliser (point de blocage à lever)

Autre : Reformuler le titre.

@matthieudufon
Copy link
Contributor

matthieudufon commented Apr 28, 2022

Co-authored-by: Callista Spiteri [email protected]

Quelle partie du code sera impactée (classes, méthodes) ? Utilisez les React DevTools (extensions de Chrome ou Firefox) pour faire le lien entre la structure de la page et celle du code.
Pour implémenter le code, il faut mettre en place 3 nouvelles choses :

  • l’affichage de la fonctionnalité dans porphyry -> il faudrait ajouter une nouvelle classe en ajoutant un fichier ressemblant à Viewpoint.jsx. L’affichage se fera au dessus des Points de vue
  • l’affichage des valeurs des attributs -> il faudrait chercher tous les attributs de chaque item montré et leurs valeurs
  • la recherche à partir des attributs -> il faut faire une recherche en fonction des attribut, une telle recherche est utilisée dans la “page” item. Ainsi il faudrait se baser dessus pour modifier et ajouter les informations dans la liste d’items.

Y aura-t-il des difficultés d'un point de vue algorithmique ? Avez-vous des pistes pour les résoudre ?
Puisque nous devons nous baser sur le code existant, il va falloir découdre le tout pour savoir comment modifier l’existant. Notamment la phase de sélection qui est déjà implémentée.
Nous pensions au début que la principale difficulté algorithmique serait le format de données retourné par la requête. En effet, il sera difficile d’avoir une réponse qui ressemble au schéma indiqué ci-dessous. Nous avons ensuite appris que des méthodes nous aideraient à effectuer ce traitement, cette partie sera détaillée ultérieurement.

Les données dont vous avez besoin sont-elles déjà chargées par la page ? Si oui, quelle est la structure des données et comment allez-vous récupérer précisément celles qui vous intéressent ?
Chaque item a déjà tous ses attributs chargés dans la page
Il faudrait regrouper les attributs et les valeurs dans la même liste pour la sélection. Le schéma de données pourrait être :
[{attribut1: [valeur11, valeur12, valeur13]},
{attribut2: [[valeur21, valeur22, valeur23]},
….]
Nous principal travail sera de mettre en forme ces données

Si non, quelle sera la requête la plus efficace et comment allez-vous récupérer dans la structure de données précisément celles qui vous intéressent ?
Contrairement à ce que nous pensions, il n’est pas nécessaire de préparer les requêtes comme nous l’avions fait lors du test d’entraînement “Chargez et affichez des données avec React”. Il s’agissait d’un point de blocage pour nous. Finalement, nous pouvons utiliser les méthodes de la classe Items située dans le fichier src/model.js. Ces méthodes retournent un tableau de clé et de valeurs des attributs d’un ensemble d’items, pour la méthode getAttributes(). Un tableau ne contenant que les clés des attributs pour getAttributeKeys(). Et un tableau ne contenant que les valeurs des attributs pour getAttributeValues(). Nous pourrons utiliser ces trois méthodes afin de construire un tableau d’objets tel que nous l’avons défini précédemment.

Existe-t-il des bibliothèques qui pourraient simplifier l'implémentation ? Quelles sont celles que vous choisirez et pourquoi ?
Etant donné que les méthode sont déjà mis en place, on utilisera les même bibliothèques que ce qu’on utilise actuellement, c’est à dire hypertopic

Doit-on intégrer des services extérieurs (ex : cartographie) ?
Ø

De quelles fonctionnalités en particulier aura-t-on besoin ?
Ø

Est-ce que le service choisi les propose ou doit-on passer chez un concurrent ?
Ø

Comment s'utilisent ces fonctionnalités ? avec quels paramètres ?
Ø

@callistas callistas changed the title Consult attributs whilst doing a research Consult attributes whilst doing a search May 12, 2022
FloFAR added a commit to callistas/Porphyry that referenced this issue May 12, 2022
Co-authored by: Maxime MACREZ <[email protected]>
Co-authored by: Thibault Pavee <supertibodor1gmail.com>
matthieudufon pushed a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
matthieudufon pushed a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
matthieudufon pushed a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
Co-authered by : Maxime MACREZ <[email protected]>
Co-authered by : Thibault Pavee <supertibodor1gmail.com>
matthieudufon pushed a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
Co-authored by: Maxime MACREZ <[email protected]>
Co-authored by: Thibault Pavee <supertibodor1gmail.com>
matthieudufon added a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
matthieudufon added a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
matthieudufon added a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
Co-authored-by: Maxime MACREZ <[email protected]>
Co-authored-by: Thibault Pavee <[email protected]>
Co-authored-by: Callista Spiteri <[email protected]>
Co-authored-by: Matthieu Dufon <[email protected]>
matthieudufon added a commit to callistas/Porphyry that referenced this issue Jun 2, 2022
@benel
Copy link
Member

benel commented Jun 6, 2022

Merged as c60eb1f. Well done 🎉

@benel
Copy link
Member

benel commented Jun 6, 2022

Don't forget to record a screencast of this feature on your application domain, and post it in this thread.

@callistas
Copy link
Contributor Author

2022-06-09.14-47-08_Trim.mp4

Screencast explaining the feature. Recorded by Matthieu Dufon and Callista Spiteri

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants