SPW-DIG / metawal-core-geonetwork

Metawal - Catalogue pour l'information géographique de Wallonie
http://metawal.wallonie.be
GNU General Public License v2.0
3 stars 1 forks source link

Webcomposant tableau intranet #773

Closed vbombaerts closed 1 year ago

vbombaerts commented 1 year ago

Nouvelles demandes

<link href="https://metawal.wallonie.be/geonetwork/catalog/lib/icho/styles.css" rel="stylesheet" />
<link href="https://metawal.wallonie.be/geonetwork/catalog/lib/icho/main.css" rel="stylesheet" />

<!--
<link href="https://apps.titellus.net/hub/webcomponents/styles.ef53c8a098d2c6ec.css" rel="stylesheet" />
<link href="https://apps.titellus.net/hub/webcomponents/main.5210541a9d9540bc.css" rel="stylesheet" />
-->

<div style="margin: 2.5em">
<p>     </p>
<catalogue-results-table 
catalogueurl="https://metawal.wallonie.be/geonetwork/intranet" 
fields='
    {"columnName":"Nom de la donnée","columnIndex":"resourceTitleObject","columnJsonPath":"$.langfre","columnWidth":"2"} |
    {"columnName":"Nom de la donnée","columnIndex":"overview","columnJsonPath":"$[0].url","columnWidth":"2"} |
    {"columnName":"Identifiant","columnIndex":"mw-gp-localIdentifier","columnJsonPath":"","columnWidth":"2"} |
    {"columnName":"Type","columnIndex":"resourceType","columnJsonPath":"$[0]","columnIcon":{"series":"copy outline","dataset":"file outline"},"columnLabel":{"series":"blue","dataset":"teal"},"columnFormatter":"withouttext","columnWidth":"1"} |
    {"columnName":"BD","columnIndex":"mw-gp-localIdentifierCodespace","columnJsonPath":"","columnValue":{"BE.SPW.INFRASIG.GINET":"G","BE.SPW.INFRASIG.CARTON":"I","BE.SPW.INFRASIG.ENTREPOT":"E"},"columnLabel":{"BE.SPW.INFRASIG.GINET":"yellow","BE.SPW.INFRASIG.CARTON":"pink","BE.SPW.INFRASIG.ENTREPOT":"green"},"columnWidth":"1"} |
    {"columnName":"Statut","columnIndex":"cl_status","columnJsonPath":"$[0].key","columnIcon":{"onGoing":"sync alternate","completed":"check","obsolete":"ban","planned":"calendar alternate outline","superseded":"ban"}, "columnIconColor":{"onGoing":"violet","completed":"green","obsolete":"red","planned":"orange","superseded":"red"},"columnFormatter":"withouttext","columnWidth":"1"}  |
    {"columnName":"Modèle et légende","columnIndex":"link","columnJsonPath":"$[?(@.function==\"featureCatalogue\")].url","columnIcon":"th","columnWidth":"2"} |
    {"columnName":"Modèle et légende","columnIndex":"link","columnJsonPath":"$[?(@.function==\"legend\")].url","columnIcon":"paint brush","columnWidth":"2"} |
    {"columnName":"Consulter (applications et services)","columnIndex":"mw-gp-thematicMap","columnJsonPath":"$[*].url","columnIcon":"map","columnWidth":"3"} |
    {"columnName":"Consulter (applications et services)","columnIndex":"mw-gp-allWebServices","columnJsonPath":"$[*].url","columnIcon":"world","columnWidth":"3"}|
    {"columnName":"Crédits","columnIndex":"resourceCreditObject","columnJsonPath":"$[0].langfre","columnWidth":"2"}|
    {"columnName":"Note","columnIndex":"supplementalInformationObject","columnJsonPath":"$[0].langfre","columnWidth":"2"}
    ' 
