Skip to content

CDM 2021 01

SammyIsConfused edited this page Jan 8, 2021 · 7 revisions

openEQUELLA Community Dev Meeting Jan 2021

Thursday January 7th 4pm (US - Central) / Friday December 8th 9am (AU - Hobart)

Attendees

  • Chair: Chris
  • Scribe: Sam

List of attendees: Ian Stevenson, Penghai Zhang, Samantha Fisher, Chris Beach, Christian Murphy.

Agenda

General Topics

  • Review Action Items
  • Specific Topics (Please add to below list, or email the equella dev list to have an item added)
  • Discuss code enhancements since last CDM
  • Review tech choices, code structures, direction
  • Any tech debt concerns
  • Open PRs to discuss
  • Q&A
  • Assign next Chair and Scribe

Specific Topics

  • Alignment on Google Optional vs java.util.Optional (CB)
  • Alignment on Cache vs ReplicatedCache (CB)
  • Alignment on a consistent {your domain goes here} link in the docs, that can be added to the allow list for link checking to make the valid/broken link checker happy (CM / CB)
  • Plan for releases in 2021 (IS)
  • Travis woes due to billing changes - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing (IS)
  • Please add more

Minutes

Action items review

  • CB - Request Apereo give an answer to moodle copywright questions

Done - We have a response from Ian Dolphin, there is now a plan moving forward.

  • IS: decouple the frontend and the Rest API from the backend into NPM modules

The rest API side of this is ongoing. Ian is doing some tech debt to start the year - pushing axios logic into the rest module. There will be a few left in the frontend, where it integrates with legacy AJAX code. But once that gets pulled out the rest module will be entirely pulled out

  • Research governance and committership tools similar to unifiedJS for OEQ

Waiting on the advisory board for this.

  • IS: Add Autotest License headers

No movement on that this month.

  • IS: Setup Issue to flag move to upgrade to current Java LTS in the future (tech debt)

No movement on that this month.

Specific Topics

  • Alignment on Google Optional vs java.util.Optional (CB)

CB has noticed that there are two Optional classes both in use in oEQ and was curious as to whether this should be aligned to use just one. IS points out that this is a legacy thing - Java used to not include an Optional and so the Google one was used, but now it would be a good idea to move towards the Java one.

  • Alignment on Cache vs ReplicatedCache (CB)

CB experienced this when working on Bb integration, both of these are used. The main difference is that replicatedCache goes across multiple nodes. ReplicatedCache is used when things are stateless, eg session data. IS has not yet looked at that closely. This is mainly something to think about in further implementation. Initially, IS point out, openEQUELLA used to be a single node application and multi-node support was added over time, and theorises that because of this potentially the original Cache would have been used in legacy code.

  • Alignment on a consistent {your domain goes here} link in the docs, that can be added to the allow list for link checking to make the valid/broken link checker happy (CM / CB)

On the documentation side, there is a checker that makes sure links are happy, a challenge is that when using example openEQUELLA links, these are flagged as Bad URLs. We would need to align on this so we can omit this specific URL from url validation. Its not just a domain, but an institution URL, and so if it is in the format {instURL} that might be of good value, otherwise we could simply use whichever is more common and align that. CB points out that it might be good to have one for {serverAdmin URL} too.

ACTION ITEM: CB Review links in documentation for alignment and omitting from the link validation

  • Plan for releases in 2021 (IS)

This year we aim to do a first, short release (around march/april) and then the major release for the year around October November so that there is less stress and rushing towards the end of release. The goal is to finish off the new Search UI such as gallery search and filtering by MIME types, favouriting items and searches, and address some tech debt in 2021.1 and unification of the new UI on 2021.2. Theres a lot of work to be done for 2021.2, such as contribution wizards, advanced searches, display templates. At the moment when in the new UI if you go to Advanced or remote search it goes to the legacy search. One thing that we haven't discussed in the new UI is the server administration - that will probably follow into 2022.

From the Unicon side, there is no planned project as of yet - talks about file security improvements but nothing set in stone just yet.

This came up this week - Penghai merged in a pull request and the build failed. This was because the calendar control test was using 50 years before the current date to work. Then we needed to update all the legacy branches to point to the pre-2020.2-support Kaltura branch. And then Travis CI told us that we had run out of credits so builds couldn't pass. Turned out that Travis has changed their billing support so that open source builds are now on the "free" plan and only gives you 10000 minutes which is not enough for openEQUELLA building generally as our builds can take hours. Long term the plan is to move towards GHA but we have plenty of builds still reliant on Travis. Christian Murphy is moving away from Travis in favour of GHA in another open source project for the same reason. The problem he came across is that it's a little harder to get Oracle Java 8 working than in Travis, but it has much more generous resources. One good thing is that you can used sdkman from GHA. Thankfully, Oracle is not needed in currently supported version of openEQUELLA.

ACTION ITEM: Raise an issue with a branch checklist for moving away from Travis CI - focusing on branches that perform end-to-end test.

Discuss code enhancements since last CDM

Review tech choices, code structures, direction

Penghai is continuing to remove Purescript from openEQUELLA and it's almost finished - in coming weeks we should be able to completely remove the package from the core product. The remaining area that this gets used is the testing IntegTester.

Any tech debt concerns

Nothing this month.

Open PRs to discuss

  • Stop double renders when moving from legacy content to new UI

Ian has been taking steps to restructure this and it is thoroughly documented in pull request #2638. He has tried to do the minimal amount of changes while keeping with React data passing idioms. Just a few little problems to iron out, thankfully the functional tests have caught potential issues.

  • Docker compose documentation changes

Ian has gone through the Docker compose openEQUELLA folder and figured out some issues, updated the documentation to ensure that the instructions work properly

  • Lock file maintenance

Roughly monthly renovate updates the lock file and creates a PR for that

  • New Major version of React

Renovate has picked up the new react version, would be good to update this to stay on the path of new framework versions.

Next Date, Chair and Scribe

Friday 5th Feb 9am Aus and Thursday 4th 5pm US. Next chair: Ian Stevenson Next scribe: Samantha Fisher