-
-
Notifications
You must be signed in to change notification settings - Fork 489
GeoNetwork UI and microservices codesprint January 2021
- 25 to 29 January
- The sprint will be remote
- Florent
- Michel
- Francois
- Jose
- EEA
- Ifremer
Main goals for this sprint:
- 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/)
- Deploy OGC API record service in standalone mode with JSON/XML and RSS output format
GN-UI - JS app https://github.com/geonetwork/geonetwork-ui
(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
- OGC API Records https://github.com/geonetwork/geonetwork-microservices/pull/29
- RSS & DCAT output format
- Index model - from standards to Index Model, from search to Index model to "simple" output RSS/JSONLD/DCAT/...
- OGC API Records / Collection page should be described from discovery service metadata record
- Landing page / HTML layout - Define template https://apps.titellus.net/ogcapi/collections?f=html
- Landing page / Setup a cache mechanism on disk (to be a replacement of https://github.com/geonetwork/core-geonetwork/pull/4299)
Current situation:
-
GN4 / Translations
- static files in (4 calls) locales/core|edit|admin|v4.json
- DB translations (1 call for all) eg. groups, categories, operations
- Default standard codelists (3 API call for 3 codelists) eg. resourceTypes
- See https://github.com/geonetwork/core-geonetwork/blob/master/web-ui/src/main/resources/catalog/js/GnSearchModule.js#L53-L61
- Then for each standards, additional translations
- See https://github.com/geonetwork/core-geonetwork/blob/master/web-ui/src/main/resources/catalog/js/GnSchemaTranslationsLoaderModule.js#L33-L41
-
GN-UI
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
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
If you have some comments, start a discussion, raise an issue or use one of our other communication channels to talk to us.