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
Name | Learning Goals | Activity | Prerequisites |
---|---|---|---|
Introducing Fedora Repositories | review some case studies general knowledge of core features wiki tour | presentation discussion | none |
Start up a Repository | Start Fedora:
Fedora HTML API:
REST API highlights
| guided steps | Fedora JAR |
Plan Your Project | role of Fedora in a repository project role of other repository components:
planning your repository project | presentation discussion | none |
Configuring Fedora | understand common configuration items locate key configuration files configure storage locations .... other specific configuration items | guided steps | VirtualBox workshop Vbox image |
Linked Data Platform | what is linked data and how is it used
linked data formats supported advantages of the LDP standardization
| presentation discussion | none |
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 | guided steps | VirtualBox workshop Vbox image |
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 | none |
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 | none |
Content Modelling Practice | implication of Fedora/LDP containers:
distinguishing other uses of containment:
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 group work | none |
Dev/Ops Topics
Name | Learning Goals | Activity | Prerequisites |
---|---|---|---|
Scaling Fedora Up and Out | clustering for high availability metrics achieved in Fedora testing storage options projection over arbitrary storage | presentation | none |
Using the Ansible Playbooks | how ansible works how to configure hosts, host variables, etc how to run Fedora playbooks available Fedora playbooks | guided steps | VirtualBox workshop Vbox image |
Extending Fedora | extension points and how best to use them adding REST services adding messaging modules adding other services | presentation | none |
Developer Resources | why project participation is the best intro building, maven project structure IDE setups for module development Fedora sprints and how to participate | presentation | none |