ARCHITECTING ScholarSphere: How We Built a Repository App That Doesn't Feel Like Yet Another Janky Old Repository App
ARCHITECTING ScholarSphere: How We Built a Repository App That Doesn’t Feel Like Yet Another Janky Old Repository App
- Dan Coughlin, Penn State University, danny@psu.edu
- Mike Giarlo, Penn State University, michael@psu.edu
ScholarSphere is a web application that allows the Penn State research community to deposit, share, and manage its scholarly works. It is also, as some of our users and our peers have observed, a repository app that feels much more like Google Docs or GitHub than earlier-generation repository applications. ScholarSphere is built upon the Hydra framework (Fedora Commons, Solr, Blacklight, Ruby on Rails), MySQL, Redis, Resque, FITS, ImageMagick, jQuery, Bootstrap, and FontAwesome. We’ll talk about techniques we used to:
- eliminate Fedora-isms in the application
- model and expose RDF metadata in ways that users find unobtrusive
- manage permissions via a UI widget that doesn't stab you in the face
- harvest and connect controlled vocabularies (such as LCSH) to forms
- make URIs cool
- keep the app snappy without venturing into the architectural labyrinth of YAGNI
- build and queue background jobs
- expose social features and populate activity streams
- tie checksum verification, characterization, and version control to the UI
- let users upload and edit multiple files at once
The application will be demonstrated; code will be shown; and we solemnly commit to showing ABSOLUTELY NO XML.