Leveraging a Rich Discovery Interface in Open Repository Architectures.

38
Leveraging a Rich Discovery Interface in Open Repository Architectures Tom Cramer Chief Technology Strategist Stanford University Libraries

Transcript of Leveraging a Rich Discovery Interface in Open Repository Architectures.

Page 1: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Leveraging a Rich Discovery Interface in Open Repository Architectures

Leveraging a Rich Discovery Interface in Open Repository ArchitecturesTom CramerChief Technology StrategistStanford University Libraries

Page 2: Leveraging a Rich Discovery Interface in Open Repository Architectures.

• Overview• Key Features & Capabilities• Technology• Blacklight & Repositories

– Including Hydra• Community

• Overview• Key Features & Capabilities• Technology• Blacklight & Repositories

– Including Hydra• Community

Page 3: Leveraging a Rich Discovery Interface in Open Repository Architectures.

BlacklightBlacklight

Blacklight is an open source, "next generation" discovery application that works equally well for digital repositories as library catalogs.

Blacklight is an open source, "next generation" discovery application that works equally well for digital repositories as library catalogs.

In an open repository environment, it provides a ready-made, feature-rich interface for asset discovery & delivery, cleanly separated from the underlying repository or data store(s).

In an open repository environment, it provides a ready-made, feature-rich interface for asset discovery & delivery, cleanly separated from the underlying repository or data store(s).

Page 4: Leveraging a Rich Discovery Interface in Open Repository Architectures.

The Features You’d ExpectThe Features You’d Expect• Faceted search• Relevance ranked results• Personalization (bookmarks,

tags)• Export via Atom, RSS, SMS,

Email, Zotero, etc. • Streamlined UI• And much more…

• Faceted search• Relevance ranked results• Personalization (bookmarks,

tags)• Export via Atom, RSS, SMS,

Email, Zotero, etc. • Streamlined UI• And much more…

Page 5: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Plus Four Key Capabilities

1. Support for any kind of record or metadata

2. Object-specific behaviors– Books, Images, Music, Video,

Manuscripts, Finding Aids, <any>

3. Tailored views for domain or discipline-specific materials

4. Easy to augment & over-ride with local modifications

1. Support for any kind of record or metadata

2. Object-specific behaviors– Books, Images, Music, Video,

Manuscripts, Finding Aids, <any>

3. Tailored views for domain or discipline-specific materials

4. Easy to augment & over-ride with local modifications

Page 6: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Next Generation CatalogNext Generation CatalogStanford University - SearchWorksStanford University - SearchWorks

Page 7: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Union CatalogUnion CatalogUniversity of Wisconsin – ForwardUniversity of Wisconsin – Forward

Page 8: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Fedora Front End + NGCFedora Front End + NGCUniversity of Virginia - VirgoUniversity of Virginia - Virgo

Page 9: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Scientific Papers RepositoryScientific Papers RepositoryNational Radio Astronomy ObservatoryNational Radio Astronomy Observatory

Page 10: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Image & Special CollectionsImage & Special CollectionsNorth Carolina State UniversityNorth Carolina State University

Page 11: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Video RepositoryVideo RepositoryWGBH – Open VaultWGBH – Open Vault

Page 12: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Scientific Papers IndexScientific Papers IndexUS Department of Agriculture - AgNICUS Department of Agriculture - AgNIC

Page 13: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Technology StackTechnology Stack

Blacklight Plug In

Solr index

Repository(ies)Indexer(s)

Indexer(s)

Local Code

Blacklight is a Ruby on Rails application containing both the Blacklight plugin and local code.

Local code augments and over-rides (where needed) the BL plugin.

An underlying Solr index holds metadata from sources of interest.

The plug-in holds Blacklight’s default views and logic.

Holds digital objects. May or may not have its own user interface.

Indexers parse and load data of interest into solr

Indexers parse and load data of interest into solr

Blacklight

Page 14: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Got Solr?Got Solr?

Naked solr index without the Blacklight frontend.Naked solr index without the Blacklight frontend.Digital Medieval ManuscriptsDigital Medieval Manuscripts

Page 15: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Digital Medieval ManuscriptsDigital Medieval ManuscriptsStanford University – DMS IndexStanford University – DMS Index

Page 16: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Repository Administrative UIRepository Administrative UIStanford University – Stanford Digital RepositoryStanford University – Stanford Digital Repository

Page 17: Leveraging a Rich Discovery Interface in Open Repository Architectures.

The “Code Silo” ProblemThe “Code Silo” Problem

OSScode

Site Specific

Code

Site Specific

Code

Site Specific

Code

Naomi Dushay

Page 18: Leveraging a Rich Discovery Interface in Open Repository Architectures.

The “Code Silo” ProblemThe “Code Silo” Problem

Version 1

Site Specific

Code

Site Specific

Code

Site Specific

Code

Version 2

Version 3

Naomi Dushay

Page 19: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Well-Structured CodeWell-Structured Code

• Blacklight 2.0 was a substantial refactoring to make the code portable

– Core functions, common to all installations, located in a plugin

– Local modifications made in the Ruby on Rails application container

– Over-rides facilitate customization for local needs

• Vendor drops are straightforward• GIT to facilitate branching and

merging

• Blacklight 2.0 was a substantial refactoring to make the code portable

– Core functions, common to all installations, located in a plugin

– Local modifications made in the Ruby on Rails application container

– Over-rides facilitate customization for local needs

• Vendor drops are straightforward• GIT to facilitate branching and

merging

Page 20: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Easily TailoredEasily Tailored

• Look and Feel• Layout• Custom behaviors• Augmented with widgets• Basis for more extensive development

• Look and Feel• Layout• Custom behaviors• Augmented with widgets• Basis for more extensive development

BL’s modular code structure supports local customization and over-rides without the need for forking code.

BL’s modular code structure supports local customization and over-rides without the need for forking code.

Page 21: Leveraging a Rich Discovery Interface in Open Repository Architectures.

A Note on Ruby on RailsA 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

• 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 22: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Test CoverageTest Coverage

• Full test coverage is a core community principle

– Unit tests with Rspec– Acceptance tests with Cucumber– Continuous integration testing with

Hudson• Tests ensure…

– Quality– Compatibility– Clarity of code and function– Confidence

• Full test coverage is a core community principle

– Unit tests with Rspec– Acceptance tests with Cucumber– Continuous integration testing with

Hudson• Tests ensure…

– Quality– Compatibility– Clarity of code and function– Confidence

Page 23: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Testing is a Core Community PrincipleTesting is a Core Community PrincipleSee http://projectblacklight.org/?page_id=2

• “All contributed code must have full test coverage before it is committed.

• “Tests must be committed at the same time code is.”

• “All bugs and development tasks will be tracked in JIRA.”

• “All code must be documented before it’s committed.”

See http://projectblacklight.org/?page_id=2

• “All contributed code must have full test coverage before it is committed.

• “Tests must be committed at the same time code is.”

• “All bugs and development tasks will be tracked in JIRA.”

• “All code must be documented before it’s committed.”

Page 24: Leveraging a Rich Discovery Interface in Open Repository Architectures.

BL’s Current Test Coverage is 90%BL’s Current Test Coverage is 90%

http://hudson.projectblacklight.org/hudson/job/blacklight-plugin/99/rcov/http://hudson.projectblacklight.org/hudson/job/blacklight-plugin/99/rcov/

Page 25: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Scalability: SearchWorks = known upper bound Scalability: SearchWorks = known upper bound

• SearchWorks currently has > 6 Million records

• Peak daily load is now > 50,000 visitors

• SearchWorks currently has > 6 Million records

• Peak daily load is now > 50,000 visitors

SearchWorks Usage: April – December, 2009SearchWorks Usage: April – December, 2009

Page 26: Leveraging a Rich Discovery Interface in Open Repository Architectures.

• Repository-agnostic, content-aware, feature-rich, turnkey, access interface

• Aggregate content from multiple repositories, link back to source systems

• Foundation for more extending to build more elaborate access systems

• Hydra: The “R” in CRUD• Administrative UI

• Repository-agnostic, content-aware, feature-rich, turnkey, access interface

• Aggregate content from multiple repositories, link back to source systems

• Foundation for more extending to build more elaborate access systems

• Hydra: The “R” in CRUD• Administrative UI

