RIRI Year Two Redux
Posted on 25. Jul, 2009 by matt in Design, Explanations, Fedora, Matt's Adventures and Musings
This week the University of Prince Edward Island hosted the second installment of Red Island Repository Institute (RIRI). Participants came from North America and Europe to get a week-long intensive immersion in all things Fedora. The institute is organized by Mark Leggott and the team at UPEI who created Islandora, a plugin that integrates Fedora into Drupal. Thorny Staples (Product Director for Fedora Commons), Chris Wilper (Technical Lead for Fedora Commons), and I were the primary instructors.
Due to budget cuts across the board, there were less people in attendance at RIRI this year. Over the next few years, broad community collaboration is certain to involve much more remote interaction online and less face-to-face exchange at large conferences. I have a hunch that this will actually be beneficial for the growth of technical communities as long as it doesn’t last too long or become too restrictive. After all, there is something potent about the ethos of Less Talk, More Code. In the meantime, those of us who were able to make it to PEI had a really productive week.
Though structured as an intensive week-long training exercise, RIRI has taken on an element of information exchange between all of the participants. The predominant flow of information was, as you would expect, from the three instructors to the 15 attendees, but I think that Thorny and Chris will agree with me that we have all picked up some good information and ideas along the way. If anything, the institute has started to migrate in the direction of that quasi-mythical ideal conference where you get the conference-type info about who is doing what in your field while also getting your hands dirty with workshops and in-depth detail and discussion of how they are doing it and how you might build on their efforts.
Learning Curve
Those of us who were attending RIRI for the second time were of the consensus that this year had a much more gratifying learning curve with a sufficient continuity carrying through all five days. This was predominantly thanks to how much Islandora and ActiveFedora have matured in the past twelve months. We had everyone up and running, writing and running code against Fedora, in the multiple hands-on sessions through the week.
In contrast with last year, where we spent quite a bit of time on installing and configuring Fedora, this year we were able to use a VirtualBox that the Islandora team set up. The VirtualBox has a debian image with Fedora, Islandora and Drupal pre-installed. On Tuesday I installed Ruby, ActiveFedora and Solr on there too. By Wednesday, we were able to pass around a couple of USB sticks and have everyone running identical development environments for the hands-on sessions.
I’m sure we will soon post the VirtualBox image for anyone to download. Next year, everyone will probably have it running on their laptops before they even arrive on the Island.
Islandora
The Islandora team at UPEI have been very busy setting up Fedora-based Virtual Research Environments for the variety of scholars at their University. It seems that once they had hammered out the module that integrates Fedora into Drupal, they fearlessly dove into spinning off deployments for numerous disciplines and projects. I was thoroughly impressed by how many VREs they have set up, the diversity of content they are collecting, and the range of tools that they are setting up to manage, display, and operate on that content. Four years ago, I looked at Fedora and saw a tidal wave of potential uses behind it. That wave has finally begun to break and it is as exciting as we had imagined.
ActiveFedora
We used ActiveFedora as the basis for the hands-on sections of the institute. On Wednesday we basically ran through the console tour that you can find on the ActiveFedora project site. In the developer breakout on Thursday, we defined some ActiveFedora models in a rails app, created some Fedora objects based on those models, and explored their RDF relationships.
“That really makes sense.” seemed like the main response to ActiveFedora. I can’t think of a better confirmation that designing the Domain Specific Language (DSL) for ActiveFedora’s models was worth it.
As part of the workshops, I also ran through the improvements I have planned for ActiveFedora version 1.1.
Hydra
Thorny gave a really great presentation on the background, goals, and status of the Hydra project. Hydra and Islandora stand as wonderful complements to each other. Islandora, written in PHP, takes Drupal as the starting point from which it reaches into the wide open space of a Fedora repository. Hydra takes nearly the opposite approach. Hydra does not assume an overarching system as its operating context. Instead it builds outwards from ActiveFedora, which in turn builds upon Fedora’s internal flexibilities and strengths. Where Islandora functions as a component that you plug into Drupal, Hydra apps are free-standing solutions that in turn rely on a core whose functionality can be integrated into potentially any system. One is a stalactite, the other is a stalagmite. Both have grown naturally out of real-world needs.
FeSL
Projects seeking to adopt Fedora right now have great options before them. Different technologies will suit different projects while the overall vision and best practices pollinate across solutions. The best example of this cross pollination is the FeSL Project, which Islandora and Hydra are both participating in along with MediaShelf and DuraSpace. This effort will result in a complete replacement of Fedora’s security implementation so that it can be used more effectively and more flexibly by any of the client applications we write — Hydra, ActiveFedora, Islandora, Muradora, or otherwise. We are still seeking additional community funding for FeSL. For more info, see the Fedora Enhanced Security Layer page on the Fedora wiki.
Workflow
One of the more exciting themes for me this year was workflow for Fedora Repositories. I’ve been actively interested in the topic since Richard Green and Chris Awre presented RepoMMan at OpenRepositories in 2007. Despite my interest, I have tread softly in that realm because the topic, and particularly technologies like BPEL, have always seemed dangerously askew from the actual problem(s) at hand. I’ve always felt that we were framing the entire problem incorrectly. In the past nine months, that exact line of thinking has come to a head, leading people like the Hydra project (including the former RepoMMan team) to explore a variety of approaches. This resulted in a well-received presentation at OpenRepositories this year in Atlanta, which Thorny presented again for the RIRI participants this week.
The topic of workflow finally congealed for me in an actionable way here at RIRI when Mark Leggott started talking about supporting Taverna in the Islandora VREs. Taverna is one of a handful of “workflow engines” designed to allow scientists to chain together batches of computational operations that they want to perform on data in their labs. From an architectural perspective, Taverna isn’t all that different from BPEL tools. The difference is that Taverna and its ilk are designed with the assumption that the scientist who owns the data will create the workflows. Consider this in contrast to the idea of a developer or repository manager creating workflows on behalf of the end users. This simple assumption, that workflows will be constructed and run by the people who own/create the underlying content, leads the technology down a very different path of development. Until now, we have mostly thought of workflows as services that a repository provides for end users. It’s time for us to flip that around and instead think of ways to expose repositories and their supporting services as nodes that end users can tie into their own workflows as they see fit. This approach has the ring of good engineering. It’s a simpler, loosely-coupled, user-centric solution to the problem. It has the additional benefit of putting the repository engineer alongside the content owner/creator while they both create and share workflows to perform their corresponding tasks.
Solutions Integration Community
RIRI has also brought focus back onto the utility of the Solutions Integration Community that we have been gradually building this past year. I’ve now set up a fedora-solutions google group. Join up if you want to be a part of the stuff described on the solutions integration community page on the Fedora wiki.
A Great Year to Come
Over the next 12 months we are going to see a brilliant array of advances around Fedora Repositories. MediaShelf will certainly touch many parts of those advances. We’re here to help you make your mark in this space, and we’re here to make Fedora work for your users. Contact us if you want to put MediaShelf to work on your repository efforts.