Development #23534
Configuration multi-moteurs de la cellule de recherche
0%
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.
Files
Related issues
Associated revisions
search: add custom widget to sort and enable engines (#23534)
History
Updated by Frédéric Péters almost 5 years ago
- Related to Development #19756: Personnalisation accrue du portail agent pour en faire aussi la page d'entrée des agents d'accueil added
Updated by Frédéric Péters over 4 years ago
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.
Updated by Thomas Noël over 4 years ago
- File 0001-search-handle-several-search-engines-23534.patch 0001-search-handle-several-search-engines-23534.patch added
- Status changed from Nouveau to En cours
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é.
Updated by Frédéric Péters over 4 years ago
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)).
Updated by Frédéric Péters over 4 years ago
- Related to Development #25620: permettre à une application de déclarer ses propres moteurs de recherche added
Updated by Frédéric Péters over 4 years ago
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.
Updated by Thomas Noël over 4 years ago
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
Updated by Thomas Noël over 4 years ago
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
Updated by Thomas Noël over 4 years ago
- File 0001-search-handle-several-search-engines-23534.patch 0001-search-handle-several-search-engines-23534.patch added
- File 0002-search-add-a-singleton-so-apps-can-register-their-se.patch 0002-search-add-a-singleton-so-apps-can-register-their-se.patch added
- File 0003-search-add-custom-widget-to-sort-and-enable-engines-.patch 0003-search-add-custom-widget-to-sort-and-enable-engines-.patch added
- Status changed from En cours to Solution proposée
- Patch proposed changed from No to Yes
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 ?)
Updated by Frédéric Péters over 4 years ago
- Status changed from Solution proposée to 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.
Updated by Thomas Noël over 4 years ago
- Status changed from Solution validée to 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)
Updated by Frédéric Péters about 4 years ago
- Status changed from Résolu (à déployer) to Solution déployée
search: handle several search engines (#23534)