Blacklight for RepositoriesBlacklight for Repositories

Page 27: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Object Specific Behaviors - CoinsObject Specific Behaviors - Coins

Note the “Source” facet is the UVa Art Museum tab.

Facets are tailored to numismatics

Search results

data fields are customized to content type

University of Virginia - VirgoBetaUniversity of Virginia - VirgoBeta

Page 28: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Object Specific Behaviors – Electronic ThesesObject Specific Behaviors – Electronic ThesesStanford University – ETD AppStanford University – ETD App

Degree, School, Program, Auxiliary Files, Abstract and overall layout are all ETD-specific

Page 29: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Repository Front End Repository Front End University of HullUniversity of Hull

Page 30: Leveraging a Rich Discovery Interface in Open Repository Architectures.

The “R” in Repository Front End CRUDThe “R” in Repository Front End CRUD Hydra is an effort that is developing and packaging an application framework to sit atop Fedora, and tailoring the use of this framework for specific institutional repository & digital library solutions.

* Deposit * Manage / Edit Objects * Set Permissions / Access Levels * Browse * Search * View Object

Hydra is an effort that is developing and packaging an application framework to sit atop Fedora, and tailoring the use of this framework for specific institutional repository & digital library solutions.

* Deposit * Manage / Edit Objects * Set Permissions / Access Levels * Browse * Search * View Object

Blacklight provides the search, browse & viewing capabilities

Blacklight provides the search, browse & viewing capabilities

Page 31: Leveraging a Rich Discovery Interface in Open Repository Architectures.

ETD ApplicationETD Application

Search & Browse powered by Blacklight

ETD-specific viewing behavior

Page 32: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Archival Papers (Fedora Repository)Archival Papers (Fedora Repository)Stanford University - SALTStanford University - SALT

Page 33: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Archival Papers – Detail ViewArchival Papers – Detail ViewStanford University - SALTStanford University - SALT

Page 34: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Repository InterfaceRepository InterfaceHydra Project -- HydrangeaHydra Project -- Hydrangea

Page 35: Leveraging a Rich Discovery Interface in Open Repository Architectures.

Multi-Institutional ProjectMulti-Institutional Project

• Originated at UVa in 2007 as a research project– Moved to production as “Virgo Beta” in

2008• Stanford adopted in Jan 2009

– Deployed SearchWorks on Blacklight in Aug ’09

• Currently dozens of installations• ~ 10 committers from a half dozen

institutions

• Originated at UVa in 2007 as a research project– Moved to production as “Virgo Beta” in

2008• Stanford adopted in Jan 2009

– Deployed SearchWorks on Blacklight in Aug ’09

• Currently dozens of installations• ~ 10 committers from a half dozen

institutions

Page 36: Leveraging a Rich Discovery Interface in Open Repository Architectures.

CommunityCommunityThe Blacklight Strategic Advisory Group gives committed institutions the forum to coordinate, advise and support development. Current members:

• Columbia University• Johns Hopkins University• Stanford University• University of Hull• University of Virginia• University of Wisconsin• WGBH

The Blacklight Strategic Advisory Group gives committed institutions the forum to coordinate, advise and support development. Current members:

• Columbia University• Johns Hopkins University• Stanford University• University of Hull• University of Virginia• University of Wisconsin• WGBH

Page 37: Leveraging a Rich Discovery Interface in Open Repository Architectures.

• Rich search & viewing application

• Works for any type of digital asset

• Runs out of the box• Separates application from data

store • Aggregate records from multiple

sources into one discovery layer• Easily customized views• Vibrant open source project

• Rich search & viewing application

• Works for any type of digital asset

• Runs out of the box• Separates application from data

store • Aggregate records from multiple

sources into one discovery layer• Easily customized views• Vibrant open source project

ConclusionConclusion

Page 38: Leveraging a Rich Discovery Interface in Open Repository Architectures.

MoreMore

• http://projectblacklight.org• GitHub• blacklight-

[email protected]• Minneapolis Camp (October)• DLF Fall Forum, Palo Alto, CA (Nov 1-

3)

• http://projectblacklight.org• GitHub• blacklight-

[email protected]• Minneapolis Camp (October)• DLF Fall Forum, Palo Alto, CA (Nov 1-

3)