Skip to content
Mark Jordan edited this page Apr 26, 2018 · 12 revisions

Time/Place

This meeting will be held via Zoom. Anyone is welcome to join. Here is the info:

  • Time: 1:00pm Eastern Daylight Time US (UTC-4)
  • https://zoom.us/j/980449742 (use Zoom audio, not Free Conf Call)
  • IRC:
    • Join the #islandora chat room via Freenode Web IRC (enter a unique nick)
    • Or point your IRC client to #islandora on irc.freenode.net

Attendees

  • Marcus Barnes
  • Mark Jordan
  • Daniel Lamb
  • Natkeeran
  • Andrija
  • Jared Whiklo
  • Jonathan Green
  • Rosie LeFaive
  • Yamil Suarez
  • Seth Shaw

Agenda

  1. Doing it live - CLAW Content Modeling Demo
  2. ... (feel free to add agenda items)

Minutes

Danny demoed an approach to content modeling that defines a single Drupal content type (e.g. "repository item") for all Islandora nodes, and uses taxonomy tags to define attributes like whether the node is a "video" or an "image". Additionally, media can have tags to define whether they are "service copy", "thumbnail", or "preservation master". Combinations of tags trigger specific workflows and determine which derivatives get generated. Descriptive metadata is stored in node fields in this content type. This content type can be any bundle or content type that has a 'pcdm:memberOf' property and a field for tags.

Sooo... the equivalent in CLAW of 7.x's "content models" are just combinations of tags. It's really that simple.

He demoed taxonomy terms he imported using Migrate, e.g. Image, Binay, Auido, Collection, Preservation master (many from the PCDM ontology). These all have public URIs. These URIs are the internal IDs for the taxonomy terms - linked data across Drupal instances!

This simplfication of content modeling means that a lot of the stuff we've built already is no longer needed or has changed, so he is going to open a set of PRs to clean up the existing code.

Media is now in core (as of Drupal 8.5). This, combined with the simplified content modeling, means that we get PDF, audio, video, and binary content as standard Drupal features. However, we still need to complete the derivative creation services we want.

Rendering of media can embedded as a View. Using Views within Display Modes is a common pattern in D8. This View encodes logic for filtering what gets rendered (relationships, filters on mimetype, etc.).

Drupal Features are also much simpler in 8 than in 7, and will let us manage configuration across instances much better.

Some other live demos we saw today:

  • He demoed how a node tagged as a "Collection" can trigger a Context reaction that shows a block listing all the collection's members. Tags and Context FTW!
  • He added a member collection. Then added an image (node tagged as "Image") to that. Added a binary file and tagged it as a "Preservation master". Because it was tagged as preservatuion master, all derivatives were generated.
  • Derivatives: Danny has created an action to generate images derivatives. This action (and others like it) can be run from within a Context reaction, within a Views Bulk Operation, or on its own.
  • He demoed how adding an "Open Seadragon" tag to a TIFF, which automatically changed its viewer. This is done via a Context. Showed how retagging it as Binary changed the rendering to just show the link to the file.

Some comments:

  • Couple implications of relying heavily on taxonomies
    • We need to figure out how to make Context manage competing tags through weight, etc.
    • We need to think about how to "group" taxonomies along functional lines, e.g., for access control, for workflow/derivative creation, for contextual behaviors in display, forms, etc.
  • Jared: Danny, this is scarily close to competing with 7.x. Danny: Yes, but we're not generating derivatives or extracting text.
  • Conversations we need to have: how content gets flushed out to Fedora; how we group our tags by function (access control, 'type', etc.). How we model tags in RDF and in Fedora (EDM hasType, etc).
  • Migrate Plus will be an important tool for in taking advantage of this tag-based content modeling, since it can populate taxonomies easily.

Edit April 26: I've created a graphical representation of the model described above:

CLAW content modeling

This is an archive. For new Tech Call notes, click here

⚠️ ARCHIVED Islandora Tech Calls

⚠️ ARCHIVED Islandora User Calls

Clone this wiki locally