Skip to content

Instantly share code, notes, and snippets.

@mjgiarlo
Last active December 9, 2015 22:29
Show Gist options
  • Save mjgiarlo/4337671 to your computer and use it in GitHub Desktop.
Save mjgiarlo/4337671 to your computer and use it in GitHub Desktop.
ARCHITECTing ScholarSphere, a presentation to be delivered at #c4l13

ARCHITECTing ScholarSphere

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment