Islandora Open Meeting: April 27, 2021

We are happy to announce the date of our next Open Meeting! Join us on April 27, 2021 any time between 10:00-2:00pm EDT. The Open Meetings are drop-in style sessions where users of all levels and abilities gather to ask questions, share use cases and get updates on Islandora. There will be experienced Islandora 8 users on hand to answer questions or give demos. We would love for your to join us any time during the 4-hour window, so feel free to pop by any time!

More details about the Open Meeting, and the Zoom link to join, are in this Google doc

Registration is not required. If you would like a calendar invite as a reminder, please let us know at community@islandora.ca.

Upcoming DIG Sprint

The Islandora Documentation Interest Group is holding a sprint!

To support the upcoming release of Islandora, the DIG has planned a 2-week documentation, writing-and-updating sprint to occur as part of the release process. To prepare for that effort, we’re going to spend April 19 – 30th on an Auditing Sprint, where volunteers will review existing documentation and complete this spreadsheet, providing a solid overview of the current status of our docs so we know where to best deploy our efforts during the release. This sprint will run alongside the upcoming Pre-Release Code Sprint, so if you’re not up for coding, auditing docs is a great way to contribute during sprint season!

We are looking for volunteers to sign up to take on two sprint roles:

Auditor: Review a page of documentation and fill out a row in the spreadsheet indicating things like the current status (‘Good Enough’ or ‘Needs Work’) , the goal for that particular page (e.g., “Explain how to create an object,” or “Compare Islandora 7 concepts to Islandora 8 concepts”), and the intended audience (Beginners, developers, etc.).

Reviewer: Read through a page that has been audited and indicate if you agree with the auditor’s assessment, add additional notes or suggestions as needed; basically, give a second set of eyes on each page.

 You can sign up for the sprint here, and sign up for individual pages here.


 

Community Announcement

As you know, the Islandora Foundation has recently updated its governance structure to remain compliant with Canadian non-profit regulations. Islandora Foundation members approved these changes at the Annual General Meeting in early March. A summary of these changes is provided here, as well as our emerging roadmap for moving forward.


A newly formed “Leadership Group”, composed of representatives from our Partner-level member organizations, replaces the pre-existing Board of Directors, and a smaller Board of Directors remains responsible for Islandora’s administrative and fiscal responsibilities. This Leadership Group met for the first time on Friday, March 26th to begin to discuss their goals going forward, and the ways the Leadership Group will interact with the other governance structures of the Islandora community. The Leadership Group immediately affirmed their commitment to transparent communication and collaboration with the vibrant, robust Islandora community and will be creating a Terms of Reference over the next month. The Terms of Reference will be written with agility and transformation in mind, as we work together to secure a strong future for both the community and codebase.

In the meantime, please let us know if you have any questions regarding the formation of the Leadership Group, and stay tuned to hear more about the initial goals of this group.

Islandorans Unite! It's Release Time

It's that time again everyone!  Our amazing community contributors have made all sorts of improvements and upgrades to Islandora.  Some have been merged, but some are still hanging out, waiting for the love they need to make it into the code base.  We're calling on you - yes you! - to help us get things merged, tested, documented, and released to the world.

I would like to kick off this release cycle with a sprint to mop up some the amazing improvements that have unmerged pull requests.  Did you know that we have pull requests for an advanced search module and a basic batch ingest form just lounging around?  And that's not all.  There are all kinds of great improvements that just need some time and attention. A little code review and some basic testing by others are all that is needed before we freeze the code and start turning the crank on the release process.

Here's a rough timetable for the release:

  • April 19 - 30th: Code Sprint
  • May 3rd: Code Freeze
  • May 3rd - 14th: Testing, bug fixing, responding to feedback
  • May 17th - 28th: Documentation sprint
  • May 31st - June 18th: More testing, bug fixing, and responding to feedback
  • June 21st - July 2nd: Testing sprint
  • Release!

This is, of course, an optimistic plan.  If major issues are discovered we will take the time to address them which can affect the timeline.  I also plan on liaising with the Documentation Interest Group and folks from the Users' Call / Open Meetings for the documentation and testing sprints, and their availabilities may nudge things a week in either direction.

