the atonement v2: islandora and fedora 4; and fedora 4; the atonement...better drupal experience...
TRANSCRIPT
![Page 1: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/1.jpg)
Islandora and Fedora 4; The Atonement v2:
The Atonerment
![Page 2: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/2.jpg)
Project history and background
![Page 3: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/3.jpg)
![Page 4: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/4.jpg)
Fedora 4 Interest Group
![Page 5: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/5.jpg)
![Page 6: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/6.jpg)
Thank you to our sponsors:
![Page 7: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/7.jpg)
Atonement
![Page 8: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/8.jpg)
One Repo to rule them all, One Repo to find them,One Repo to bring them all and in the darkness bind them
![Page 9: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/9.jpg)
github.com/Islandora-Labs/islandora
![Page 10: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/10.jpg)
Documentation
![Page 13: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/13.jpg)
Contributinghttp://islandora-labs.github.io/islandora/contributing/contributing
![Page 14: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/14.jpg)
“All contributions are welcome: use-cases,
documentation, code, patches, bug reports, feature requests, etc. You do not need to be a programmer to speak up!”
![Page 16: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/16.jpg)
![Page 17: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/17.jpg)
![Page 18: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/18.jpg)
vagrant up
![Page 19: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/19.jpg)
![Page 20: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/20.jpg)
PCDMFedora, Hydra, Islandora… Repository
communities unite!
![Page 21: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/21.jpg)
![Page 22: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/22.jpg)
WebAccessControl...nobody loves XACML
![Page 23: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/23.jpg)
Upgration!How are we going to get there?
...or portmanteaus are awesome!
![Page 24: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/24.jpg)
York UniversitySolution Packs:
Collection, Audio, Book, Compound, Large Image, Video, Web Archive
![Page 25: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/25.jpg)
![Page 26: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/26.jpg)
Property Mappings
![Page 27: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/27.jpg)
fcrepo3->fcrepo4Object properties
![Page 28: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/28.jpg)
![Page 29: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/29.jpg)
fcrepo3->fcrepo4Datastream properties
![Page 30: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/30.jpg)
![Page 31: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/31.jpg)
fcrepo3->fcrepo4RELS-EXT/RELS-INT
![Page 32: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/32.jpg)
![Page 33: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/33.jpg)
Islandora Ontologyhttp://islandora.ca/ontology/relsext/#http://islandora.ca/ontology/relsint/#
![Page 34: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/34.jpg)
Islandora Ontologyhttps://github.com/Islandora-Labs/islandora_ontology
![Page 35: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/35.jpg)
fcrepo3->fcrepo4auditTrail
![Page 36: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/36.jpg)
![Page 37: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/37.jpg)
migration-utilshttps://github.com/fcrepo4-labs/migration-utils
![Page 38: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/38.jpg)
7.x-2.x
![Page 39: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/39.jpg)
Design Goals
● Utilize Fedora 4 to its fullest● Easier to install● Easier to develop and contribute● Easier to use
○ Enhanced user experience○ Faster searching, display, and ingest○ Expose more control of your repository through UI
● Easier to scale
![Page 40: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/40.jpg)
How Do We Achieve These Goals?
● Installation bash scripts● Vagrant development environment ● Tight Drupal integration● Asynchronous interactions (when possible)● Transformation logic in the UI● Decoupling
○ Decoupling… Decoupling… Decoupling...
![Page 41: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/41.jpg)
And How Do We Achieve THOSE Goals?
Apache Camel
![Page 42: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/42.jpg)
Why Camel?
● Islandora is middleware!○ Camel is a framework for building middleware
■ Provides workflow-like structure for the code○ It’s already solved a lot of really hard problems
■ Message splitting, transformations, concurrent processing, error handling / redelivery…
○ Works out of the box with everything you can think of■ Filesystems, emails, web services, databases,
and now… Fedora (thanks Aaron Coburn!)
![Page 43: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/43.jpg)
What is Camel’s Role in Islandora?
● Dirty Work○ Data transformation○ Calling out to command line tools○ Interacting with other APIs
● Doing the Dirty Work Sanely○ Transactions, redelivery, dead letter channels
● Man in the Middle○ Fedora and Drupal never talk to each other
![Page 44: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/44.jpg)
What does a system with Camel at its core look like?
![Page 45: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/45.jpg)
Islandora Sync
● Event driven middleware that synchronizes Fedora resources with Drupal nodes
● Does 3 things○ Deletes things that no longer exist○ Upserts everything else
■ Transforms ld+json RDF from Fedora into Drupal node JSON and issues PUT requests.
○ Generates derivatives
![Page 46: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/46.jpg)
Islandora Services
● Micro-services invoked in response to Drupal hooks
● Wraps the Fedora 4 REST API○ Accepts data in Drupal’s formats○ Constructs PCDM-compliant resources in Fedora
■ Transforms Drupal node JSON into SPARQL Update queries
● Doesn’t wait around (lets Sync do the time consuming stuff)
![Page 47: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/47.jpg)
Islandora Commands
● Command line PHP tool● Based on Symfony components● Utilized by the Camel layer for when you
need advanced processing but don’t want to dip into Java
![Page 48: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/48.jpg)
Islandora Camel Component
● Executes Islandora Commands● Saves on lots of boilerplate● Bubbles up errors and exceptions in PHP
and throws them in Camel
![Page 49: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/49.jpg)
Benefits of This Approach
● Better Drupal Experience○ Content is Drupal nodes
■ Developers work with Drupal content, not Fedora content
■ Take full advantage of drupal hooks and theming○ UI controlled content modeling (fields)○ UI controlled display (site building)○ Views!
![Page 50: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/50.jpg)
Benefits of This Approach (Cont’d)● 3rd Party Modules
○ apachesolr○ rdfx○ services○ xml_field○ xpath_field○ field_permission○ and many many more….
![Page 51: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/51.jpg)
Benefits of This Approach (Cont’d)
● RDF / Field synchronization
● RDFA enriched output
● All exposed through Drupal UI
![Page 52: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/52.jpg)
Benefits of This Approach (Cont’d)
● XML Fields● XPath Fields● Extract metadata
from XML and map to RDF
● Also exposed through Drupal UI
![Page 53: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/53.jpg)
Benefits of This Approach (Cont’d)
![Page 54: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/54.jpg)
Benefits of This Approach (Cont’d)
● Now using drupal.org solr modules
● No more GSearch○ No more XSLTs
● Maintaining much less code
![Page 55: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/55.jpg)
Current Functionality?
![Page 56: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/56.jpg)
Next Steps
![Page 57: The Atonement v2: Islandora and Fedora 4; and Fedora 4; The Atonement...Better Drupal Experience Content is Drupal nodes Developers work with Drupal content, not Fedora content Take](https://reader033.vdocuments.us/reader033/viewer/2022051922/60103805b5091f6494690bee/html5/thumbnails/57.jpg)
Questions/Discussion