Skip to content

Instantly share code, notes, and snippets.

@rosiel
Last active September 27, 2022 15:43
Show Gist options
  • Save rosiel/22e4cef7760a0b34abf89f3007aa1ccd to your computer and use it in GitHub Desktop.
Save rosiel/22e4cef7760a0b34abf89f3007aa1ccd to your computer and use it in GitHub Desktop.
Update on the Modularization project for Islandora Open Meeting 2022-09-27

Islandora Modularization Project (IMP) Update, Sept 27 2022

From the Contract between DGI and the IF:

The intended benefit is to make Islandora smaller and easier to install, increase flexibility of features (including optional scaling), increase the spread of modules with the broader Drupal community and thereby get more interest and help in modules maintenance, simplify testing and maintenance, simplify dependencies, and improve feature definition and documentation.

The IF agreed for DGI to work on two elements from the "Phase 1" of the modularization project. These are:

  • Change Defaults to a Starter Site (nearly completed)
  • Scope out the work in Phase 2.

Details of progress:

Starter Site ("Change Defaults from a Drupal Feature to an exported site")

In progress (almost complete). The main work is done, including integration with the Playbook and ISLE. Completion will not be declared until the documentation is all updated, and there are easy instructions for current sites to remove Islandora Defaults. At that point Defaults can be deprecated.

Outside of the scope of the contract, I (Rosie) will then work with the community toward:

  • adding more features to the starter site, in general and toward feature parity with Install Profile (not necessarily complete parity). Kirsta and Nigel and I are planning to switch the Sandbox to use the Starter Site.
  • making a clear and do-able process for interest groups/individuals to create contributions to the starter site, and for those contributions to be reviewed and accepted by the community.

Goal: Starter Site is a community-managed Drupal site that showcases Islandora and meets as many needs defined by the community as is reasonable. While feature-rich, it will be possible for implementers to remove features if not needed.

Scoping Out Phase 2

Just started work. We are beginning with the "change the node-media direction" goal. From this contract, the work on Phase 2 will not end up with workable features in the site, but will create a (tentative) plan for implentation, evaluation of the risks and benefits, and assessment of the difficulty for current sites to change to use these new methods.

This work (the IMP1 contract) will result in a scoping document/plan, but does not include the implentation. The phase 2 items will therefore be candidates for further funding/fundraising.

Phase 2 items are:

  • change the node-media direction
  • relate derivatives to each other
  • able to generate derivatives locally
  • designing metadata possibilities that allow for many use cases
  • extract the features (lower-case) bundled together in the islandora module
    • collections with optional ordering
    • derivatives
    • transcript-ready audio/video viewers
    • fedora storage of binaries
    • fedora sync of metadata
  • refactor the documentation [in process]
  • move our modules to drupal.org

"Phase 1" elements not covered by the DGI contract

Some of the items originally listed under "Phase 1" have had progress through work in the community:

Mirador as a standalone module

Module has been created in the Islandora repository, thanks to @alxp. Mirador (the submodule) has not removed from Defaults yet but will be shortly.

The method to update will be something like:

composer require "islandora/mirador:^2"
drush cr
sudo systemctl restart apache2.service   # (this will clear php's cached idea of file locations)

This will force an update to the version of Defaults (yet to be released) that does not include Mirador.

  • Update documentation: todo
  • Update starter site: todo

IIIF as a standalone module

IIIF Is an Islandora submodule, so is less urgent to "modularize" than Mirador, which was part of Defaults.

  • Review UTSC's work: todo
  • Create new module in Islandora github repo: todo
  • Update documentation: todo
  • Update starter site: todo

Advanced Search as a Drupal Module

  • Review UTSC's work: todo
  • Create new module under Islandora: todo
  • Update documentation: todo
  • Update starter site: todo

Views Nested Details as an Islandora module

  • Review UTSC's work: in progress (UPEI)
  • Review Entity Reference Hierarchy: todo
  • Add documentation: todo
  • Update starter site: todo

Deprecate the install profile and themes

  • Under review - do we need to?

Change the Viewer mechanism

  • Proof of concept: done
  • Implementation in starter site: todo

Create a DC Content type

  • Documentation as a metadata profile: todo
  • Implementation in Install Profile: todo
  • Documentation updates (heavy!): todo

Questions?

Rosie Le Faive on Slack

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment