This is the draft outline for an intensive 3-day Fedora workshop for developers and repository administrators. The workshop days will be broken up into smaller modules that build on each other. Module materials will be developed to serve in both instructor-led and self-paced learning environments.

Common Topics

 presentation slides

NameLearning Goals ActivityPrerequisitesNumber of SessionsPresenterAuthor
Introducing Fedora Repositories

role of Fedora repository software
feature tour

review some case studies
connect with classmates on projects

presentation slides

discussion

 none1David WilcoxDavid Wilcox
Fedora Front-ends

tour of Islandora, Hydra, and custom front-ends

interoperability between front-ends

ingest methods

presentation slides

discussion

none1 Unknown User (acoburn)
Content Migration

migrating content from Fedora 3 to 4

  • data migration planning
  • functionality migration planning
  • data migration with “migration-utils”

presentation slides

guided steps

VirtualBox

workshop Vbox image

migration-utils

test content

1 Michael Durbin
SPARQL-Update

introduction to SPARQL-Update

SPARQL cheat-sheet

updating resources in Fedora 4

presentation slides

guided steps

VirtualBox

workshop Vbox image

1 Andrew Woods
Linked Data Platform

what is linked data and how is it used

  • basic primer
  • distributed schema-less database
  • open and expressive
  • uses in Fedora

linked data formats supported

advantages of the LDP standardization

  • CRUD for RDF and beyond (binaries)
  • one container and resource model for interoperability

presentation slides

discussion

none2 

Greg Jansen

Indexing Fedora

demonstrate admin search and limitations

explain message queue (fcrepo-message-consumer)

set up Solr indexing

set up Fuseki indexing

add objects with properties

query indexes

presentation slides

guided steps

VirtualBox

workshop Vbox image

1 Greg Jansen

Authentication and Roles

authN: concepts and components

built-in authentication (fedora as back-end)

Apache authN (E.G. mod Shibboleth)

Tomcat authN (E.G. LDAP Realm)

basic roles authorization

presentation slidesnone0.5 or 1 Greg Jansen

Extensible Authorization

XACML: request flow and components

configuration of XACML authorization module

policy language

available request attributes and how to add more

adding more object (aka resource) attributes

arbitrariness of XACML roles

ACL model and how to link to policies

presentation slides 1 Greg Jansen

Content Modelling Practice

implication of Fedora/LDP containers:

  • administration and portability (file folder)

distinguishing other uses of containment:

  • composition & logical order (book)
  • for derivative data
  • amongst groups of manifestations

linking for reuse (E.G. XACML policies)

hands-on practice: Using containment and other relationships between objects and datastreams, coming up with two ways to model your group's example data.

Review models (after break)

presentation slides

group work

none1 Greg Jansen

Dev/Ops Topics

NameLearning Goals ActivityPrerequisitesNumber of SessionsPresenterAuthor
Scaling Fedora Up and Out

clustering for high availability

metrics achieved in Fedora testing

storage options

projection over arbitrary storage

presentationnone0.5 or 1 Andrew Woods

Configuring Fedora with Ansible

explore key configuration files

how to run playbooks:

  • as a vagrant provisioner
  • against a single host
  • against a cluster

basic Fedora host variables:

  • storage locations
  • configure authN

additional Fedora playbooks:

  • configure XACML
guided steps

VirtualBox

workshop Vbox image

  

Greg Jansen

nice to have, but lower priority

postponed if we do it.

Extending Fedora

extension points and how best to use them

Apache Camel framework

API extension architecture

 

presentation slidesnone0.5 or 1 

Unknown User (acoburn)

Developer Resources

why project participation is the best intro

building, maven project structure

IDE setups for module development

Fedora sprints and how to participate

presentationnone0.5 or 1 Andrew Woods
  • No labels

3 Comments

  1. One helpful tool in the process might be some kind of tracing proxy built into the VM kit. It would be great if participants could see all the request/response traffic on the wire.

  2. At this point, only the "Indexing Fedora" module is outside of the DEV-OPS track and requires a VM. We might think about whether it is worth explaining/installing VMs to be able to do these tasks individually..

  3. An alternative to having a separate day or track for DEV-OPS is to have "over the shoulder" participation for less technical staff. So the devops participants would complete the VM/vagrant steps and the others would "ride along".