Projet

Général

Profil

Development #23534

Configuration multi-moteurs de la cellule de recherche

Ajouté par Frédéric Péters il y a presque 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
02 mai 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Étendre le paramétrage de la cellule pour lui permettre de chercher dans plusieurs moteurs à la fois; l'idée derrière est côté agent accueil de pouvoir ainsi chercher en même temps dans les usagers, dans les numéros de facture, dans les demandes, etc.

Dans point de vue UI ne pas chercher à mélanger les résultats, comme une recherche dans gnome-shell regrouper par moteur et si trop de résultats proposer un lien pour les afficher tous.

Sans doute plutôt travailler en front pour paralléliser facilement les requêtes et permettre par la suite des évolutions pour facilement (dé)cocher un moteur, pour filtrer les résultats.


Fichiers


Demandes liées

Lié à Publik - Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueilFermé29 octobre 201730 juin 2018

Actions
Lié à Combo - Development #25620: permettre à une application de déclarer ses propres moteurs de rechercheFermé09 août 2018

Actions

Révisions associées

Révision 44a54622 (diff)
Ajouté par Thomas Noël il y a plus de 5 ans

search: handle several search engines (#23534)

Révision 9c694209 (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

search: add custom widget to sort and enable engines (#23534)

Historique

#1

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Lié à Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil ajouté
#2

Mis à jour par Frédéric Péters il y a plus de 5 ans

Côté modèle et /manage/,

1, le stockage, je passerais juste par un nouvel attribut, jsonfield, et une migration l'initialiserait avec {"engines": [celui qui était là]}.

2, l'ui, ignorons le choix d'un ordre, et ça me semble juste pouvoir passer avec forms.widgets.CheckboxSelectMultiple pour produire une série de cases à cocher.

#3

Mis à jour par Thomas Noël il y a plus de 5 ans

Voici une première version, à relire déjà pour détecter les éventuelles bétises.

Ce qu'il y manque pour en faire une version validable à mon avis:
  • une UI de gestion du search_services en backoffice, qui permettrait de faire une selection multiple et ordonnée... je ne sais pas trop sur quel widget partir
  • peut-être ajouter la possibilité de faire une rendu de search-cell-results.html selon le moteur utilisé
  • et qlq tests avec une cellule qui afficherait plus d'un moteur (mais déjà les tests actuels, légèrement mis à jour, sont ok)

Sinon je pense que le HTML généré est bon, ie ne casse pas les styles en place ; mais j'ai pas testé.

#4

Mis à jour par Frédéric Péters il y a plus de 5 ans

Je viens de commencer à regarder, j'ai poussé dans wip/23534-multi-search une version rebasée (nécessaire pour les tests, passés à webtest depuis, (s/client/app/, en gros)).

#5

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Lié à Development #25620: permettre à une application de déclarer ses propres moteurs de recherche ajouté
#6

Mis à jour par Frédéric Péters il y a plus de 5 ans

J'ai continué, ça s'est mêlé au reste, j'ai tapé une branche wip/guichet avec un peu de tout, mais en rapport direct avec ce ticket :

  • d9405a4 search: handle several search engines (#23534)

(patch d'origine)

  • 9fde705 search: add custom widget to sort and enable engines (#23534)

UI de configuration.

  • 3ab7114 search: remove technical help text (#23534)

Plus trop de sens d'écrire "liste json"

  • d194eeb search: don't include engine label if there's a single one (#23534)

Détail.

Concernant l'UI, ça partage pas mal avec combo/apps/wcs/forms.py (genre tout le js) mais ça pourrait partager toute la partie python aussi en modifiant le stockage de la liste des moteurs sélectionnés, la passer d'une liste à un dictionnaire avec une clé data avec dedans la liste.

#7

Mis à jour par Thomas Noël il y a plus de 5 ans

Je reprends sur wip/guichet-toto avec le format {'data': []} et en intégrant directement dans le patch initial tes améliorations (remove technical help text, don't include engine label if there's a single one)

Travail en cours, pas vraiment à relire encore, il reste SearchCell.objects.filter(_search_services__contains='_text').count() par exemple. Ensuite je pose l'UI qui sera donc partagée avec combo/apps/wcs/forms.py

#8

Mis à jour par Thomas Noël il y a plus de 5 ans

Voilà, c'est poussé sur wip/guichet-toto, c'est-à-dire la partie :

* 4192c88 search: add custom widget to sort and enable engines (#23534)
* dcbcc79 search: add a singleton so apps can register their search engines (#25620)
* 9f85b90 search: handle several search engines (#23534)

Le reste est juste la reprise de wip/guichet

#9

Mis à jour par Thomas Noël il y a plus de 5 ans

Les patches.

J'ai donc mutualisé le MultiSortWidget dans combo/utils/forms.py

(Peut-être que ça pourrait être dans combo/manager/forms.py vu que le javascript y est ?)

#10

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Solution proposée à Solution validée

Ça me va dans combo/utils/forms.py mais si tu veux le déplacer dans combo/manager/forms.py, ça me va aussi.

#11

Mis à jour par Thomas Noël il y a plus de 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 9c69420972424f27e4b85a5d4c4f3f3a26778f99 (HEAD -> master, origin/master, origin/HEAD)
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sat Aug 11 10:35:49 2018 +0200

    search: add custom widget to sort and enable engines (#23534)

commit 44a54622f4581d1bc09de8f1a7e59a3507833472
Author: Thomas NOEL <tnoel@entrouvert.com>
Date:   Fri Jul 20 15:42:39 2018 +0200

    search: handle several search engines (#23534)

#12

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF