PPTX - DuraSpace Wiki

peruvianwageslaveInternet and Web Development

Feb 5, 2013 (4 years and 6 months ago)

181 views

G
ET

A
H
EAD

O
N

Y
OUR

R
EPOSITORY

Tom Cramer

Chief Technology Strategist

Stanford University Libraries

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.


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.

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

Hydra Heads: Emerging Solution Bundles

Institutional Repositories

University of Hull

University of Virginia

Penn State University

Images

Northwestern University

(Digital Image Library)

Hydra Heads: Emerging Solution Bundles

Archives & Special Collections

Stanford University

University of Virginia

Rock & Roll Hall of Fame

Media

I
ndiana University

Northwestern University

Rock & Roll Hall of Fame

WGBH

Hydra Heads: Emerging Solution Bundles

Workflow Management
(Digitization, Preservation)

Stanford University

University of Illinois


Urbana
-
Champagne

Northwestern University

Exhibits

Notre Dame

Hydra Heads: Emerging Solution Bundles

ETDs

Stanford University

University of Virginia

Etc.

(Small) Data

everyone…

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.

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

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
, LLC


Complementary strengths and expertise

Hydra Partners

0
2
4
6
8
10
12
OR09
OR10
OR11
OR12
OR = Open Repositories Conference

LibDevConX^3, Stanford, 2012: (
Hydranauts

and Fellow Travelers)

University of Virginia, 2008

C
u
rre
n
t
l
y

-
D
u
ra
Sp
a
ce
-
H
u
l
l
-
Me
d
i
a
Sh
e
l
f
-
St
a
n
f
o
rd
-
V
i
rg
i
n
i
a
H
y
d
r
a

Ste
e
r
i
n
g

G
r
o
u
p
-
sma
l
l

co
o
rd
i
n
a
t
i
n
g

b
o
d
y
-
co
l
l
a
b
o
ra
t
i
ve

ro
a
d
ma
p
p
i
n
g

(t
e
ch

&
co
mmu
n
i
t
y)
-
re
so
u
rce

co
o
rd
i
n
a
t
i
o
n
-
g
o
ve
rn
a
n
ce

o
f

t
h
e

"t
e
ch

co
re
"
a
n
d

H
yd
ra

F
ra
me
w
o
rk
-
co
mmu
n
i
t
y
mt
ce
.

&
g
ro
w
t
h
H
y
d
r
a

Pa
r
tn
e
r
s
-
sh
a
p
e

a
n
d

d
i
re
ct

w
o
rk
-
co
mmi
ssi
o
n

"H
e
a
d
s"
-
f
u
n
ct
i
o
n
a
l

re
q
u
i
re
me
n
t
s

&
sp
e
cs
-
U
I

d
e
si
g
n

&
sp
e
c
-
D
o
cu
me
n
t
a
t
i
o
n
-
T
ra
i
n
i
n
g
-
D
a
t
a

&
co
n
t
e
n
t

mo
d
e
l
s
-
"U
se
r
g
ro
u
p
s"
Founders
-
D
u
ra
sp
a
ce
-
H
u
l
l
-
St
a
n
f
o
rd
-
U
V
a
Hydra Developers

-
d
e

n
e

t
e
ch

a
rch
i
t
e
ct
u
re
-
co
d
e

d
e
vl
e
o
p
me
n
t
-
i
n
t
e
g
ra
t
i
o
n

&
re
l
e
a
se
C
o
mmi
t
t
e
rs
C
o
n
t
ri
b
u
t
o
rs
T
e
ch
.

U
se
rs
Community

Model

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





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

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

Sustainability




No
animals

were
harmed


in the making of this
film
.

Job Postings

If You
W
ant
T
o
G
o
F
ast…

…go alone.

…use Hydra?


Notre Dame deployed a video cataloging
head in 6 weeks, from scratch



Ohloh.net

stats
(as of July 2012)


16 regular contributors in last 12 months
(26 in total)


Top 10% of open source teams


~
8

person years of development

Hypatia

Development


8 week sprint

80/20


8 Weeks of Development

https://
github.com
/
projecthydra
/
hypatia
/graphs/impact

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

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

Shared, Primitive Functions


Deposit


Manage


Edit Objects


Set Access


Search


Browse


Deliver


P
lus


Authentication


Authorization


Workflow

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

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

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

CRUD in Repositories

Re
p
o
s
i
t
o
r
y
/
P
e
r
s
i
s
t
e
n
t

St
o
r
a
ge
C
r
e
a
t
e
/
Su
b
m
i
t
/
E
d
i
t
(CUD)
Se
a
r
c
h
/
V
iew
(
R)
CRUD in Repositories

Re
p
o
s
i
t
o
r
y
/
P
e
r
s
i
s
t
e
n
t

St
o
r
a
ge
C
r
e
a
t
e
/
Su
b
m
i
t
/
E
d
i
t
(CUD)
Se
a
r
c
h
/
V
iew
(
R)
Major Hydra Components

Fe
dora
So
l
r
So
l
r
i
z
e
r
B
l
a
c
k
l
i
gh
t
(
R)
hydr
a-head
Ra
i
l
s

P
l
u
gi
n
(CUD)
B
l
a
c
k
l
i
gh
t
(R
ead O
nl
y)
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



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

Best Practices in Development


Agile, user
-
centric development process


Test driven development & continuous
integration


Take a light touch when dealing with big topics:

w
orking 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

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

So What is Hydra?


And a growing community of institutions and
developers committed to framework and
collaboration


Not grant
-
based


Distributed


Robust


Open

Connect


http://
www.projecthydra.org


Weekly developer calls:


Mondays 8:30 AM California time


Email list:
h
ydra
-
tech@googlegroups.com


IRC:
chat.freenode.net

#
projecthydra


Quarterly Hydra Partner meetings


Annual
HydraCamp



Next Up: 8
-
12 October

12, Penn State

Hydra Webinar #2

Case Studies in Repository Applications



Tuesday, October 16 @ 11 AM EDT


Richard Green, University of Hull &


Rick Johnson, University of Notre Dame

A Deep Dive into the

Hydra
Technology Stack


Tuesday, October 30 @ 11 AM EDT

Matt
Zumwalt
,
MediaShelf

Hydra Webinar #3

http://
projecthydra.org