1 18 2021 Tech Team Report - QualitativeDataRepository/TechnicalTeam GitHub Wiki

1-18-2021

Logged Tasks

                            Date             Task Hours (Main) Hours (EOLS) Hours (PII)
11-Jan-2021 Report, meeting, investigate forgot mail loop 2
12-Jan-2021 Forgot-password loop debug, fixes, deploy to dev, stage 4
15-Jan-2021 Anno-REP - setup eclipse/maven/github project, investigate picocli, create/refactor Dataset retrieval classes, test with CLI 8
16-Jan-2021 Add subcommand for file list, investigate dataset create, file upload options 2

Summary

Drupal

  • Fixed several related issues involved in the 'forgot password loop' bug - the root cause is that resetting your password creates a local D8 session without any Shibboleth credentials.
    • In D7, we forced a logout after reset to assure a good SSO session for further work, but this silently broke due to D8 changes.
    • Our security fix to always destroy the session (and its cookie) at login/logout also broke the ability to send a success message after a reset.
    • In circumstances like this with only a local D8 session (also true in some server restart scenarios, and possibly from timeouts due to inactivity), logout would not work. While fixing the issue above should avoid this for password resets going forward, I also changed logout to check for/remove a local session if there is no matching Shibboleth session.

AnnoRep:

  • Started building a set of Java classes to interact with the Dataverse Dataset and File APIs. First commands include getting Dataset metadata and file lists (per folder tree), file metadata
  • Wrapped the classes using the picocli library to provide a simple command-line interface (CLI) for demo/testing (possibly for real use as well)
  • Added in-memory and on-disk (for the CLI) caching and switched to using a cached HTTP connection
  • Decided to start by using the new 'semantic API' that was developed as part of RDA work - it essentially mirrors the metadata layout in the ORE map in Bag files rather than using the more complex internal json format for metadata. (This work is currently a PR and requires Java 11. Dataverse plans to adopt Java 11 soon, so this should be an OK choice. If not, making changes to use the existing/older API calls should be straight-forward.)

##Discussion

  • AnnoRep doc/initial implementation

Plans

  • 5.3 test/fix as issues are found
  • AnnoRep planning/work

Still TBD:

  • Drupal 9/composer 2/3