I used these slides as part of a "Digital Dialogues" presentation at University of Maryland's Institute for Technology in the Humanities: "Community, Cohesion, and Commitment: Developing and Deploying Open Source Tools in the UVa Online Library Environment"...more info at http://bit.ly/ffTmFH
1. Community, Cohesion, and Commitment: Developing and Deploying Open Source Tools in the UVa Online Library Environment Julie Meloni, University of Virginia MITH Digital Dialogue // 22 Feb 2011 jcmeloni@virginia.edu // @jcmeloni
2. The Hydra Project Collaborative effort between University of Virginia, Stanford University, University of Hull, Fedora Commons/DuraSpace, and MediaShelf. Working group created in 2008 to fill a need to develop an end-to-end, flexible, extensible, workflow-driven, Fedora application kit. Technical Framework Community Framework No direct funding of the Hydra Project itself.
3. Hydra Project Assumption #1 no single application can meet the full range of digital asset management needs, but there are shared primitive functions: Depositsimple or multipart objects, singly or in bulk Manage object’s content, metadata, and permissions Search both full text and fielded search in support of user discovery and administration Browseobjects sequentially by collection, attribute, or ad-hoc filtering Delivery of objects for viewing, downloading, and dissemination through user and machine interfaces
4. Hydra Project Response One body, many heads. Hydra is designed to support tailored applications and workflows for different content types, contexts, and interactions by building from: a common repository infrastructure, flexible, atomic data models, and modular services and configurable components
5. Hydra Technical Framework Fedoraas repository layer for persisting and managing digital objects. An abstraction layer sits between Fedora and the Hydra heads, keeping the institution and its applications safe from changes in the repository structure ActiveFedorais a Ruby gem for creating and managing objects in Fedora Solr indexes provide fast access to information Blacklight for faceted searching, browsing and tailored views on objects The Hydra plugin itself: a Ruby on Rails library that works with ActiveFedora to provide create, update and delete actions against objects in the repository A suite of web-based services, supporting granular actions against content to support their management, access and preservation Hydrangea, a web application that bundles components and hooks to web services into a single package to support various content management actions Partners and other developers use Hydrangea as a reference implementation to begin their own internal projects.
6. Hydra Project Assumption #2 no single institution or provider can resource the development or maintenance of a full set of solutions for the same needs. Problems with proprietary software include expense in terms of licensing, hardware, maintenance, potential vendor lock-in Problems with open source software include expense of human resources, and lack of vendor support causes a reliance on internal resources and community that may have different goals than your own.
7. Hydra Project Response “If you want to go fast, go alone. If you want to go far, go together.” Hydra Steering Group Collaborative roadmapping, resource allocation and coordination, governance of the technology core Hydra Managers Shape and fund work, commission “heads”, create functional requirements and specifications, UI/UX design, documentation, training, evangelism Hydra Developers Define technical architecture, commit code, integration and release, testing, testing, testing.
8. Hydra Community Framework Conceived and executed as a collaborative, open source effort from the start An open architecture, with many contributors to the core Collaboratively built “solution bundles” that can be adapted and modified to suit local needs Hydra heads as reference implementations Ultimate objective of the Hydra Project is to effectively intertwine its technical and community threads of development, producing a community-sourced, sustainable application framework.
9. Open Source in Practice Blacklight is an open source discovery interface that can be used as a front end for a digital repository, or as a single-search interface to aggregate digital content that would otherwise be siloed. Developed originally within the Scholars’ Lab and UVa Library as a skunkworks project; is now an integral part of the Hydra framework customizable and removable for ultimate flexibility many core developers part of the Hydra Project (Bess Sadler, now at Stanford, Bob Haschert at UVa, etc) Continued development by a core group of committers governed by developer norms.
12. Hydra Head Implementation Hydrangea: not a turnkey IR solution, but a framework for depositing, managing, searching, browsing, and delivering digital content (and preserving the scholarly record). Electronic Theses & Dissertations Journal Pre-prints Scientific Datasets Scanned Archival Manuscripts Development on Hydrangea core, but also branches: Hydrus: the Stanford implementation Hydra at Hull: the University of Hull implementation Libra: the UVa implementation
17. HYPATIA HYdra Platform for Access to Information in Archives A Hydra head that enables processing, arrangement, description and access for born digital archival materials. Built in association with the Mellon AIMS Grant (with UVa, Hull, Stanford & Yale as partners). Functional specifications mapped by content experts Discussion within Hydra Steering Resource allocation among partners Development and continuous integration from the community Win!
18. Community, Cohesion, & Commitment Given access to a vibrant community of developers and end users, plus A desire to work together when offered workflows and the opportunity to effect change, with a goal of completing Projects and commitments already made, leveraging lessons learned and continuing to move forward, then… all of this runs on love.
19. Possible Discussion Questions Seriously? It runs on love? (Yes, seriously.) Balancing commitments to library applications in production with those in development, plus responsibilities to the community Team demographics Skills required, ongoing training, developer assumptions More?