filter="+(resourceType:dataset or resourceType:series)" 
filterfield="th_Themes_geoportail_wallon_hierarchy.default" 
size="25" 
sortby="mw-gp-localIdentifier" 
sorttype="asc" 
togglefilterfield="mw-gp-localIdentifierCodespace" 
toggleismultiselect="true" 
togglelabel='{"label": "BDREF SIG ARNE", "value": "BE.SPW.INFRASIG.GINET"} | {"label": "BD_INFRASIG", "value": "BE.SPW.INFRASIG.CARTON"} | {"label": "ENTREPOT", "value": "BE.SPW.INFRASIG.ENTREPOT"}'
>
</catalogue-results-table>
</div>

<script src="https://metawal.wallonie.be/geonetwork/catalog/lib/icho/runtime.esm.js"  type="module">
</script><script src="https://metawal.wallonie.be/geonetwork/catalog/lib/icho/polyfills.esm.js" type="module">
</script><script src="https://metawal.wallonie.be/geonetwork/catalog/lib/icho/main.esm.js" type="module"></script>

<!--
<script src="https://apps.titellus.net/hub/webcomponents/runtime.04986a7c605c2376.esm.js"  type="module">
</script><script src="https://apps.titellus.net/hub/webcomponents/polyfills.7e0034cfe0406d00.esm.js" type="module">
</script><script src="https://apps.titellus.net/hub/webcomponents/main.6e14e87b6116d173.esm.js" type="module"></script>
-->
<!--
    {"columnName":"Modèle et légende","columnIndex":"related","columnJsonPath":"$.onlines[?(@.function==\"featureCatalogue\")].url.fre","columnIcon":"th","columnFormatter":"withouttext","columnWidth":"1"} |
    {"columnName":"Modèle et légende","columnIndex":"related","columnJsonPath":"$.onlines[?(@.function==\"legend\")].url.fre","columnIcon":"paint brush","columnFormatter":"withouttext","columnWidth":"1"} |
    {"columnName":"Consulter (applications et services)","columnIndex":"mw-gp-thematicMap","columnJsonPath":"$[*].url","columnIcon":"map","columnFormatter":"withouttext","columnWidth":"1"} |
    {"columnName":"Consulter (applications et services)","columnIndex":"mw-gp-allWebServices","columnJsonPath":"$[*].url","columnIcon":"world","columnFormatter":"withouttext","columnWidth":"1"}|

    filter="+(resourceType:dataset or resourceType:series) -(th_infraSIG.default:Reporting INSPIRE) +(custodianOrgForResource:*SPW*)" 
-->
vbombaerts commented 1 year ago

Filtres : dans ce filtre, les deux dernières clauses ne fonctionnent pas. Comment les faire fonctionner ? filter="+(resourceType:dataset or resourceType:series) +(custodianOrgForResource_tree:*Mobilité et Infrastructures*) -(cl_status.key:obsolete or superseded)"

davinciagf commented 1 year ago
  1. On definit un set de couleurs pour les différents états (hover,...) mais sans permettre de configuration au niveau du wc (couleurs fixées ==> pas de modification possible)
  2. On definit un set de couleurs pour les différents états et on introduit la possibilité de les modifier via la config du wc (il faut introduire des variables dans les classes css du toggleButton (via innerClass) puis les mettre à jour selon la config utilisateur)

@vbombaerts, choix?

davinciagf commented 1 year ago

Pour le filte:

Proposition de filtre à tester : filter="+(resourceType:dataset or resourceType:series) +(custodianOrgForResource_tree:"SPW - Mobilité et Infrastructures") -(cl_status.key:obsolete or cl_status.key:superseded)"

vbombaerts commented 1 year ago

Proposition de filtre à tester : filter="+(resourceType:dataset or resourceType:series) +(custodianOrgForResource_tree:"SPW - Mobilité et Infrastructures") -(cl_status.key:obsolete or cl_status.key:superseded)"

Cannot parse '+(resourceType:dataset or resourceType:series) +(custodianOrgForResource_tree:': Encountered \"\"

davinciagf commented 1 year ago

