diff --git a/README.md b/README.md index 14233a9b..1cb27b84 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,12 @@ Apply the [patches](core-geonetwork-patches) to the GeoNetwork core. You may nee git am --ignore-space-change --ignore-whitespace --reject --whitespace=fix schemas/dcat-ap/core-geonetwork-patches/*.patch ``` +These patches were generated using `git format-patch -1` after including the necessary changes in one commit. If `core-geonetwork` would clash with the patches, they need to be regenerated: +- After running the above `git am` command, `.json.rej` are generated +- Make sure the unapplied changes are aligned with the new codebase +- Make a new commit that contains all changes generated by the patches and the above fixes +- Generate a new patch using `git format-patch -1`, update the patch file and commit it to `main` + Build and run the application following the [Software Development Documentation](https://github.com/geonetwork/core-geonetwork/tree/main/software_development). You'll need to have Java JDK 11 and [Maven](https://maven.apache.org/install.html) installed. diff --git a/core-geonetwork-patches/current.patch b/core-geonetwork-patches/current.patch index cb30de5c..016e42f6 100644 --- a/core-geonetwork-patches/current.patch +++ b/core-geonetwork-patches/current.patch @@ -1,7 +1,7 @@ -From da9167b24b2a92fc57deaaf7c0c2d3ea5a9c958e Mon Sep 17 00:00:00 2001 -From: Mathieu Chaussier -Date: Thu, 20 Jun 2024 09:48:09 +0200 -Subject: [PATCH] Patch core for DCAT2 plugin +From c6b1547fa1937d92e78db1d5280348066f95ca16 Mon Sep 17 00:00:00 2001 +From: joachimnielandt +Date: Tue, 28 Apr 2026 15:45:57 +0200 +Subject: [PATCH] Patch for 4.4.10 --- .../geonet/kernel/search/EsSearchManager.java | 1 + @@ -12,36 +12,36 @@ Subject: [PATCH] Patch core for DCAT2 plugin .../plugin/iso19139/index-fields/index.xsl | 71 ++++++++++++++++ .../fao/geonet/api/records/MetadataUtils.java | 22 +++-- .../resources/catalog/locales/en-admin.json | 5 +- - .../resources/catalog/locales/fr-admin.json | 5 +- - .../resources/catalog/locales/nl-admin.json | 5 +- + .../resources/catalog/locales/fr-admin.json | 7 +- + .../resources/catalog/locales/nl-admin.json | 7 +- .../templates/admin/harvest/type/csw.html | 17 ++++ .../templates/admin/harvest/type/csw.js | 4 +- .../admin/harvest/type/geonetwork.html | 16 ++++ .../admin/harvest/type/geonetwork.js | 4 +- .../main/webapp/xsl/xml/harvesting/csw.xsl | 3 + .../webapp/xsl/xml/harvesting/geonetwork.xsl | 3 + - 16 files changed, 250 insertions(+), 14 deletions(-) + 16 files changed, 252 insertions(+), 16 deletions(-) diff --git a/core/src/main/java/org/fao/geonet/kernel/search/EsSearchManager.java b/core/src/main/java/org/fao/geonet/kernel/search/EsSearchManager.java -index 432ae3a101..d56f80fe80 100644 +index 204d491..a52e269 100644 --- a/core/src/main/java/org/fao/geonet/kernel/search/EsSearchManager.java +++ b/core/src/main/java/org/fao/geonet/kernel/search/EsSearchManager.java -@@ -120,6 +120,7 @@ public class EsSearchManager implements ISearchManager { +@@ -122,6 +122,7 @@ public class EsSearchManager implements ISearchManager { .add(Geonet.IndexFieldNames.RESOURCEABSTRACT) .add(Geonet.IndexFieldNames.RESOURCEABSTRACT + "Object") .add("operatesOn") + .add("rdfResourceIdentifier") .build(); - + FIELDLIST_RELATED = ImmutableSet.builder() diff --git a/core/src/main/java/org/fao/geonet/util/XslUtil.java b/core/src/main/java/org/fao/geonet/util/XslUtil.java -index 067d3cc4b8..5f1077654f 100644 +index 4e8d5bb..c343754 100644 --- a/core/src/main/java/org/fao/geonet/util/XslUtil.java +++ b/core/src/main/java/org/fao/geonet/util/XslUtil.java @@ -23,6 +23,7 @@ - + package org.fao.geonet.util; - + +import co.elastic.clients.elasticsearch.core.SearchResponse; import co.elastic.clients.elasticsearch.core.search.Hit; import com.fasterxml.jackson.core.JsonProcessingException; @@ -70,8 +70,8 @@ index 067d3cc4b8..5f1077654f 100644 import org.fao.geonet.schema.iso19139.ISO19139Namespaces; import org.fao.geonet.utils.Log; import org.fao.geonet.utils.Xml; -@@ -1622,4 +1622,80 @@ public final class XslUtil { - +@@ -1637,4 +1637,80 @@ public final class XslUtil { + return webAnalyticsConfiguration.getJavascriptCode(); } + @@ -152,7 +152,7 @@ index 067d3cc4b8..5f1077654f 100644 + } } diff --git a/domain/src/main/java/org/fao/geonet/repository/HarvesterSettingRepository.java b/domain/src/main/java/org/fao/geonet/repository/HarvesterSettingRepository.java -index c28295c8b6..88bfc88c97 100644 +index c28295c..88bfc88 100644 --- a/domain/src/main/java/org/fao/geonet/repository/HarvesterSettingRepository.java +++ b/domain/src/main/java/org/fao/geonet/repository/HarvesterSettingRepository.java @@ -74,4 +74,15 @@ public interface HarvesterSettingRepository extends GeonetRepository { @@ -181,17 +181,17 @@ index 6c62c9a34d..af1f4a3061 100644 harvesterSettingsManager.add("id:" + siteId, "sortBy", params.sortBy); + // DCAT custom + harvesterSettingsManager.add("id:" + siteId, "resourceUriPattern", params.resourceUriPattern); - + //--- store dynamic filter nodes String filtersID = harvesterSettingsManager.add(path, "filters", ""); diff --git a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/csw/CswParams.java b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/csw/CswParams.java -index 624a62e0f8..e5f677c8b6 100644 +index 624a62e..e5f677c 100644 --- a/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/csw/CswParams.java +++ b/harvesters/src/main/java/org/fao/geonet/kernel/harvest/harvester/csw/CswParams.java @@ -53,6 +53,9 @@ public class CswParams extends AbstractParams { - + public Integer hopCount; - + + // DCAT custom + public String resourceUriPattern; + @@ -199,36 +199,36 @@ index 624a62e0f8..e5f677c8b6 100644 * The filter is a process (see schema/process folder) which depends on the schema. It could be * composed of parameter which will be sent to XSL transformation using the following syntax : @@ -105,6 +108,8 @@ public class CswParams extends AbstractParams { - + bboxFilter = node.getChild("bboxFilter"); - + + // DCAT custom + resourceUriPattern = Util.getParam(site, "resourceUriPattern", ""); } - + /** @@ -136,6 +141,9 @@ public class CswParams extends AbstractParams { } - + bboxFilter = node.getChild("bboxFilter"); + + // DCAT custom + resourceUriPattern = Util.getParam(site, "resourceUriPattern", ""); } - + /** @@ -159,6 +167,9 @@ public class CswParams extends AbstractParams { copy.eltFilters = eltFilters; copy.bboxFilter = bboxFilter; - + + // DCAT custom + copy.resourceUriPattern = resourceUriPattern; + return copy; } - + diff --git a/schemas/iso19139/src/main/plugin/iso19139/index-fields/index.xsl b/schemas/iso19139/src/main/plugin/iso19139/index-fields/index.xsl -index 106ea2a6b5..edcc4efc63 100644 +index 106ea2a..edcc4ef 100644 --- a/schemas/iso19139/src/main/plugin/iso19139/index-fields/index.xsl +++ b/schemas/iso19139/src/main/plugin/iso19139/index-fields/index.xsl @@ -31,6 +31,7 @@ @@ -242,7 +242,7 @@ index 106ea2a6b5..edcc4efc63 100644 @@ -72,6 +73,8 @@ - + + + @@ -322,7 +322,7 @@ index 106ea2a6b5..edcc4efc63 100644 + diff --git a/services/src/main/java/org/fao/geonet/api/records/MetadataUtils.java b/services/src/main/java/org/fao/geonet/api/records/MetadataUtils.java -index 8660f17c83..f3541590ff 100644 +index 8660f17..f354159 100644 --- a/services/src/main/java/org/fao/geonet/api/records/MetadataUtils.java +++ b/services/src/main/java/org/fao/geonet/api/records/MetadataUtils.java @@ -61,6 +61,7 @@ import org.fao.geonet.repository.MetadataValidationRepository; @@ -367,55 +367,56 @@ index 8660f17c83..f3541590ff 100644 && (type == RelatedItemType.siblings || type == RelatedItemType.parent diff --git a/web-ui/src/main/resources/catalog/locales/en-admin.json b/web-ui/src/main/resources/catalog/locales/en-admin.json -index 4657a67f7e..8e5fc1d86d 100644 +index ad660ca..a59f5ef 100644 --- a/web-ui/src/main/resources/catalog/locales/en-admin.json +++ b/web-ui/src/main/resources/catalog/locales/en-admin.json -@@ -1610,6 +1610,9 @@ - "datahubEnabled": "Enable Datahub interface for this portal", - "datahubInfo": "This Datahub interface is accessible here.", - "datahubPluginNotInstalled-help": "The Datahub plugin is not installed. Please refer to the related documentation for more information on installation and usage.", -- "harvesterErrorRetrieveSources": "Error retrieving remote catalogs" -+ "harvesterErrorRetrieveSources": "Error retrieving remote catalogs", +@@ -1638,5 +1638,8 @@ + "anonymousAccessList": "Anonymous access list to unpublished records", + "anonymousAccessListDelete": "Revoke access", + "anonymousAccessListEmpty": "No anonymous access to display", +- "anonymousAccessDeleted": "Anonymous access revoked" ++ "anonymousAccessDeleted": "Anonymous access revoked", + "==== DCAT CUSTOM ====": "", + "resourceUriPattern": "Resource URI pattern", + "resourceUriPatternHelp": "Pattern used to generate URI of the resources during the RDF export. Example of value: https://metadata.vlaanderen.be/srv/resources/{resourceType}/{resourceUuid}" } - diff --git a/web-ui/src/main/resources/catalog/locales/fr-admin.json b/web-ui/src/main/resources/catalog/locales/fr-admin.json -index 97d05fd585..b30f8c94a0 100644 +index d720f9c..99e88df 100644 --- a/web-ui/src/main/resources/catalog/locales/fr-admin.json +++ b/web-ui/src/main/resources/catalog/locales/fr-admin.json -@@ -1610,5 +1610,8 @@ - "datahubEnabled": "Activer le Datahub pour ce portail", - "datahubInfo": "L'interface du Datahub est accessible ici.", - "datahubPluginNotInstalled-help": "Le plugin d'intégration du Datahub n'est pas installé. Veuillez consulter la documentation associée pour plus d'informations sur l'installation et l'utilisation de ce plugin.", -- "harvesterErrorRetrieveSources": "Erreur lors de la récupération des catalogues distants" -+ "harvesterErrorRetrieveSources": "Erreur lors de la récupération des catalogues distants", +@@ -1638,5 +1638,8 @@ + "anonymousAccessList": "Liste des accès anonymes aux fiches non publiées", + "anonymousAccessListDelete": "Révoquer l'accès", + "anonymousAccessListEmpty": "Aucun accès anonyme à afficher", +- "anonymousAccessDeleted": "Accès anonyme révoqué" +-} +\ No newline at end of file ++ "anonymousAccessDeleted": "Accès anonyme révoqué", + "==== DCAT custom ====": "", + "resourceUriPattern": "Patterne de l'URI des resources", + "resourceUriPatternHelp": "Patterne utilisé pour générer les URI des resources lors de l'export RDF. Exemple de valeur: https://metadata.vlaanderen.be/srv/resources/{resourceType}/{resourceUuid}" - } -\ No newline at end of file ++} diff --git a/web-ui/src/main/resources/catalog/locales/nl-admin.json b/web-ui/src/main/resources/catalog/locales/nl-admin.json -index 1422dbfddd..89cafd7564 100644 +index 6635938..df91d2a 100644 --- a/web-ui/src/main/resources/catalog/locales/nl-admin.json +++ b/web-ui/src/main/resources/catalog/locales/nl-admin.json -@@ -1610,5 +1610,8 @@ - "datahubEnabled": "Enable Datahub interface for this portal", - "datahubInfo": "This Datahub interface is accessible here.", - "datahubPluginNotInstalled-help": "The Datahub plugin is not installed. Please refer to the related documentation for more information on installation and usage.", -- "harvesterErrorRetrieveSources": "Error retrieving remote catalogs" -+ "harvesterErrorRetrieveSources": "Error retrieving remote catalogs", -+ "==== DCAT custom ====": "", -+ "resourceUriPattern": "Resource URI pattern", -+ "resourceUriPatternHelp": "Pattern gebruikt om URI van de bronnen te genereren tijdens de RDF export. Bv: https://metadata.vlaanderen.be/srv/resources/{resourceType}/{resourceUuid}" - } +@@ -1638,5 +1638,8 @@ + "anonymousAccessList": "Lijst van niet-gepubliceerde records met anonieme toegang", + "anonymousAccessListDelete": "Toegang intrekken", + "anonymousAccessListEmpty": "Geen anonieme toegang gevonden", +- "anonymousAccessDeleted": "Anonieme toegang ingetrokken" +-} \ No newline at end of file ++ "anonymousAccessDeleted": "Anonieme toegang ingetrokken", ++ "==== DCAT custom ====": "", ++ "resourceUriPattern": "Resource URI patroon", ++ "resourceUriPatternHelp": "Patroon gebruikt om URI van de bronnen te genereren tijdens de RDF export. Bv: https://metadata.vlaanderen.be/srv/resources/{resourceType}/{resourceUuid}" ++} diff --git a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/csw.html b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/csw.html -index 03bee12552..827103ef87 100644 +index 048ebc0..5570d35 100644 --- a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/csw.html +++ b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/csw.html -@@ -337,6 +337,23 @@ +@@ -366,6 +366,23 @@ data-lang="{{lang}}" data-label="csw-category" > @@ -437,13 +438,13 @@ index 03bee12552..827103ef87 100644 +

resourceUriPatternHelp

+ - +
' + h.site.sortBy + '' + ' ' + h.site.queryScope + '' + ' ' + h.site.hopCount + '' @@ -462,7 +463,7 @@ index bc6eb3e163..e126119172 100644 + gnHarvestercsw.buildResponseCSWBBOXFilter($scope) + gnHarvestercsw.buildResponseCSWFilter($scope) diff --git a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html -index d7a36ee29a..c47ddc3f57 100644 +index d7a36ee..c47ddc3 100644 --- a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html +++ b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.html @@ -266,6 +266,22 @@ @@ -486,10 +487,10 @@ index d7a36ee29a..c47ddc3f57 100644 +

resourceUriPatternHelp

+
- +
diff --git a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.js b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.js -index 8ca175afcd..a3c9441323 100644 +index 8ca175a..a3c9441 100644 --- a/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.js +++ b/web-ui/src/main/resources/catalog/templates/admin/harvest/type/geonetwork.js @@ -21,7 +21,8 @@ var gnHarvestergeonetwork = { @@ -511,10 +512,10 @@ index 8ca175afcd..a3c9441323 100644 + ' ' + ' ' diff --git a/web/src/main/webapp/xsl/xml/harvesting/csw.xsl b/web/src/main/webapp/xsl/xml/harvesting/csw.xsl -index afbd470d75..33b6e31d5b 100644 +index 7030f76..1c3a27c 100644 --- a/web/src/main/webapp/xsl/xml/harvesting/csw.xsl +++ b/web/src/main/webapp/xsl/xml/harvesting/csw.xsl -@@ -31,6 +31,9 @@ +@@ -37,6 +37,9 @@ @@ -522,10 +523,10 @@ index afbd470d75..33b6e31d5b 100644 + +
- - + + diff --git a/web/src/main/webapp/xsl/xml/harvesting/geonetwork.xsl b/web/src/main/webapp/xsl/xml/harvesting/geonetwork.xsl -index ecfc880f24..db96a7ca0d 100644 +index ecfc880..db96a7c 100644 --- a/web/src/main/webapp/xsl/xml/harvesting/geonetwork.xsl +++ b/web/src/main/webapp/xsl/xml/harvesting/geonetwork.xsl @@ -22,6 +22,9 @@ @@ -536,8 +537,8 @@ index ecfc880f24..db96a7ca0d 100644 + + - + --- -2.51.0 +-- +2.53.0 diff --git a/e2e/package-lock.json b/e2e/package-lock.json index b3c70d99..0e71de21 100644 --- a/e2e/package-lock.json +++ b/e2e/package-lock.json @@ -916,17 +916,17 @@ } }, "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", "dev": true, "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" @@ -1129,9 +1129,9 @@ } }, "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "dev": true, "license": "MIT", "dependencies": { @@ -2236,9 +2236,9 @@ "license": "MIT" }, "node_modules/tmp": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.6.tgz", - "integrity": "sha512-5sJPdPjfI5Kx+qbrDesxkglRBxW//g7hCsqspEjwkewGvBMGIKMOTKzLt1hFVJzyadba3lDUN20O9qhvbQUSTA==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", "dev": true, "license": "MIT", "engines": { diff --git a/pom.xml b/pom.xml index 9d653d08..4edff67a 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ gn-schemas org.geonetwork-opensource.schemas - 4.4.9-0 + 4.4.11-0 4.0.0 diff --git a/src/main/java/org/fao/geonet/schema/dcatap/DCATAPSchemaPlugin.java b/src/main/java/org/fao/geonet/schema/dcatap/DCATAPSchemaPlugin.java index 79e8899d..e14db7fe 100644 --- a/src/main/java/org/fao/geonet/schema/dcatap/DCATAPSchemaPlugin.java +++ b/src/main/java/org/fao/geonet/schema/dcatap/DCATAPSchemaPlugin.java @@ -143,24 +143,24 @@ private Set getAssociatedVirtualCatalog(Element metadata) { /** * For next records, resolve dcat:next elements */ - private Set getAssociatedNext(Element metadata) { - Set results = getAssociatedResourcesByXpath(metadata, "*//dcat:next/@rdf:resource"); + private Set getAssociatedPrevious(Element metadata) { + Set results = getAssociatedResourcesByXpath(metadata, "*//dcat:prev/@rdf:resource"); return results.stream() - .peek(ar -> ar.setAssociationType("nextResource")) + .peek(ar -> ar.setAssociationType("revisionOf")) .collect(Collectors.toSet()); } /** * For previous records, find datasets that point to the current one with a dcat:next */ - private Set getAssociatedPrevious(Element metadata) { + private Set getAssociatedNext(Element metadata) { try { String currentUuid = getCurrentUuid(metadata); if (currentUuid == null) { return Collections.emptySet(); } var searchManager = ApplicationContextHolder.get().getBean(EsSearchManager.class); - var response = searchManager.query(String.format("+nextUUIDInSeries:\"%s\"", currentUuid), null, + var response = searchManager.query(String.format("+previousUUIDInSeries:\"%s\"", currentUuid), null, Sets.newHashSet("uuid", "resourceTitleObject.default"), 0, 100); if (response.hits().hits().isEmpty()) { @@ -175,7 +175,7 @@ private Set getAssociatedPrevious(Element metadata) { AssociatedResource ar = new AssociatedResource( (String) associatedRecord.get("uuid"), "", - "previousResource", + "nextResource", null, ((Map) associatedRecord.get("resourceTitleObject")).get("default") ); @@ -183,7 +183,7 @@ private Set getAssociatedPrevious(Element metadata) { } return res; } catch (Exception e) { - Log.error(Log.JEEVES, "GET associated previous resources error: " + e.getMessage(), e); + Log.error(Log.JEEVES, "GET associated next resources error: " + e.getMessage(), e); } return Collections.emptySet(); } diff --git a/src/main/plugin/dcat-ap/config/associated-panel/default.json b/src/main/plugin/dcat-ap/config/associated-panel/default.json index 09561535..95aee08f 100644 --- a/src/main/plugin/dcat-ap/config/associated-panel/default.json +++ b/src/main/plugin/dcat-ap/config/associated-panel/default.json @@ -37,6 +37,12 @@ "isTemplate": "n" }, "searchParamsPerType": { + "revisionOf-*": { + "type": [ + "dataset", + "service" + ] + }, "nextResource-*": { "type": [ "dataset", diff --git a/src/main/plugin/dcat-ap/index-fields/index.xsl b/src/main/plugin/dcat-ap/index-fields/index.xsl index 57ba9045..6a41a5b0 100644 --- a/src/main/plugin/dcat-ap/index-fields/index.xsl +++ b/src/main/plugin/dcat-ap/index-fields/index.xsl @@ -307,6 +307,11 @@ + + + + + @@ -366,8 +371,34 @@ Keyword values are pulled from the thesaurus defined in the editor. --> - - + + + + + + + + + + + + + + + @@ -381,6 +412,7 @@ [ + { "default": "", diff --git a/src/main/plugin/dcat-ap/loc/dut/codelists.xml b/src/main/plugin/dcat-ap/loc/dut/codelists.xml index 732312c5..216e34a7 100644 --- a/src/main/plugin/dcat-ap/loc/dut/codelists.xml +++ b/src/main/plugin/dcat-ap/loc/dut/codelists.xml @@ -25,10 +25,15 @@ - + + + revisionOf + + Vorherige Resource in series diff --git a/src/main/plugin/dcat-ap/loc/eng/codelists.xml b/src/main/plugin/dcat-ap/loc/eng/codelists.xml index 4ab5ee05..d0882e95 100644 --- a/src/main/plugin/dcat-ap/loc/eng/codelists.xml +++ b/src/main/plugin/dcat-ap/loc/eng/codelists.xml @@ -25,10 +25,15 @@ - + + + revisionOf + + Previous resource in series diff --git a/src/main/plugin/dcat-ap/loc/fre/codelists.xml b/src/main/plugin/dcat-ap/loc/fre/codelists.xml index 9a9f8129..19bd1925 100644 --- a/src/main/plugin/dcat-ap/loc/fre/codelists.xml +++ b/src/main/plugin/dcat-ap/loc/fre/codelists.xml @@ -25,10 +25,15 @@ - + + + revisionOf + + Ressource précédente dans la série diff --git a/src/main/plugin/dcat-ap/loc/ger/codelists.xml b/src/main/plugin/dcat-ap/loc/ger/codelists.xml index bed6045e..94b305ce 100644 --- a/src/main/plugin/dcat-ap/loc/ger/codelists.xml +++ b/src/main/plugin/dcat-ap/loc/ger/codelists.xml @@ -25,10 +25,15 @@ - + + + revisionOf + + Vorherige Ressource in series diff --git a/src/main/plugin/dcat-ap/process/parent-remove.xsl b/src/main/plugin/dcat-ap/process/parent-remove.xsl index d43eeaa7..36d5df3c 100644 --- a/src/main/plugin/dcat-ap/process/parent-remove.xsl +++ b/src/main/plugin/dcat-ap/process/parent-remove.xsl @@ -27,11 +27,14 @@ Stylesheet used to remove a reference to a parent record. --> + @@ -41,5 +44,5 @@ Stylesheet used to remove a reference to a parent record. - + diff --git a/src/main/plugin/dcat-ap/process/sibling-add.xsl b/src/main/plugin/dcat-ap/process/sibling-add.xsl index b2badcad..85f055e8 100644 --- a/src/main/plugin/dcat-ap/process/sibling-add.xsl +++ b/src/main/plugin/dcat-ap/process/sibling-add.xsl @@ -81,7 +81,7 @@ - + @@ -102,10 +102,11 @@ + - + - +
diff --git a/src/main/plugin/dcat-ap/process/sibling-remove.xsl b/src/main/plugin/dcat-ap/process/sibling-remove.xsl index 7d649203..ec2eafe2 100644 --- a/src/main/plugin/dcat-ap/process/sibling-remove.xsl +++ b/src/main/plugin/dcat-ap/process/sibling-remove.xsl @@ -20,6 +20,7 @@ dcat:CatalogRecord[starts-with(@rdf:about, 'http') and @rdf:about = $uuidref]"/> + diff --git a/utility/Dockerfile b/utility/Dockerfile index 2e99134c..99a545bd 100644 --- a/utility/Dockerfile +++ b/utility/Dockerfile @@ -1,8 +1,6 @@ -ARG GN_VERSION=4.4.9 +ARG GN_VERSION=4.4.11 FROM geonetwork:${GN_VERSION} -USER jetty - # Remove the existing vanilla GeoNetwork RUN rm -rf /opt/geonetwork/* diff --git a/utility/docker-compose.yml b/utility/docker-compose.yml index 2569a9fd..f0f2c374 100644 --- a/utility/docker-compose.yml +++ b/utility/docker-compose.yml @@ -15,7 +15,7 @@ services: retries: 5 elasticsearch: - image: elasticsearch:8.14.3 + image: elasticsearch:8.19.13 container_name: es ports: - "9200:9200" @@ -55,7 +55,7 @@ services: timeout: 5s retries: 20 environment: - WEBAPP_CONTEXT_PATH: / + WEBAPP_CONTEXT_PATH: /ROOT GEONETWORK_DB_TYPE: postgres GEONETWORK_DB_HOST: database GEONETWORK_DB_PORT: 5432