Skip to content

GeoNetwork UI and microservices codesprint January 2021

Florent Gravin edited this page Mar 1, 2021 · 30 revisions

When & Where?

  • 25 to 29 January
  • The sprint will be remote

Who?

  • Florent
  • Michel
  • Francois
  • Jose

Sponsors

  • EEA
  • Ifremer

Agenda

Main goals for this sprint:

  1. Have web components working for the 2 use cases - simple list and simple search with facet (https://geonetwork.github.io/geonetwork-ui/master/demo/eea/)
  2. Deploy OGC API record service in standalone mode with JSON/XML and RSS output format

(ordered by priority)

  • Facet / Add more terms if all facets are not displayed https://github.com/geonetwork/geonetwork-ui/pull/49

  • Paging / Infinite scroll https://github.com/geonetwork/geonetwork-ui/pull/92

  • Search / Multiple search in the same page https://github.com/geonetwork/geonetwork-ui/pull/93

  • Search / Multiple search in the same page / Demo web component page with 2 search result list component (eg. one about forest, one about marine)

  • Fix Internationalisation in WC

  • WC / Search results list / Filter / Check that lucene expression can be use and add an additional full text search attribute

  • Paging / Simple paging?

  • Search / Reset all search criteria actions

  • Doc / Add how to connect to GN4? eg. test with EEA node (URL is different and base path may also be). We may want to connect to a portal so srv is not hardcoded eg. https://sdi.eea.europa.eu/catalogue/fise

  • Facet / Filter and histogram / Click on facet add the filter (currently only displayed is done)

  • Facet / Custom layout support eg. icon layout, big number layout, ... Check how checkbox layout can be replaced/extended to an icon layout (eg. https://inspire-geoportal.ec.europa.eu/overview.html?view=pdEuOverview&legislation=all with flags) - Combined with the initial metric component ? Check that 2 facets components can interact in the same page eg. default on left side and one facet as icon somewhere else in the page.

  • Facet / Click on a facet should preserve initial values for this facet so we can select another value eg. test on update frequency. Maybe we should be able to define on a per facet basis if we want to do an OR or AND on a facet (some site provides match all/match any option).

  • Refactor ES types

  • Facet / Tree support

Micro services

  • RSS & DCAT output format
  • Index model - from standards to Index Model, from search to Index model to "simple" output RSS/JSONLD/DCAT/...

Discussions

Translations

Current situation:

Goals:

  • Limit number (and time) to init translations
  • Avoid keys to be displayed on loading or when not available (fallback language?)
  • UI can be customized (eg. aggregations) - some labels must be loaded dynamically

Questions? How to improve?

To be added in GeoNetwork 4 / API for translations packaging

  • packing up all translations in one file
  • Caching
  • Fallback languages
  • Report missing translations.
  • Load subset of translations
  • 2 technologies
  • One build per language (faster)
  • Loading translation on bootstrap

GN4 indexing

Add extra information in index model to better build dcat/jsonld format:

  • version (= resourceVersion) / edition
  • resourceCharacterSet + characterSet / gmd:characterSet: no distinction between the element in the metadata and identificationInfo sections
  • license (= license (multilingual field)) / gmd:identificationInfo/*/gmd:resourceConstraints/gmd:MD_LegalConstraints/gmd:otherConstraints with link
license: [{
  default: '',
  langeng: '',
  link: ''
}]
  • resourceIdentifier / gmd:identificationInfo[1]//gmd:citation//gmd:identifier/*:

gmd:codeSpace is not indexed for each identifier, we need to store gmd:code, gmd:codeSpace for each gmd:identifier Was String[] / Update to Identifier[] (new type?)

resourceIdentifier: [{
  code: '',
  codeSpace: '',
  label: {multilingual field},
  link: ''
}]
  • gmd:dataQualityInfo//gmd:report//gmd:result/*/gmd:specification/gmd:CI_Citation: title and dates missing, seem only indexed gmd:pass

new type ?

  • standardName / gmd:metadataStandardName/gmx:Anchor/@xlink:href: not managed in the index gmx:Anchor/@xlink:href (happens with some other elements that dcat format uses, although not very used for these kind of elements)

Change gn-fn-index:add-field to gn-fn-index:add-multilingual-field to have the link attribute if Anchor.

  • standardVersion / gmd:metadataStandardVersion/gco:CharacterString: not indexed

  • gmd:function/gmd:CI_OnLineFunctionCode/@codeListValue Not indexed

  • gmd:identificationInfo[1]//gmd:resourceConstraints/: no distinction about gmd:MD_LegalConstraints in the index.No relation in the index between the elements in the same gmd:resourceConstraints section

  • gmd:EX_GeographicDescription/gmd:geographicIdentifier/*: Seems used the information for keyword indexing, but not specific index of this element

  • (optional) gmd:EX_GeographicBoundingBox: maybe to index BBOX fields, currently a location polygon, not easy to parse

Pojo to XML mapping was not working yet. Maybe something to handle manually https://github.com/geonetwork/geonetwork-microservices/blob/ogcapir-outputs/modules/library/common-index-model/src/main/java/org/fao/geonet/index/model/gn/IndexRecord.java#L153-L164 ?

  • (optional) gmd:distance: value and units indexed as string, not optimal for parsing
  • gmd:identificationInfo[1]/*/srv:operatesOn: not very clear that @xlink:href is indexed in all cases (local/remote)
  • gmd:identificationInfo[1]//[self::gmd:extent|self::srv:extent]/*/gmd:geographicElement
  • gmd:protocol/gmx:Anchor/@xlink:href: not managed in the index
  • gmd:individualName/*/@xlink:href: not managed in the index
  • gmd:organisationName/*/@xlink:href: not managed in the index

Summary

Clone this wiki locally