Closed vbombaerts closed 2 years ago
Exemple https://apps.titellus.net/hub/catalogue-table/ cf. onglet service
A améliorer:
Au niveau de la fonction toggle, ce serait bien d'avoir des possibilités plus étendues pour définir les différentes valeurs. Pour le moment on a juste la possibilité de déclarer 1 label = 1 valeur.
Dans certains cas, on pourrait avoir besoin de
@vbombaerts Au niveau du contenu pour les fiches de service :
Testé en local sur le webcomponent mapstore. Example de config :
<catalogue-results-card
filter=""
size="25"
fields='{"image": "overview", "imageJsonPath":"$[0].url", "title": "resourceTitleObject", "titleJsonPath":"$.default", "subTitle": "custodianOrgForResource", "subTitleJsonPath":"", "text": "resourceHookAbstractObject", "textJsonPath":"$.default","link": "mw-gp-thematicMap", "linkJsonPath":"$[0].url","info": "revisionDateForResource","infoJsonPath":"$[0]"}'
catalogueurl="https://metawal4.test.wallonie.be/geonetwork/srv"
sorttype="asc"
sortby="custodianOrgForResource"
></catalogue-results-card>
Il est possible d'utiliser une customQuery afin de regrouper certains éléments via la fonctionnalité du toggle button. Il suffit de mettre les éléments via une syntaxe lucene:
togglelabel='{"label": "Air", "value": "Air AND Eau"} | {"label": "Eau", "value": "Eau"} | {"label": "Agriculture", "value": "Agriculture"}'
Attention, ce dévelopment n'est pas encore dispo car il y a un bug au niveau de reactiveSearch qui empêche d'utiliser la customQuery dans l'outil ToggleButton. Une solution a été soumise pour correction : https://github.com/appbaseio/reactivesearch/issues/1888
Ce point n'est donc pas encore dispo.
@vbombaerts - Nouvelle config pour ce tableau:
<catalogue-results-table
fields='{"columnName":"Nom du service","columnIndex":"resourceTitleObject","columnJsonPath":"$.default"} |
{"columnName":"Type de service","columnIndex":"serviceType","columnJsonPath":""} |
{"columnName":"Protocole","columnIndex":"linkProtocol","columnJsonPath":""} |
{"columnName":"Point d accès","columnIndex":"linkUrl","columnJsonPath":""} |
{"columnName":"Gestionnaire","columnIndex":"custodianOrgForResource","columnJsonPath":""}'
filterfield="linkProtocol"
togglefilterfield="serviceType"
toggleismultiselect="true"
togglelabel='{"label": "Consultation", "value": "view"} | {"label": "Download", "value": "download"}'
filter="+(resourceType:service) -(cl_status.key:obsolete)"
size="4"
catalogueurl="https://metawal4.test.wallonie.be/geonetwork/srv"
></catalogue-results-table>
Pour tester les JSONPath
{"preference":"tableOfRecord"}
{"query":{"bool":{"must":[{"bool":{"must":[{"bool":{"boost":1,"minimum_should_match":1,"should":[{"term":{"serviceType":"view"}}]}},{"query_string":{"query":"+(resourceType:service) -(cl_status.key:obsolete)"}}]}}]}},"size":4,"_source":{"includes":["resourceTitleObject","serviceType","linkProtocol","linkUrl","custodianOrgForResource"],"excludes":[]},"from":0,"sort":[{"_score":{"order":"asc"}}]}
responses..
@vbombaerts - Nouvelle config pour ce tableau:
<catalogue-results-table fields='{"columnName":"Nom du service","columnIndex":"resourceTitleObject","columnJsonPath":"$.default"} | {"columnName":"Type de service","columnIndex":"serviceType","columnJsonPath":""} | {"columnName":"Protocole","columnIndex":"linkProtocol","columnJsonPath":""} | {"columnName":"Point d accès","columnIndex":"linkUrl","columnJsonPath":""} | {"columnName":"Gestionnaire","columnIndex":"custodianOrgForResource","columnJsonPath":""}' filterfield="linkProtocol" togglefilterfield="serviceType" toggleismultiselect="true" togglelabel='{"label": "Consultation", "value": "view"} | {"label": "Download", "value": "download"}' filter="+(resourceType:service) -(cl_status.key:obsolete)" size="4" catalogueurl="https://metawal4.test.wallonie.be/geonetwork/srv" ></catalogue-results-table>
Pas réussi à avoir un tableau complet. Un problème dans la gestion des arrays ? Par ailleurs la config proposée n'inclut pas les deux champs suivants :
Tableau dispo à https://apps.titellus.net/hub/webcomponents/ (mais sans les données servies et la qualité du service)
Je regarde pour le mettre à jour avec les données servies et la qualité du service
Pas réussi à avoir un tableau complet. Un problème dans la gestion des arrays ?
Erreur de css. Mis à jour.
Pour les points suivants:
la qualité du service - related.onlines.item[function="dataQualityReport"]
Exemple :
{"columnName":"related","columnIndex":"related","columnJsonPath":"$.datasets[?(@.origin==\"portal\")].title.eng"}
Super ! Au niveau des listes à plusieurs entrées, est-il possible de séparer un peu plus les entrées? Par exemple la liste des données servies. Pour le moment c'est un peu confus. Est-il possible d'avoir des largeurs de colonnes mieux proportionnées par rapport à leur contenu ?
Correction des entrées de certains input avec séparation + largeur de colonne fixe
Icones non disponibles
Corrigé pour les appels vers les js et css de l'env de test.
Les informations contenues dans les fiches de services ne sont pas très nombreuses. Les plus importantes sont :
resourceTitleObject
serviceType
linkProtocol
linkUrl
related.datasets[origin=portal].title.fre
related.onlines.item[function="dataQualityReport"]
custodianOrgForResource
L'objectif est de créer un tableau dynamique des webservices qui reprend ces informations en une liste synthétique, avec
Le tableau est à destination des utilisateurs qui souhaitent intégrer un service dans leur application.
Une info intéressante qui pourrait prendre place dans le tableau est un résultat de monitoring de l'état du service (disponibilité globale et disponibilité instantanée).
Démonstrateur
https://geoportail.test.wallonie.be/home/produire-et-publier/mw---test-agf-web-component/test-webcomponents-vincent-1.html
Code