Logo OR2015

Conference Agenda

Overview and details of the sessions of this conference. Please select a date or room to show only sessions at that day or location. Please select a single session for detailed view (with abstracts and downloads if available).

Return to conference web site

Session Overview
P1D: Developer Track 1
Tuesday, 09/Jun/2015:
11:00am - 12:30pm

Session Chair: Adam Field
Location: Network
100 Seats


Munging your data in Java with five times less code

Liz Krznarich, Laura Paglione, Rob Peters

ORCID, United States of America

Approx. Duration: 10-15mins

Java has some useful tools for creating XML/JSON APIs, and for storing data in relational databases such as Postgres. Like many similar apps, ORCID uses JAXB to represent XML/JSON as Java classes, and JPA to do the equivalent job for data from database tables.

To implement the ORCID REST API, however, we need to seamlessly translate from one to the other (in both directions!) - how do we do this without invoking a monstrous gob of code?! Enter Orika, a Java library that we use to reduce our JAXB to JPA mapping code from nearly 1000 lines to under 200.

This presentation will include:

- Basic introduction of Orika and brief demo

- Comparison of Orika to other tools

- Advanced customizations

- Examples showing how Orika is used in ORCID

Krznarich-Munging your data in Java with five times less code-230.rtf

Microservices with Docker and Go

Richard Wincewicz

University of Edinburgh, United Kingdom

Technologies like Docker are becoming more common and allow developers to speed up their development workflows and get robust code into production much faster. Docker is written in Go and creating microservices in Go allows for very lightweight components that are easy to deploy. Connecting these together with a messaging system creates an environment that is flexible, distributed and elastic.

My presentation will involve demonstrating a number of Go-based microservices that work in concert to process content ingested into a Fedora repository. I will also demonstrate how the system can be scaled to deal with increased traffic. I anticipate that this will take around 20 mins to explain and demonstrate.

Wincewicz-Microservices with Docker and Go-235.pptx

DSpace UI enhancements, visualizations and Python scripting

Ivan Masar


After launching our DSpace-based repository for research outputs, we added many small, but convenient UI features like citation counts, SHERPA/RoMEO status checker, RefWorks export, citation generator, Ex Libris bX (related articles), which move us from a barebones repository a few steps towards a perfect one. We'll show what technology is behind them, which APIs were used and how it was integrated into XMLUI.

Furthermore, we spiced up the repository with a few visualizations which make it understandable at a glance, even though they present data also available elsewhere. The d3 JavaScript library was used as a building block.

Last but not least, we used Python to build some of the above and more. Although using Java instead would be possible, Python made the prototyping faster and more fun. I'll show several ways how you can leverage Python to work with the DSpace Java API and Solr.

Masar-DSpace UI enhancements, visualizations and Python scripting-236.pdf

Vagrant-DSpace Live Demo

Hardy Joseph Pottinger

University of Missouri, United States of America

Vagrant is a tool for building complete development environments. With it, you can set up a development environment quickly, reproducibly, and in a way that is readily sharable with others. Vagrant-DSpace harnesses this power to help developers quickly ramp up to working with DSpace, and to faciltate sharing that work with others. Don't believe it? Let me show you. I will live demo Vagrant-DSpace in action. If you bring your notebook and have a Vagrant Cloud login, maybe we can even do some impromptu pair programming? Let's do this.

Pottinger-Vagrant-DSpace Live Demo-82.pdf

SobekCM : A true standards-based, structured, user-friendly approach to APIs and open data

Mark Sullivan

Sobek Digital Hosting & Consulting, LLC, United States of America

The Open Source SobekCM digital repository is approaching its tenth year of development and third year of being released Open Source. Recently, the SobekCM development community has focused on a major architectural revolution, moving towards configurable micro-services and a clear separation between the engine and standard web interface, to enable greater ease for installation and administration while adding support for research data. SobekCM continues to represent a unified, structured approach while retaining its commitment to standards-compliance, retaining core METS/MODS and embracing other metadata formats. In addition, community involvement around the software has continued to develop, with the official community framework draft released in early 2015.

This presentation will introduce the new REST APIs and show ways to “hack the API” to quickly build a new user interface over the SobekCM engine to replace the standard, included user interface. The presentation will showcase the API for searching and sharing research data which will include building a research data portal. The presentation will cover issues encountered and solutions developed when implementing changes to increase configurability, modularity, and customization while remaining true to the core set of beliefs that founded SobekCM.