Workshops program: Tuesday 22nd October


The conference program is also available using Sched via its website (at sc2019.sched.com) or via its app (sc2019)

Slide decks are, or will be, linked from the list of presentations below.


A continental breakfast will be served for workshop participants in the Olin Library Ginkgo Room (on Level 1) from 8:00am.  Refreshment breaks will be in the same room.


If you plan to attend any of the workshops, please register using the button below.  This will allow us to allocate the sessions to appropriately sized rooms and to contact you with any pre-workshop materials:


Applied Linked Geo. Metadata - Room: Olin Instruction Room 3

Presenter:  James Griffin

Duration:  1.5 hours

Audience:  Developers, Metadata people (max 30)

Description:

A preliminary understanding of geospatial metadata

  • An elementary understanding of linked geospatial metadata
  • Practical metadata modeling for Hyrax
  • An introduction to RDF Graph stores for linked spatial data
  • Methods for analyzing spatial linked data as RDF Graphs

This workshop aims to provide a set of overviews and technical exercises which shall provide participants with an understanding of linked geospatial data, and what role it could serve within a Samvera repository application. The objective of the exercises will be to provide participants with experience modeling geospatial metadata for Samvera repository resources. Building upon this, an understanding of how this linked geospatial metadata may be indexed for content discovery, or exported into separate platforms for analysis, shall be demonstrated. As much of this work is derived from the undertakings of the Geo. Predicates Working Group, striving to remain aligned with larger community web standards (such as those published by the W3C) should be considered the proper context for any practical usage of linked geospatial metadata.

Requirements:  Laptop (with WiFi or other access to the World Wide Web)

Build a Rails app with Valkyrie - Room: Olin 142

Presenters:  Adam Wead, Esmé Cowles

Duration:  3 hours (with break)

Audience:  Developers (max 20)

Description:

  • How Valkyrie differs from ActiveRecord
  • How to manage the differences between Valkyrie and Rails while retaining most of Rails' common features

In this workshop, participants will learn how to build a simple Rails application using Valkyrie as a dependency. Data will be persisted with Valkyrie's data mapper pattern and not with ActiveRecord; however, all of Rail's most common UI elements and features will be retained. If time permits, we will also add Blacklight as a dependency for search and retrieval.

Requirements:  Everyone will need to bring their own laptop with a working Ruby/Rails environment that includes Postgres version 9 or later. Prior to the workshop, there will be instructions to ensure you have the proper dependencies installed.

CI 2: Circle Boogaloo - Room: Olin Data Services Research Studio

Presenters:  Collin Brittle, Chris Colvard, David Cliff

Duration:  3 hours (with break)

Audience:  Devs (max 20)

Description:

  • What is Continuous Integration Testing?
  • Why CircleCI?
  • How do the Samvera core gems use CI?
  • How can I start using CI for my application?

Heard about Continuous Integration, but don't know where to start? Noticed Samvera repositories using CircleCI and want to know why? Interested in using CircleCI yourself? This workshop is for you! We'll answer those questions and more as we get hands-on with automated testing.

Requirements:  A development-ready laptop, and (optionally) a project ready for testing.

Dive Into Hyrax - Room: Olin Instruction Room 1

Presenters:  Mark Bussey, Jamie Little

Duration:  3 hours (with break)

Audience:  Developers, Newcomers (max 20)

Description:

Understand the major parts of the Hyrax architecture, how they talk to each other, and what roles they each play.

  • Know how to look at a work in Fedora, Solr, and on the rails console.
  • Be able to describe the actor stack, and know when it makes sense to customize it. Know how to find a code example of a customized actor stack.
  • Be able to describe workflow, what default workflows are enabled for Hyrax, and know how to find a code example of customized workflow.
  • Understand general principles to override code to implement local features.

An introductory dive into the Hyrax code base for developers. We will cover the major parts of the Hyrax architecture, and interact with a Hyrax Work object on the rails console. We’ll describe Hyrax-specific features like the Actor Stack and Sipity workflow, and talk about when and how to customize them. We’ll also discuss general principles around how to override Hyrax behavior in your local application, and where to go for more information and code examples.

Requirements:  Participants wishing to participate in the hands-on parts of the workshop should bring a laptop with:

  • Windows, OSX, Ubuntu, or Redhat/Centos
  • At least 8GB of installed RAM
  • A Current version of Docker installed

NOTE: folks are encouraged to attend and pair with others if their own systems don’t meet these requirements.

Workshop Materials: https://github.com/RepoCamp/wustl2019/wiki#morning---tuesday-9am-noon

Frontends with Webpacker and Stimulus - Room: Olin Special Collections Classroom

Presenters:  Justin Coyne, ANO

Duration:  3 hours (with break)

Audience:  Developers, UI/UX people (max 25)

Description:

  • Using webpacker to compile bundles
  • Creating simple actions to be handled with stimulus
  • Testing your javascript

If you've worked with Samvera you've noticed that it's largely based on jQuery. This was a great technology in its heyday, but the Javascript has changed considerably since then. Many developers have moved onto complicated frameworks like React, Vue or Angular, but often times we need to do something very simple, something that jQuery was great at. Is there a middle ground? Yes! Stimulus, a small library from Basecamp, hits that sweet spot of being simple, while having the benefits of its more substantial cousins. This workshop will introduce these technologies in the context of a Samvera application. No prior knowledge of Webpack or Stimulus is required.

Requirements:  A laptop with Rails installed.

Getting started with DockerRoom: Olin Special Collections Classroom

Presenters:  Justin Coyne, ANO

Duration:  3 hours (with break)

Audience:  Developers, SysAdmins/DevOps (max 25)

