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

Search for items from a range of attribute values #573

Open
6 tasks
matthieudufon opened this issue Apr 7, 2022 · 6 comments
Open
6 tasks

Search for items from a range of attribute values #573

matthieudufon opened this issue Apr 7, 2022 · 6 comments

Comments

@matthieudufon
Copy link
Contributor

Description

The user should be able to choose precisely the values of the selected attributes. They should be able to make a research on a range of value of a numeric attribute.

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

The valuable outcome is that the user can search data by range of values instead of using the AND feature many times

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

It is important for people who need to compare groups of 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
@FloFAR
Copy link
Contributor

FloFAR commented Apr 7, 2022

Maquette :

Maquette Jauge

@MaximeMZ MaximeMZ self-assigned this May 12, 2022
@ThibH2O ThibH2O self-assigned this May 12, 2022
@MaximeMZ
Copy link
Contributor

MaximeMZ commented May 12, 2022

Maquette V2 :

(ajout d'un double curseur pour selection de la fourchette des dates)

maquette fit 2

@ThibH2O
Copy link
Contributor

ThibH2O commented May 12, 2022

Scenario (Gherkin)

#language: fr

Fonctionnalité: Rechercher des éléments à partir d'une plage de valeurs d'attribut

Scénario: numérique

Soit "graines d'artistes" le portfolio ouvert
Et "1994_6-9_11_ROM_R_C" un des items affichés
Et "1999_18-25_05_TUN_R_A" un des items affichés
Et "2001_3-5_07_MKD_R_A" un des items affichés
Et "2009_14-17_08_COL_R_C" un des items affichés
Quand l'utilisateur sélectionne un intervalle entre "1999" et "2003"
Alors l'item "1999_18-25_05_TUN_R_A" est affiché
Et "2001_3-5_07_MKD_R_A" est affiché
Mais l'item "1994_6-9_11_ROM_R_C" est caché
Et l'item "2009_14-17_08_COL_R_C" est caché

@MaximeMZ
Copy link
Contributor

Stratégie d'implémentation :

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.

A voir avec l’autre équipe de développement qui s’occupe du ticket #572

Y aura-t-il des difficultés d'un point de vue algorithmique ? Avez-vous des pistes pour les résoudre ?

Comment savoir s'il faut indiquer un slider ou un menu déroulant (numérique ou string) ?
=> fichier de configuration indiquant les attributs qui seront présents dans la recherche avancée avec le type de sélection.

Les données dont vous avez besoin sont-elles déjà chargées par la page ?

Tous les attributs de chaque item présent dans le corpus sélectionné (chargées avec les items)

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 attribut sera représenté par un liste de toutes les valeurs (unique) :
[{attribut1: [valeur11, valeur12, valeur13]},
{attribut2: [[valeur21, valeur22, valeur23]},
….]
Il faudra récupérer les attributs indiqués dans le fichier de configuration (identifiés grâce à leurs noms)

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 ?

Ø

Existe-t-il des bibliothèques qui pourraient simplifier l'implémentation ? Quelles sont celles que vous choisirez et pourquoi ?

Des Sliders React sont déjà implémentés et disponibles avec npm
Des modèles de Sliders sont aussi disponibles ici : https://mui.com/material-ui/react-slider/
Exemple :
slider

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 ?

Ø

Type URI :

Pour une sélection entre 2015 et 2018 :
https://dessins.porphyry.org/?t={"type":"intersection","data":[{"type":"intersection","selection":"année:2015","année:2016","année:2017","année:2018"],"exclusion":[]}]}

@ThibH2O
Copy link
Contributor

ThibH2O commented May 19, 2022

Scenario avec le portfolio "vitraux" (Gherkin)

#language: fr

Fonctionnalité: Rechercher des items à partir d'une plage de valeurs d'un attribut

Scénario: numérique

    Soit "vitraux" le portfolio ouvert
    Et la configuration de l'attribut "created" paramétrée sur "range"
    Et "SNZ 009" un des items affichés
    Et "SR 005" un des items affichés
    Et "SJ 000" un des items affichés
    Et "AXN 009" un des items affichés
    Quand l'utilisateur sélectionne un intervalle entre "2015" et "2016" pour l'attribut "created"
    Alors l'item "SR 005" est affiché
    Et l'item "SJ 000" est affiché
    Mais l'item "SNZ 009" est caché
    Et l'item "AXN 009" est caché

ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue May 19, 2022
…rtopic#573 ).

Co-Authored-By: Flo <71226513+FloFAR@users.noreply.github.com>
ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue May 19, 2022
…rtopic#573 ).

Co-Authored-By: Florentin Farcy <florentin.farcy@utt.fr>
ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue May 19, 2022
…ic#573 ).

Co-Authored-By: Florentin Farcy <florentin.farcy@utt.fr>
ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue Jun 9, 2022
…rtopic#573 ).

Co-Authored-By: Florentin Farcy <florentin.farcy@utt.fr>
ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue Jun 9, 2022
…ic#573 ).

Co-Authored-By: Florentin Farcy <florentin.farcy@utt.fr>
ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue Jun 9, 2022
…rtopic#573).

Co-Authored-By: Florentin Farcy <florentin.farcy@utt.fr>
ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue Jun 9, 2022
…ic#573).

Co-Authored-By: Florentin Farcy <florentin.farcy@utt.fr>
ThibH2O added a commit to ThibH2O/Porphyry that referenced this issue Jun 16, 2022
…ic#573).

Co-Authored-By: Florentin Farcy <florentin.farcy@utt.fr>
@ThibH2O
Copy link
Contributor

ThibH2O commented Jun 22, 2022

Preuve de concept de la feature 573 :
Lien de la vidéo

FloFAR added a commit to ThibH2O/Porphyry that referenced this issue Jun 23, 2022
…topic#573 ).

Co-Authored-By: Thibault P. <75016706+Thi-beau@users.noreply.github.com>
Co-Authored-By: MaximeMZ <100345846+MaximeMZ@users.noreply.github.com>
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

5 participants