filter='+(resourceType:dataset or resourceType:series) +(custodianOrgForResource_tree:"SPW - Mobilité et Infrastructures") -(cl_status.key:obsolete or cl_status.key:superseded)'

vbombaerts commented 1 year ago

Nickel. Le principe c'est de passer en simple quote quand il y a des double quote à l'intérieur ? (comme avec fields et avec togglelable) Y a-t-il une règle à respecter ? Pourrait-on passer tous les paramètres "de premier niveau" en simple quote ? catalogueurl, fields, filter, filtrefield, size, etc...

davinciagf commented 1 year ago

Couleur des boutons du togglelabel Ajout du paramètre de couleur pour le togglebitton au niveau du html (non requis)

toggleButtonStyle='{"bg": "rgb(180 83 9)", "bg_active": "white","text_color":"C48B5FFF","text_color_active":"green"}'

Si ce dernier et les éléments le composant ne sont pas définit, les couleurs suivantes sont actives: image

davinciagf commented 1 year ago

Popup Afin d'afficher un popup au niveau des icones et label, il faut introduire le paramètre popup et associé la valeur true au niveau du paramètre "field" du tableau. Sans cet élément et cette valeur, aucun affichage.

"columnPopup":"true"

Example:

 <catalogue-results-table
    catalogueurl="https://metawal.wallonie.be/geonetwork/intranet"
    fields='
    {"columnName":"Nom de la donnée","columnIndex":"resourceTitleObject","columnJsonPath":"$.langfre","columnWidth":"2"} |
    {"columnName":"Nom de la donnée","columnIndex":"overview","columnJsonPath":"$[0].url","columnWidth":"2"} |
    {"columnName":"Identifiant","columnIndex":"mw-gp-localIdentifier","columnJsonPath":"","columnWidth":"2"} |
    {"columnName":"Type","columnIndex":"resourceType","columnJsonPath":"$[0]","columnIcon":{"series":"copy outline","dataset":"file outline"},"columnLabel":{"series":"blue","dataset":"teal"},"columnFormatter":"withouttext","columnWidth":"1"} |
    {"columnName":"BD","columnIndex":"mw-gp-localIdentifierCodespace","columnJsonPath":"","columnPopup":"true","columnValue":{"BE.SPW.INFRASIG.GINET":"G","BE.SPW.INFRASIG.CARTON":"I","BE.SPW.INFRASIG.ENTREPOT":"E"},"columnLabel":{"BE.SPW.INFRASIG.GINET":"yellow","BE.SPW.INFRASIG.CARTON":"pink","BE.SPW.INFRASIG.ENTREPOT":"green"},"columnWidth":"1"} |
    {"columnName":"Statut","columnIndex":"cl_status","columnJsonPath":"$[0].key","columnPopup":"true","columnIcon":{"onGoing":"sync alternate","completed":"check","obsolete":"ban","planned":"calendar alternate outline","superseded":"ban"}, "columnIconColor":{"onGoing":"violet","completed":"green","obsolete":"red","planned":"orange","superseded":"red"},"columnFormatter":"withouttext","columnWidth":"1"}  |
    {"columnName":"Modèle et légende","columnIndex":"link","columnJsonPath":"$[?(@.function==\"featureCatalogue\")].url","columnIcon":"th","columnWidth":"2"} |
    {"columnName":"Modèle et légende","columnIndex":"link","columnJsonPath":"$[?(@.function==\"legend\")].url","columnIcon":"paint brush","columnWidth":"2"} |
    {"columnName":"Consulter (applications et services)","columnIndex":"mw-gp-thematicMap","columnJsonPath":"$[*].url","columnIcon":"map","columnWidth":"3"} |
    {"columnName":"Consulter (applications et services)","columnIndex":"mw-gp-allWebServices","columnJsonPath":"$[*].url","columnIcon":"world","columnWidth":"3"}|
    {"columnName":"Crédits","columnIndex":"resourceCreditObject","columnJsonPath":"$[0].langfre","columnWidth":"2"}|
    {"columnName":"Note","columnIndex":"supplementalInformationObject","columnJsonPath":"$[0].langfre","columnWidth":"2"}
    '
    filter='+(resourceType:dataset or resourceType:series) +(custodianOrgForResource_tree:"SPW - Mobilité et Infrastructures") -(cl_status.key:obsolete or cl_status.key:superseded)'
    filterfield="th_Themes_geoportail_wallon_hierarchy.default"
    size="25"
    sortby="mw-gp-localIdentifier"
    sorttype="asc"
    togglefilterfield="mw-gp-localIdentifierCodespace"
    toggleismultiselect="true"
    togglelabel='{"label": "BDREF SIG ARNE", "value": "BE.SPW.INFRASIG.GINET"} | {"label": "BD_INFRASIG", "value": "BE.SPW.INFRASIG.CARTON"} | {"label": "ENTREPOT", "value": "BE.SPW.INFRASIG.ENTREPOT"}'
  >