Description:

  • starting and stopping containers
  • building images
  • coordinating services
  • mounting volumes
  • understanding layers (cache)

Setting up all the parts of a Samvera application can be challenging. There are many components that depend on one another and they all need to be setup. Wouldn't it be great if we could just turn a switch and everything would come online? We can! This workshop will introduce you to the basics of Docker containers to develop your Samvera app. Whether you've used Docker before or you've only heard about it — you will learn all the skills to accelerate your development process.

Requirements:  A laptop with Docker installed. Instructions will be emailed to participants two weeks prior to the workshop.

Intake, prioritization, and planning of multiple concurrent Library IT projects: Simulation of Michigan's "Front Door" and cycle planning processes - Room: Olin 142

Presenters:  Nabeela Jaffer

Duration:  3 hours (with break)

Audience:  Administrators, Managers (max 20)

Description:

Participants will leave with ideas and methods for how to receive, prioritize, and plan multiple concurrent Library IT projects by taking into consideration the complexity, cost, and impact

This half-day hands-on workshop will introduce participants to Michigan’s “Front Door” request intake and cycle planning process. At Michigan, we have designed a cycle planning process to gather requests of all kinds, rate and review, and finally, assign resources as appropriate. The workshop is intended to be a simulation of the cycle planning process from intake to resource planning exercise. The participants will get a feel of how requests are rated and reviewed for cost, complexity, and impact. We will be sharing the tools and templates used at Michigan for reviewing the requests, planning the cycle, and assessing the works’ progress throughout the cycle.

Requirements:  Laptop

Samvera - Introduction to Community, Technology, and Value - Room: Olin Instruction Room 3

Presenters:  Julie Allinson, Richard Green, Robin Ruggaber

Duration: 1.5 hours

Audience: Administrators, Developers, Managers, Metadata people, Newcomers, SysAdmins/DevOps, UI/UX people, Anyone who wants to know the What, How and Why for Samvera (max 15)

Description: 

  • Understand what Samvera is and how to participate
  • Understand how to use Samvera
  • Understand the value of Samvera

Samvera is a community, a set of tools, and a collection of ready-to run and hosted applications to help build a digital repository for your institution. The community drives the specification and development of sustainable open source technology and honing best practices for managing digital content. This workshop will provide an on-boarding and general entrée to the Samvera community and solutions for non-coders. The first part will provide an overview of Samvera solutions, hosting options and the community – what is it, why is it different? It will showcase applications solving a diverse set of needs and organizations, and discuss the how the community at large works to enable these. The second part will give a general technical overview designed for a non-technical audience. The resources needed to maintain and contribute to a hosted or custom Samvera solution will be discussed, resources that exist to get started will be highlighted plus how to contribute to the community technically and non-technically. The final part will discuss value and how to pitch Samvera and get institutional support. It will discuss the advantages of being part of the community and how that strengthens the sustainability of the tools, the applications, and the community overall.

Requirements:  A laptop would be useful for people who want to review online resources or explore installing and evaluating Samvera software.

Test Driven Hyrax DevelopmentRoom: Olin Data Services Research Studio

Presenters:  Mark Bussey, Jamie Little

Duration:  3 hours (with break)

Audience:  Developers, Newcomers, SysAdmins/DevOps (max 15)

Description:

Understand the goals and benefits of test driven development, particularly in relation to local customizations made to Hyrax.

  • Be able to describe the purpose of system tests vs unit tests and the benefits and drawbacks of each.
  • Use a debugger to interactively inspect code and design tests
  • Understand the goals and benefits of collection-wide testing for release readiness, search relevancy tuning, and performance monitoring.
  • Understand testing tools like fixtures, factories, and mock objects.

This introductory level hands-on workshop will cover the principles of test driven development, but with a focus on the tools needed to test a local Hyrax installation. We’ll cover several testing strategies and discuss when each might be called for, and we’ll practice writing examples of each. Finally, we’ll spend some time on more advanced testing topics like fixtures, factories, and mock objects, how to use them, and when they’re called for.

Requirements:  Participants wishing to participate in the hands-on parts of the workshop should bring a laptop with:

  • Windows, OSX, Ubuntu, or Redhat/Centos
  • At least 8GB of installed RAM
  • A Current version of Docker installed

NOTE: folks are encouraged to attend and pair with others if their own systems don’t meet these requirements.

Workshop Materials: https://github.com/RepoCamp/wustl2019/wiki#afternoon---tuesday-2pm-5pm

Using The Latest Rails Features in Hyrax - Room: Olin Instruction Room 1

Presenters:  Rob Kaufman, ANO

Duration:  3 hours (with break)

Audience:  Devs, Sysadmins, DevOps, UI/UX (max 100)

Description:

We'll introduce Rails 6 features and discuss how they might integrate in to Samvera applications.

  • File uploads with S3
  • Action Mailbox
  • Webpacker (default in Rails 6)
  • ActionText

Another day, another major Rails version. What's been happening in the larger Rails community and how does it affect Samvera development?

Requirements:  Laptop - we'll have updated requirements closer to the event (need to decide how best to get builds for people this year)

Valkyrie Code Read/WriteRoom: Olin Instruction Room 3

Presenters:  Trey Pendragon, Anna Headley

Duration:  3 hours (with break)

Audience:  Developers, Newcomers (max 30)

Description:

Understand Valkyrie's internal workings and become comfortable with using/modifying the library.

Take part in an interactive code read of the source code for Valkyrie and then we'll split into groups and work on current active Valkyrie tickets in order to become more comfortable with its inner workings. Become a contributor!

Requirements:  A laptop configured for ruby development

Preparation Instructions: