task #10055
Updated by Andreas Müller about 1 year ago
All tasks that should be considered during the 2023 updates, upgrades and cleanup sprint
* ~~Upgrade linux to latest major version (if necessary)~~ => will be released in 2023, install in 2024 (#10215)
* All developers update to latest Eclipse version
* upgrade to latest Java version
* updated jboss-logging to 3.5.0.Final once we use java11
* upgrade to latest Drupal version (include Cichorieae Network instance #10209)
* update to latest Vaadin version (#9955, #9837) (https://vaadin.com/blog/free-vaadin-8-support-is-over.-what-happens-next)
* upgrade Redmine
* update selenium tests to latest version
* update swagger/OpenAPI to latest version
* update jenkins moduls (and check if they are all still needed)
* fully upgrade to log4j2 (#10072)
* ...
Dependency updates
* concider to create a commonly used cdm-versions pom project to upgrade all version at one place (see also last task in todo list in #9359 for more details)
* cdmlib dependencies
* spring (https://www.heise.de/hintergrund/Spring-Framework-6-verarbeitet-Native-Images-und-baut-auf-Jakarta-EE-9-oder-10-7342050.html , https://www.heise.de/news/VMware-Tanzu-passt-Tools-an-Spring-Framework-6-0-und-Native-Image-an-7350247.html, https://www.heise.de/news/Spring-Boot-3-0-setzt-auf-Spring-Framework-6-0-und-Java-17-7354877.html, https://www.heise.de/news/Spring-Integration-6-0-fuehrt-Groovy-DSL-und-einen-neuen-MQTT-ClientManager-ein-7361968.html) (also think about Quarkus https://code.quarkus.io/ and other fast/native image technologies): #10216
* use the encrypto Passwordencoder in UserService instead of the deprecated one (#10217)
* we may want to further normalize spring config files: #5380
* check if TaxonNodeByNameComparator is needed as spring bean as it is currently the case
* ehcache => 3.x (#10077)
* minor dependencies
* httpclient => httpclient5 (not yet tested if this created problems)
* upgrade jena dependency (#10125)
* hibernate
* hibernate 5.6 (see comment in #10070)
* hibernate 6.x #10070
* hibernate-validation and jakarta.validation (hibernate 7+ uses jakarta.validation-api, there is a local branch 'jakarta-validation' but probably we need to wait for spring 6 to upgrade - or find a workaround for existing problems)
* hibernate-search #10069
* Fix timezone problems after upgrading jadira.usertype, hibernate and/or mysql drivers (#10079)
* Try to fix the HHH90000003 warnings (thrown in org.hibernate.boot.model.source.internal.hbm.ModelBinder line 2416, probably related to hibernate-envers, can be switched off by log4j.logger.org.hibernate.orm.deprecation=error) (related but not #7289)
* from older #4716
* AK: fix hibernate search related issues
* 8096b11 : IndexDocValue relates issues solved, indexing now without exceptions, most tests in TaxonServiceSearchTest successful
* remove Index annotations from abstract classes, hibernate search seems not capable of indexing polymorph classes. This will remove the @HSEARCH000044 warings.
* we may concider removing commons-dbcp.commons-dbcp by org.apache.commons.commons-dbcp2 (maybe only used by unitils-database)
* remove json lib for GBIF specimen search (#10205)
* replace json-lib by jackson (#4009, #6992)
* do we want to move xpp3.xpp3 (1.1.4c) to org.ogce.xpp3 (1.1.6) ?
* do we want to move xom.xom (1.2.5) to com.io7m.xom.xom (1.2.10) ? Already upgraded from 1.0 to 1.2.5
* check new group-id com.opencsv for OpenCSV
* try to remove json-lib (and dependent xom, xmlParserAPIs) dependency and replace by jackson: #4009
* try to remove exclusions where possible
* decide which oracle driver to use
* fix open issues for cdmlib-db (#6025)
* further implement cdmlib-api (#9886)
* ...
* TaxEditor dependencies
* move further dependencies to specific plugins (test and local and print) which are not necessarily deployed with core in future (for previous work on this see #10009)
* remove cdmlib-persistence from taxeditor dependencies (also removes hibernate dependencies) (#9208, #10009, ...)
* Make taxeditor.local a loadable plugin not installed by default (#9190)
* Further reduce TaxEditor size by cleaning up dependencies and making taxeditor.webapp plugin optional (#9154)
* Move local datasource access fully to taxeditor.local (#9341)
* CDM Server dependencies
* dataportal dependencies
* utis dependencies
* cdm-webapp dependencies
* mvn plugins
* update maven-compiler-plugin to 3.x in cdmlib #6407/ #9919
* update maven-resources-plugin to 3.2.0 in cdmlib-remote (see comment in pom)
* open issues from #9359 (also migrate them to this ticket)
* jgitflow (#9946)
* repository "dependencies" in poms (are they all still needed? If not removing them will speed up build workflows)
* go through all poms and check for outdated information
* ...
~~~
mvn versions:display-dependency-updates
mvn dependency:tree (better use "Dependency Hierarchy" view in eclipse)
mvn dependency:tree -Dscope=compile
mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:tree -Dverbose=true (verbose flag has been removed in 3.0 (https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html)
mvn dependency:analyze
mvn versions:display-plugin-updates (upgrade required maven version from time to time!)
* also try https://github.com/basepom/duplicate-finder-maven-plugin
* for checking newer versions: https://javalibs.com/artifact/xpp3/xpp3 (more info then in maven repo)
~~~
Simplification
* check if logging in CdmServer can be adapted so it uses log4j2 (see TODO in eu.etaxonomy.cdm.server.logging.LoggingConfigurator)
Documentation
* Check user and admin documentation on cybertaxonomy.org
* Check developer documentation on wiki
* Check user documentation in markdown/word/pdfs and links on [[Platform_Documentation]]
Projects
* Check which projects can be retired (https://wiki.bgbm.org/bdinotes/index.php/EDITServerSetup#Retiring_and_Archiving_a_project)
* Run cache updating if still needed
* Reindex lucene index
Tests
* Check all ignored tests if they still need to be ignored or if they could be fixed or removed
* check all errors when running in commandline
Others
* Check if #8127 related hibernate issue is fixed in the meanwhile (see also #10101)
From older tickets and not merged in above issues:
* #3344 uncomment _c3p0ConnectionTest in src/test/resource/c3p0-config.xml and remove this file in test (still exists in main)
* #4716 remove and solve ignore from DescriptionServiceImplTest.testMoveDescriptionElementsToTaxon => see comment #4716#note-6
* #4716 move remoting-services.xml and httpInvokerServices.xml to remoting
* #4716 check if the postcommit handler were set correctly in CdmPostDataChangeObservableListener and ValidationEventListenerBase
* #4716 fix EntityValidationCrudJdbcImplTest and remove ignore
* #4716 move TableGeneratorGlobalOverride back to cdmlib-test (see r27338)
* #4716 remove dependsOn=tableGeneratorGlobalOverride from sessionFactory in persistence.xml and security_base.xml in production mode. It should be used only for test.
* #4716 find a solution for dbunitModul to load datasets also from jars and other packages to avoid duplication of standard dataset files (TODO create ticket with detailed information)