An open and transparent release process is one of the hallmarks of our amazing community. If you or your organization have any interest in helping out, please feel free to reach out or sign up for any of the upcoming sprints.  There are plenty of opportunities to contribute regardless of your skill set or level of experience with Islandora.  There's something for everyone!

We'll make further announcements for the other sprints, but you can sign up for the code sprint now using our sign up sheet.  Hope to see you there!

 

Islandora Open Meeting: March 30, 2021

We will be holding our next Open Meeting on Tuesday, March 30 from 10:00 AM to 2:00 PM Eastern. Full details, and the Zoom link to join, are in this Google doc. The meeting is drop-in and will be free form, with experienced Islandora 8 users on hand to answer questions or give demos on request. We would love for your to join us any time during the 4-hour window, so feel free to pop by any time.

Registration is not required. If you would like a calendar invite as a reminder, please let us know at community@islandora.ca.

ISLE: Now with Islandora 8

The Islandora Foundation is pleased to announce that ISLE for Islandora 8 has gone alpha and is now available!

What is ISLE?

ISLE (short for ISLandora Enterprise), is "Dockerized" Islandora, and seeks to create community managed infrastructure, streamlining the installation and maintenance of an Islandora repository.  With ISLE, the bulk of your repository's infrastructure is managed for you, and updates are as easy as pulling in new Docker images.  System administrators are only responsible for maintaining and updating their Drupal site, and can rely on ISLE to handle Fedora, Solr, the triplestore, and all the other services we use to run a digital repository.

The project began as a Mellon grant funded initiative by the Islandora Collaboration Group back in 2017 for Islandora 7. Then in January 2020, the ICG, Born Digital, Lyrasis, CWRC, and the Islandora Foundation got together and started working on a version for Islandora 8.  This version would be a full community project, worked on in the open and residing in the Islandora-Devops Github organization.

What are the benefits of using ISLE?

On top of being easier to install, run, and update, there are many awesome reasons to use ISLE for running Islandora.  First and foremost: speed. Simply put, ISLE is fast! Installation time is simply the amount of time it takes to download the images from Dockerhub.  For those who are building the images themselves, ISLE takes advantage of Docker's buildkit feature for blazing fast builds.  A complete rebuild of the entire stack consistently takes less than ten minutes on my laptop.  And for small tweaks to the environment, builds often take seconds to make a change. Compared to our Ansible playbook, which usually takes around 45 minutes for me, this is a significant boost to productivity when testing/deploying changes!

Because it's so quick, it lends itself well to automation using CI/CD tools like Github Actions and Gitlab. The Islandora Foundation is "dogfooding" with ISLE, putting it at the center of its deployment strategy for future.islandora.ca and release testing.

ISLE is also cross-platform. It is the first and only community supported way to run Islandora on a Windows machine. Any Windows computer with WSL2 can build and run ISLE.  ISLE also supports ARM builds, and can be run on cheaper cloud resources, newer Macs with M1 chips, and even (theoretically) Raspberry Pis.

How can I get ISLE?

Docker images for Islandora 8 are automatically pushed to Dockerhub and are available here. If you want to run them using docker-compose, you can use isle-dc to build yourself a sandbox or a local development environment. 

Upcoming Sprint: Metadata

Our very own Metadata Interest Group is running a sprint from March 8th to the 19th, and everyone's invited to participate.  We'll be auditing the default metadata fields that we ship with and comparing them to the excellent metadata profile the MIG has worked so hard to create for us. The goal of the sprint is just to find out where the gaps are so we know the full scope of work needed to implement their recommendations.  If you can navigate the Drupal fields UI (or just want to learn!), contributing is easy and would be super helpful to us. NO PROGRAMMING REQUIRED. And if you don't have an Islandora 8 instance to work on (or are having a hard time installing one), we're making a fresh sandbox just for the sprint. Also, Islandora Foundation staff (a.k.a. me) and representatives from the MIG will be on hand to help out and answer any questions you may have.

You can sign up for the sprint here, and choose a metadata field to audit in this spreadsheet.  As always, commit to as much or as little as you like.  It only takes a couple minutes to check out a field and its settings to see if they line up with the recommendations. If we get enough folks to sign up, then many hands will make light work of this task!

This is yet another sign of the strength of our awesome community.  An interest group is taking it upon themselves to run a sprint to help achieve their goals, and the Islandora Foundation couldn't be happier to help. If you're a member of an interest group and want help engaging the community to make your goals happen, please feel free to reach out on Slack or email me (dlamb@islandora.ca).

Islandora Open Meeting: February 23, 2021

We will be holding another open drop-in session on Tuesday, February 23 from 10:00 AM to 2:00 PM Eastern. Full details, and the Zoom link to join, are in this Google doc. The meeting is free form, with experienced Islandora 8 users on hand to answer questions or give demos on request. Please drop in at any time during the four-hour window.

Registration is not required. If you would like a calendar invite as a reminder, please let us know at community@islandora.ca.

Islandora Open Meeting: January 28, 2021

We will be holding another open drop-in session on January 28th from 10:00 AM to 2:00 PM Eastern. Full details, and the Zoom link to join, are in this Google doc. The meeting is free form, with experienced Islandora 8 users on hand to answer questions or give demos on request. Please drop in at any time during the four-hour window.

Registration is not required. If you would like a calendar invite as a reminder, please let us know at community@islandora.ca.

Drupal 9: We Did It.

Just before the holiday break, a brave handful of devs adventured through terrifying dependency chains and deprecations to bring Islandora on Drupal 9 to us all. There were many twists, turns, and bumps in the road, but in the end, they pulled it off. Islandora is now compatible with both Drupal 8 and 9! In fact, as an outcome of this sprint, keep.lib.asu.edu is now running on Drupal 9 in the wild.  Oh, and did we mention that it's kind of a multi-site? Maybe it's not exactly what a multi-site was in 7.x, but prism.lib.asu.edu is running happily alongside.

Moving Islandora to Drupal 9 is a significant accomplishment for a small crew of volunteer developers just before the holidays. In particular, it was a lot of work to thread the needle and keep support for 8 while unlocking 9. Not to mention all the testing that had to be done.  And as an added bonus, everyone's favourite CI platform, Travis, made a guest appearance just to keep things interesting. Many thanks to everyone who powered through and brought this over the finish line. 

In order to support both 8 and 9 concurrently, there's a few things you'll need to be ready for when this code is eventually released.

  • To use Composer 2 with Drupal 8, you need PHP 7.3+.
  • You can no longer install/maintain the drupal console using Composer 2. But you can totally install it via other means.
  • For Drupal 9, you need PHP 7.4+. This is due to a dependency requiring PHP 7.4 in Drupal 9.
  • We had to leave behind some modules for Drupal 9 compatibility.  You'll need to uninstall and remove these modules from your site if you want Drupal 9:
    • hook_post_action
    • libraries
    • name
    • permissions_by_term

As for how you can get this code, it's available right now on all 8.x-1.x branches of our modules in Github.  For the less adventurous out there, this code will be included in the next release.  Which means we have to tackle documenting/demystifying the update process.  And given the size of the changes required for Drupal 9, it feels like it's about time we start formally providing changelogs.  The changes aren't unreasonable, but they are significant enough that we wouldn't want anyone to be caught by surprise.

Also, now that we support two versions of Drupal at the same time, what do we call this?  Islandora 8 using Drupal 9?  Islandora 9?  Dare I say just Islandora? That might seem like a silly question, but it has implications that we as a community need to consider. Besides, we all know that naming is the hardest part of programming ;)

As always, there are so many people to thank for continuously improving Islandora. This software keeps getting better because awesome people give their time and talent to help make it the best it can be. Thank you to everyone who took part in this sprint:

  • Daniel Aitken - discoverygarden
  • Jordan Dukart - discoverygarden
  • Nick Ruest - York University
  • Seth Shaw - University of Nevada, Las Vegas
  • Alan Stanley - Agile Humanities
  • Jared Whiklo - University of Manitoba
  • Eli Zoller - Arizona State University

Be sure to thank one of these fine people next time you bump into them in zoom or slack.  And we'll be doing more sprints soon.  Details to come.