Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standard / Feature catalogue / Replace ISO19110 by ISO19115-3 #6545

Merged
merged 22 commits into from
Nov 21, 2022

Conversation

fxprunayre
Copy link
Member

@fxprunayre fxprunayre commented Sep 15, 2022

When using ISO19115-3, editor can create records which:

  • can only describe a feature catalogue description.
  • or can describe a dataset with a feature catalogue embedded (or linked with a citation).

Those records are indexed with a field resourceType=featureCatalog which enable search when linking feature catalogue in the editor to other records (both type of records can be linked ie. record with only a feature catalogue description or a record with an embedded one).

Depending on how much reused are feature catalogue, users can decide to use the embedded mode or not.

Using ISO19115-3 for feature catalogue also add support for multilingual feature catalogue.

While indexing feature catalogue:

  • cat:name is the resource title,
  • cat:scope is the resource abstract when the record is only a feature catalogue.

Linking the feature catalogue to a dataset

From the editor panel

image

In the record view

image

Embedded feature catalogue

image

A feature catalogue only

image

  • Associated panel / Do not add wildcard everywhere. Make search behave like the main search

image

Record view for feature catalogue

  • Display first visible tab in full view (the identification tab was hidden for feature catalogue - select content tab as first tab to show)

image

  • Display related datasets
  • Do not show citation if enabled

Editing feature catalogue in ISO19115-3

Editing was working fine.

  • Improved support for gco:UnlimitedInteger type.
  • Fix editing of gfc:aliases
  • Fix adding an online resource when no language defined (could happen when migrating from ISO19110 and metadata main language is usually undefined.)

image

  • Use table mode for code list value

image

ISO19110 migration to ISO19115-3

  • A conversion/schemaupgrade is added to migrate records from ISO19110 to ISO19115-3

The process name is iso19115-3.2018-schemaupgrade. When running the process, the schema is automatically updated to ISO19115-3 (as the process ends with -schemaupgrade)

image

ISO19110 schema is deprecated

  • Remove default template
  • Deprecate old ISO19110 schema

image

Migration can be previewed using http://localhost:8080/geonetwork/srv/api/records/7135698b-3c1c-4f88-9d4e-e19ae7bbf07e/formatters/iso19115-3_2018?output=xml

ISO19139

  • Standard / ISO19139 / Properly remove citation of feature catalogue

Future work

  • Check which mcc:MD_ScopeCode is more appropriate eg. featureType ?)
  • Record view / Do we want to display a related feature catalogue directly (or only a link to the feature catalogue record) ?
  • Editor / Full view / If only a feature catalogue, it could be better to open the content tab directly (as there is no identification)
  •  Validation issues / Should we allow it?

identificationInfo is mandatory from ISO19115-3 point of view (https://github.com/geonetwork/core-geonetwork/blob/main/schemas/iso19115-3.2018/src/main/plugin/iso19115-3.2018/schema/standards.iso.org/19115/-3/mdb/2.0/metadataBase.xsd#L63-L64). Creating a record with only a contentInfo element is invalid for XSD validation.

When using ISO19115-3, editor can create records which:
* can only describe a feature catalogue description.
* or can describe a dataset with a feature catalogue embedded (or linked with a citation).

Those records are indexed with a field `resourceType=featureCatalog` which
enable search when linking feature catalogue in the editor to other records (both type of records can be linked ie. record with only a feature catalogue description or a record with an embedded one).

While indexing feature catalogue:
* name is title,
* fieldOfApplication is abstract
when the record is only a feature catalogue.

TODO:

- [ ] Check which scopeCode is more appropriate eg. featureType ?)
- [ ] Editor / Full view / If only a feature catalogue, it could be better to open the content tab directly (as there is no identification)
- [ ] Add conversion from ISO19110 to ISO19115-3
- [ ] Remove old ISO19110 schema
@sonarcloud
Copy link

sonarcloud bot commented Sep 15, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@fxprunayre fxprunayre added this to the 4.2.2 milestone Oct 13, 2022
if (values.includes(recordValue)) {
cb();
if (angular.isArray(recordValue)) {
if (values.filter((value) => recordValue.includes(value)).length > 0) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Produces the following error in the log file:

SEVERE: /catalog/components/utility/UtilityService.js:384: ERROR - this language feature is only supported in es6 mode: short function syntax. Use --language_in=ECMASCRIPT6 or ECMASCRIPT6_STRICT to enable ES6 features.
                if (values.filter((value) => recordValue.includes(value)).length > 0) {

To check to use Lodash.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed. Can be done with JS.

@josegar74
Copy link
Member

@fxprunayre the table mode for codelist elements doesn't allow to add new entries, is that something that can be added easily in the configuration?

@fxprunayre
Copy link
Member Author

@fxprunayre the table mode for codelist elements doesn't allow to add new entries, is that something that can be added easily in the configuration?

        <for name="gfc:listedValue"/>
      </flatModeExceptions>

does it.

image

@fxprunayre fxprunayre merged commit 17a5bbd into main Nov 21, 2022
@fxprunayre fxprunayre deleted the 422-feature-catalogue-in-iso19115-3 branch November 21, 2022 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants