With uPortal 5 being a major overhaul, and several new technologies coming into play, I thought it would be a worthwhile exercise to write down some of expertise we could use.
1. Java 8 ... and beyond
On our roadmap is enhancing uPortal to support newer versions of Java.
2. Spring 3/4/5
uPortal and related projects are using combinations of Spring 3 to 5. An expertise in the latest best practices could shine a light on how best to modernize our projects.
Similar to Spring, our projects use various versions of Hibernate and very different approaches. A deep understanding of Hibernate and how to upgrade projects to the latest approach would be a windfall.
Grade has seen many major releases since 2018 when uPortal switched to this build tool. We see deprecation warnings often in the build process as several tasks are using out-dated Gradle features. We are also still missing functionality from the Ant/Maven days, like importing portlet data files.
5. Vue Web Components
These are new but extremely valuable. Feedback I've heard indicates web components really make uPortal look and function in ways that feel modern.
Lombok is an easy library to start using but does require an understanding around the impact of non-trivial code. Lombok leverages annotations to simply beans, logger creation and other niceties. Leveraging this library can significantly reduce our code.
Have I missed something? What else do we need to really understand to revamp portlets and improve uPortal?