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.4.5-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
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, try/catch around Element resultMD, to avoid csw server to crash issue core-gn 6940
- docker
- Mandatory, get everything from geOrchestra
- docs
- doi
- domain
ExternalGroupLink.java
: get file from geOrchestraExternalUserLink.java
: get file from geOrchestraGroup.java
: set column definition toTEXT
(which is PostGreSQL specific) ondescription
andlogo
- es
- estest
- events
- georchestra-integration
- Mandatory, get everything from geOrchestra
- harvesters
- healthmonitor
- index
- inspire-atom
- jmeter
- listeners
- messaging
- oaipmh
- release
- schemas
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-uiCatController.js
: Menu bar accessiblemenu-signin.html
: remove theauthenticated
from theng-if
in first ul tag.src/main/resources/catalog/locales/
- Get
en-georchestra.json
andfr-georchestra.json
from georchestra
- Get
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/georchestra/
: Get files from georchestra
- workers
- wro4j
- .gitignore
- add idea and settings to it
- pom.xml
- 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.