Actions
task #10055
openUpdates, upgrades and cleanup 2023
Start date:
Due date:
% Done:
0%
Estimated time:
Severity:
normal
Description
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)
- upgrade to latest maven (see also maven wrappter: https://maven.apache.org/wrapper/)
- ...
https://github.com/cybertaxonomy/cdmlib/pulls
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)
- remove springmodules dependencies (#3408)
- minor dependencies
- httpclient => httpclient5 (not yet tested if this created problems)
- upgrade jena dependency (#10125)
- opencsv => can we switch to apache commons-csv(?) ? Does it make sense?
- 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)
- ...
- 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
- 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
- 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 (filter by -Dincludes=org.springframework.security.oauth:spring-security-oauth2 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
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)
Related issues
Actions