class: center middle ![LibreCat](./img/librecat.png "Logo LibreCat") # LibreCat ## Transforming an Institutional Repository #### ELAG Conference 7-9 June 2016 in Copenhagen, Denmark #### Petra Kohorst, Vitali Peil (Bielefeld University Library) --- class: middle # Agenda * INSTITUTIONAL REPOSITORY * TECHNOLOGY STACK * DATA * USER (INTERFACE) * WHAT'S NEXT? --- class: middle center # INSTITUTIONAL REPOSITORY --- class: middle center # INSTITUTIONAL REPOSITORY? --- class: middle # The researcher is important # ... not the document --- class: middle .center[![Person Page](./img/author_list.png)] --- class: middle .center[![Person's Profile](./img/author_profile.png)] --- class: middle ## Research Data https://pub.uni-bielefeld.de/data/2691580 --- class: middle center # THE INSTITUTIONAL REPOSITORY IS OF STRATEGICAL IMPORTANCE FOR US! --- class: middle # Technology Stack ### EXIT * HUGE relational db schema * custom template engine * outdated Perl modules (no dependency management!) * complicated and time-consuming to add new features * un-sharable system --- class: middle # Technology Stack ### TRANSITION * Decisions: which technology? * use stuff you know * still can be a balancing act --- class: middle # Technology Stack ### ENTRY * open source * modern Perl Dancer web framework * Metadata store: MySQL, Index store: ElasticSearch * and for all data, going in or out: ``` use Catmandu; ``` * provides different FileStore backends: Simple, Bagit, FedoraCommons --- class: middle ## Interlude: Catmandu (Slide by Johann Rolschewski) ... created in 2012 as an open collaboration ("LibreCat") of the three university libraries of **Bielefeld**, **Gent** and **Lund** ... built up an international community with a dozen active submitters ... used by university libraries, archives and commercial implementers --- class:middle center # DATA --- class:middle # or ... .center[![DATA](./img/data_elag15.png)] --- class: middle # Data ### EXIT * confusing data due to legacy database(structure) * lots of garbage had accumulated in the db * superfluous fields and relations --- class: middle # Data ### TRANSITION * Transforming Data with the help of Catmandu * technically easy, contentwise very complicated * __create__, __rename__, __restructure__, __delete__ fields * clean up data within fields * Different structure of file store * find safe way to migrate files * Surprises can still be found --- class: middle # Data Transforming data feels a bit like building this... .center[![XKCD](./img/xkcd_universal_converter_box.png "xkcd.com/1406/")] .center[
\[[CC BY-NC 2.5](https://creativecommons.org/licenses/by-nc/2.5/)\]
] --- class: middle # Data * MySQL primary store - storing only json blobs * Bags (tables) for each type of record * simple structure, easy to maintain * ElasticSearch search store * same structure as primary store, but analyzed * use lookups during index process * Easy access to all data with the help of Catmandu --- class: middle center # USER (interface) --- class: middle # USER ## First attempt .center[![User error](./img/user_error.jpg)] .center[
\[[Source](http://www.backwoodshome.com/nl/nl1104.html)\]
] --- class: middle # USER INTERFACE ## Inconsistency .center[![pub_old](./img/pub_old.png)] --- class: middle # USER INTERFACE ## Inconsistency .center[![PUB publication list](./img/pub_list.png)] --- class: middle # USER INTERFACE ## GitHub .center[![GitHub](./img/github.png)] --- class: middle # USER INTERFACE ### EXIT * old design * not responsive * complicated handling, maintenance, bug fixing BUT: it was a system users were used to! --- class: middle # USER INTERFACE ### TRANSITION * How (on earth) do you design an "intuitive" user interface? * __None!__ We just switched and confronted the users with the new system. * Protip: Put a beta badge somewhere .center[![Beta logo](./img/beta_logo.png)] --- class: middle # USER INTERFACE ### ENTRY * fast, responsive, nice looking, easy to use (hopefully) and intuitive (hopefully) * easy to expand, users' wishes can be implemented much more quickly * New look, speed and functionality quickly consoled the transition-less users --- class: middle # WHAT'S NEXT? ### The bigger picture * insitutional repository * standalone research data repository * wholly integrated publication/research data/cris-like system * simple bibliographic database (small projects) * presentation layer for (meta)data of any kind * standalone machine-readable hub * private (meta)data store --- class: middle center # WHAT'S NEXT? --- class: middle # WHAT'S NEXT? ## Abondan OAI? ## Abondan SRU? ## Use ResourceSync ## Adding more CRIS-like functionalities --- class: middle # JOIN US! - http://librecat.org - home page - https://librecatproject.wordpress.com - blog - https://github.com/LibreCat/LibreCat - code - librecat-dev@lists.uni-bielefeld.de - mailing list --- class: middle # Thank you!