vbombaerts commented 1 year ago

J'ai détecté encore deux erreurs au niveau de ce Webcoponent

  1. Le lien vers la fiche Metawal n'aboutit pas - https://metawal.wallonie.be/geonetwork/intranet/api/records/da6558c3-507b-47b3-9cd3-2db71d7f3136
  2. Une recherche qui termine par un caractère spécial entraine une erreur - https://imgur.com/a/lUs7x0p
davinciagf commented 1 year ago

Pour le point 1: Supprimer le fichier : web/src/main/webapp/WEB-INF/data/data/resources/htmlcache/formatter-cache/info-store.mv.db et relancer le tomcat. ==> @davinciagf fait la demande

davinciagf commented 1 year ago

Pour le pint 2: C'est un caractère réservé

davinciagf commented 1 year ago

La suppression du fichier est affective et la donnée est dispo via le lien en production : https://metawal.wallonie.be/geonetwork/intranet/api/records/da6558c3-507b-47b3-9cd3-2db71d7f3136

image

davinciagf commented 1 year ago

Possibilité de contourner le caractère réservé, modification à introduire au niveau de : https://github.com/titellus/icho/blob/bdcec7eabe3fd6ca7b1a35d45c913453c8752bbe/libs/ui/search/src/lib/search-result-table-wrapper/search-result-table-wrapper.tsx#L155-L163

Exemple : image

vbombaerts commented 1 year ago

Au niveau de la recherche full text, il faudrait un ET entre les termes plutôt qu'un OU Par exemple "Sites à réaménager" renvoie ce qui contient "sites", "à" et "réaménager". Sur Metawal ça fait une combinaison des 3 termes. Par ailleurs, il n'est pas possible d'encadrer la recherche avec des guillemets pour faire une recherche correspondance exacte

marceaulouis commented 1 year ago

Que ce soit la version en ligne (sur l'intranet) ou en test, impossible d'afficher la page "9" et une recherche sur "ortho" donne le même résultat : page blanche et aucune réponse

Sans doute car la fiche https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/e1f2cd14-c623-4935-a9ff-13850d2028a3 a plusieurs identifiants ?

A confirmer et corriger la fiche

marceaulouis commented 1 year ago

Je confirme, deux mêmes codeSpace dans la fiche, fiche de test corrigée et le webcomponent fonctionne correctement

vbombaerts commented 1 year ago

Sans doute car la fiche https://metawal.wallonie.be/geonetwork/srv/fre/catalog.search#/metadata/e1f2cd14-c623-4935-a9ff-13850d2028a3 a plusieurs identifiants ?

C'est une série. Elle n'a pas d'identifiant propre ?

marceaulouis commented 1 year ago

C'est une série. Elle n'a pas d'identifiant propre ?

non, ça fait partie de ces fiches qui n'ont pas d'existence en BD

davinciagf commented 1 year ago

La section de recherche full text a été mise à jour avec notamment l'utilisation de "ET" et non "OR" entre les termes.

image

vbombaerts commented 1 year ago

super !