get a head on your repository
DESCRIPTION
An overview of the Hydra digital repository framework and the community that builds and maintains it. Presented at Open Repositories 2013 in Charlottetown, Prince Edward Island, Canada.TRANSCRIPT
![Page 1: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/1.jpg)
GET A HEAD ON YOUR REPOSITORY
Mark BusseyData Curation Experts
Bess SadlerStanford University Libraries
![Page 2: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/2.jpg)
What Is Hydra?
• A robust repository fronted by feature-rich, tailored applications and workflows (“heads”) ➭ One body, many heads
• Collaboratively built “solution bundles” that can be adapted and modified to suit local needs.
• A community of developers and adopters extending and enhancing the core➭ If you want to go fast, go alone. If
you want to go far, go together.
![Page 3: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/3.jpg)
Fundamental Assumption #1
No single system can provide the full range of repository-based solutions for a given institution’s needs,
…yet sustainable solutions require a common repository infrastructure.
![Page 4: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/4.jpg)
For Instance…
- Generally a single PDF
- Simple, prescribed workflow
- Streamlined UI for depositors, reviewers & readers
Digitization Workflow System
General Purpose
Institutional Repository
Simple Complex
- Potentially hundreds of files type per object
- Complex, branching workflow
- Sophisticated operator (back office) interfaces
- Heterogeneous file types
- Simple to complex objects
- One- or two-step workflow
- General purpose user interfaces
ETD Deposit System
![Page 5: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/5.jpg)
Hydra Heads: Emerging Solution Bundles
Institutional RepositoriesUniversity of Hull University of VirginiaPenn State University
ImagesNorthwestern University (Digital Image Library)
![Page 6: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/6.jpg)
Hydra Heads: Emerging Solution Bundles
Archives & Special CollectionsStanford UniversityUniversity of VirginiaRock & Roll Hall of FameDuke University Libraries
MediaIndiana UniversityNorthwestern University Rock & Roll Hall of FameWGBH
![Page 7: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/7.jpg)
Hydra Heads: Emerging Solution Bundles
Workflow Management (Digitization, Preservation)Stanford UniversityUniversity of Illinois – Urbana-ChampagneNorthwestern UniversityExhibitsNotre Dame
![Page 8: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/8.jpg)
Hydra Heads: Emerging Solution Bundles
ETDsStanford UniversityUniversity of VirginiaUniversity of HullNotre Dame
(Small) Dataeveryone…
![Page 9: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/9.jpg)
Fundamental Assumption #2
No single institution can resource the development of a full range of solutions on its own,
…yet each needs the flexibility to tailor
solutions to local demands and workflows.
![Page 10: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/10.jpg)
Hydra Philosophy -- Community• An open architecture, with many
contributors to a common core• Collaboratively built “solution
bundles” that can be adapted and modified to suit local needs
• A community of developers and adopters extending and enhancing the core
• “If you want to go fast, go alone. If you want to go far, go together.”
One body, many heads
![Page 11: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/11.jpg)
Community• Conceived & executed as a
collaborative, open source effort from the start
• Initially a joint development project between Stanford, Univ of Virginia, and Univ of Hull• Close collaboration with DuraSpace /
Partnership with MediaShelf / Data Curation Experts
• Complementary strengths and expertise
![Page 12: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/12.jpg)
Hydra Partners
OR09 OR10 OR11 OR12 OR130
2
4
6
8
10
12
14
16
18
20
OR = Open Repositories Conference
![Page 13: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/13.jpg)
UC San Diego, 2012
![Page 14: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/14.jpg)
Community Rhythms
• Daily• IRC: chat.freenode.net #projecthydra• Email list: hydra-
[email protected]• Weekly developer calls: Mondays 8:30
AM California time• Monthly partner calls: 2nd Friday of each
month• Quarterly Hydra Partner meetings
![Page 15: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/15.jpg)
Quarterly Hydra Partner Meetings
• Spring• Regional Meetings• LibDevConX at Stanford
• Summer• Project related meetings
• Fall• Learn/Share/Connect (Worldwide)
• Winter• Developer Congress & Strategic
Planning
![Page 16: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/16.jpg)
CommunityModel
![Page 17: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/17.jpg)
Managing the Community
• Founding partners have an MoU governing how the community is managed• Subsequent partners have signed up to
this MoU through a partner agreement addendum
• Requirements of Partners• Use the software• Contribute to the project• Collaborate with other partners• Commit to collectively advancing the
project and the community• Funding / payment is NOT required
![Page 18: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/18.jpg)
Hydra Partners…
…are individuals, institutions, corporations or other groups that have committed to contributing to the Hydra community; they not only use the Hydra technical framework, but also add to it in at least one of many ways: code, analysis, design, support, funding, or other resources.
Hydra Partners collectively advance the project and the community for the benefit of all participants.
https://wiki.duraspace.org/display/hydra/Hydra+Community+Framework
![Page 19: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/19.jpg)
Code Licensing
• All Hydra code is available under Apache License, Version 2.0
• All code commitments are being managed through Contributor License Agreements• Individual – so each developer is clear
about what they are contributing
• Corporate – so each institution is clear about what it is contributing
• Code contributors maintain ownership of their IP• And grant a non-exclusive license to the
project and its users
![Page 20: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/20.jpg)
Sustainability
No animals were harmed in the making of this film.
grants abused
project / community
![Page 21: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/21.jpg)
Job Postings
![Page 22: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/22.jpg)
If You Want To Go Fast… …go alone.…use Hydra?
• Notre Dame deployed a video cataloging head in 6 weeks, from scratch
• Rock ‘n Roll Hall of Fame -
• Ohloh.net stats (as of July 2013) • ~40 code contributors• Top 10% of open source teams• ~8 person years of development
![Page 23: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/23.jpg)
Hypatia Development – 8 week sprint
80/20 – 8 Weeks of Developmenthttps://github.com/projecthydra/hypatia/graphs/impact
![Page 24: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/24.jpg)
Hydra-based Applications at Stanford
ETD’s – Electronic Theses & Dissertations
SALT – Self-Archiving Legacy Toolkit
EEMs – Everyday Electronic Materials
Argo – Repository Reporting and Management
Hypatia – Archives & Special Collections
![Page 25: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/25.jpg)
Hydra Philosophy -- Technical
• Tailored applications and workflows for different content types, contexts and user interactions
• A common repository infrastructure
• Flexible, atomistic data models• Modular, “Lego brick” services• Library of user interaction
widgets• Easily skinned UI
One body, many heads
![Page 26: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/26.jpg)
Shared, Primitive Functions
• Deposit• Manage
– Edit Objects– Set Access
• Search• Browse• Deliver
Plus Authentication Authorization Workflow
![Page 27: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/27.jpg)
Content Framework
• Key to enabling re-use of Hydra repository solutions is a common baseline to how objects are structured• Objects must include rights metadata
• Objects must include a statement of what content models the objects adhere to
• That’s it!
• The Hydra community has developed some basic building block content models (the Lego brick approach)• Combine and/or extend these to meet
your needs
![Page 28: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/28.jpg)
Technical Framework - Components
• Fedora provides a durable repository layer to support object management and persistence
• Solr, provides fast access to indexed information
• Blacklight, a Ruby on Rails plugin that sits atop solr and provides faceted search & tailored views on objects
• Hydra Head, a Ruby on Rails plugin that provides create, update and delete actions against Fedora objects
![Page 29: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/29.jpg)
Blacklight for Repositories
• Repository-agnostic, feature-rich, content-aware, turnkey access interface for repositories
• Aggregate content from multiple repositories, with links back to source systems
• Vibrant, multi-institutional, open source community on its own
• Can be used independently, or as the first component of, Hydra
![Page 30: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/30.jpg)
CRUD in Repositories
![Page 31: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/31.jpg)
CRUD in Repositories
![Page 32: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/32.jpg)
Major Hydra Components
![Page 33: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/33.jpg)
A Note on Ruby on Rails• Rapid application development for
web applications: “Convention over configuration” – 10x productivity
• Supportable: MVC (Model-View-Controller) and Rails framework make code well-structured, predictable
• Testable: Rspec and Cucumber give powerful, automatable, testing tools
• Learnable: Stanford went from 1 to 8 Ruby savvy developers in one year (no new hires)– 1 week learning curve to basic
proficiency
![Page 34: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/34.jpg)
Philosophies
• Building a framework, not an application (variation is part of the plan)
• Opinionated software• Invest time & resources into
collaborative community (face time!)• Trainings & workshops• Openness, transparency (code, designs,
discussions)• Commit to contributing back to core• Design for re-use
![Page 35: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/35.jpg)
Best Practices in Development• Agile, user-centric development process• Test driven development & continuous
integration• Take a light touch when dealing with big
topics: “working software wins” • Distributed version control, github &
public software repositories• Rotating release managers for
components• Weekly “stand up” meeting w/ JIRA• Daily chats in IRC• Documentation
![Page 36: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/36.jpg)
So What is Hydra?
• Framework for generating Fedora front-end applications w/ full CRUD functionality
• That follows design pattern with common componentry and platforms
– Fedora, Ruby on Rails, Solr, Blacklight
• That supports distinct UI’s, content types, workflows, and policies
![Page 37: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/37.jpg)
So What is Hydra?
• And a growing community of institutions and developers committed to framework and collaboration– Not grant-based– Distributed– Robust– Open
![Page 38: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/38.jpg)
Connect
• http://www.projecthydra.org
• Weekly developer calls: • Mondays 8:30 AM California time
• Email list: [email protected]
• IRC: chat.freenode.net #projecthydra
• Quarterly Hydra Partner meetings
![Page 39: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/39.jpg)
Upcoming Hydra Camps
• Next Up: 5-9 August ’13, U. Virginia • [email protected]
• Late September / early October somewhere in the midwest • [email protected]
![Page 40: Get A Head on Your Repository](https://reader035.vdocument.in/reader035/viewer/2022062418/5561eb72d8b42aa5068b5357/html5/thumbnails/40.jpg)
http://projecthydra.org