This document aims to help simplify future migration for geonetwork in Georchestra.
This is an ultra-simplified guide to be able to build an upgraded version of georchestra/geonetwork
- Merge gn-core tag into georchestra/gn wanted branch. Resolve coflicts and get georchestra custom implementions (see below).
- Copy folders
config
anddata
fromweb/src/main/webapp/WEB-INF/data/
into the repo geonetwork_minimal_datadir and create associated branch with new version name. - Build geonetwork (war, docker ...)
- Delete wro4j cache if necessary (use ?debug can be sometimes useful)
- Reindex records if necessary
A more detailed guide is available in upgrade_geonetwork.md.
All versions in pom.xml
files must be updated. E.g. for this version 4.2.7-georchestra
.
All italic folder just have the pom.xml
change.
- .github
- workflows
linux.yml
mvn-dep-tree.yml
sonarcloud.yml
dependabot.yml
are deleted. Onlygeorchestra-gn4.yml
is used
- workflows
- cachingxslt
- common
ZipUtilTest.java
: InassertExampleZip
method, assertions which are supposed check folders must check with trailing slash too.
- core
JeevesContextLoaderListener.java
: remove java 8 runtime exception as we use java 11.XslUtil.java
: Implement georchestra header specific codeconfig-spring-geonetwork.xml
: Implementcontext:property-placeholder
for georchestra's datadirsrc/test/resources/config-spring-geonetwork.xml
: Add GeonetworkDataDirectory beancleanoutdatabase.sql
: Delete from settings-ui at the end of the file
- csw-server
CswFilter2Es.java
: Keep{@}
instead of%s
until it is fixed upstream (not supporting some CSW request)CswFilter2EsTest.java
: Keep{@}
instead of%s
SearchController.java
: Keep{@}
instead of%s
with StringUtils.replace
- docker
- Mandatory, get everything from geOrchestra
- docs
- doi
- domain
- ExternalGroupLink.java : get file from geOrchestra
- ExternalUserLink.java : get file from geOrchestra
- es
- estest
- events
- georchestra-integration
- Mandatory, get everything from geOrchestra
- harvesters
Harvester.java
: Use parseJDK11 methodHarvesterTest.java
: Ignore and assume true Java 8
- healthmonitor
- index
- inspire-atom
- jmeter
- listeners
- messaging
- oaipmh
- release
- schemas
src/main/plugin/iso19115-3.2018
- OGC API features, COG and 3Dtiles added. Differences in files:
config/associated-panel/default.json
loc/eng/labels.xml
loc/fre/labels.xml
test/resources/metadata-for-editing.xml
test/resources/metadata-for-editing-light.xml
test/resources/metadata-iso19139-for-editing.xml
src/main/plugin/iso19115-3.2018/config/associated-panel/default.json
: Keep OGC API - Features placeholder
- OGC API features, COG and 3Dtiles added. Differences in files:
src/main/plugin/iso19139/loc
: COG and 3Dtiles added in labels.xml files.iso19139/layout/config-editor.xml
: xlinks for contacts reenabled
- schemas-test
- sde
- services
config-spring-geonetwork.xml
: Implementcontext:property-placeholder
for georchestra's datadirMetadataExtentApiTest.java
: Update image signatures if necessary (tests may fail see MetadataExtentApiTest-reference for image reference)BatchOpsMetadatReindexerTest.java
: Add PowerMockIgnorepom.xml
: version to update and to add to gn-servicesLogUtils.java
: Keep custom configuration inrefreshLogConfiguration()
method.
- slave
- web
src/docker
: Mandatory, get everything from geOrchestramain/filters/prod.properties
: Session timeout variable updatedmain/filters/java/org/fao/geonet/proxy
: Mandatory, get everything from geOrchestradata-db-default.sql
: Some data to retrieve: setting-ui, inspire activated, georchestra name, (backported value) sitemapLinkUrl, xlinkresolver enabled by defaultUpdateMetadataStatus.java
: Some fixesconfig-security.xml
: Remove config security add start of file, get end of the file from georchestra.config-geonetwork-georchestra.properties
,config-georchestra-geonetwork-datadirs.xml
,DKAN-to-ISO19115-3-2018.xsl
,GeoIDE-services-OGC.xsl
,udata-to-ISO19115-3-2018.xsl
- Get files from georchestra
base-variables.xsl
andbase-layout.xsl
- Get header from georchestra
defaultJdbcDataSource.xml
: Implementcontext:property-placeholder
for georchestra's dbconfig-spring-geonetwork.xml
- Implement
context:property-placeholder
for georchestra's datadir - Don't forget to import config resource and logging bean
- Implement
spring-servlet.xml
: Implementcontext:property-placeholder
for georchestra's datadirpostgres-postgis.xml
Keepcontext:property-placeholder
for georchestra's datadirpom.xml
: UpdatedockerGnDatadirScmVersion
variable accordingly and removefont-awesome/css/
frompackagingExclude
pom.xml
: Keep exclusion of groovy package to avoid two versions of it.
- web-ui
pom.xml
: version to update and to add to gn-web-uiRelatedResourcesService.js
: Add 3DTilesCatController.js
: Menu bar accessible and 3DTilesmenu-signin.html
: remove theauthenticated
from theng-if
in firstul tag.src/main/resources/catalog/locales/
- Add OGC API - Features to i18n files
- Get
en-georchestra.json
andfr-georchestra.json
from georchestra
src/main/resources/catalog/style/gn-less
: remove position fixed from.gn-top-bar
to get gn header after georchestra's header.gn_admin_default.less
: Same (header position)gn_navbar_default.less
: Same (header position)src/main/resources/catalog/views/module.js
: Add 3DTilessrc/main/resources/catalog/views/georchestra/
: Get files from georchestra
- workers
- wro4j
- .gitignore
- add idea and settings to it
- pom.xml
- Implement JDK 11 specific things, add georchestra-integration module, set db-type
A branch has been created from core-geonetwork 4.2.7 tag and merged into georchestra-gn4.2.x
.
All conflicts files have been resolved with taking gn changes and not grochestra's one.
Then changes have been reimplemented.