...
Introduction
To accompany Welcome to the first evaluation release milestone of the Fedora API Extensions (API-X) framework, we are assembling an easy-to-use demo for stakeholders and other community members to evaluate API-X in its current state, and inform priorities and direction of future development. This first demo will:
- Use docker compose and/or Vagrant to run Fedora, API-X, a set of extensions, and a triple store
Index service discovery information in the triple store
Automatically initialize and deploy as extensions a subset of Amherst repository extension service
Include Demo objects that can be acted upon by preinstalled services
Include a guide for stakeholders, providing a number of concrete evaluation tasks to choose from and associated instructions.
Evaluation Tasks
This is an initial outline of a guide for evaluating the API-X demo (a prose version of these tasks, complete with step-by-step instructions, will follow):
- Start/run demo
Verify that all demo services are running
Look at a pre-installed Fedora object behind the API-X intercepting proxy
Look at a service document for a pre-installed fedora object
Interact with an exposed service on one of the pre-installed in browser
Install an Amherst service
Deploy an extension to expose the Amherst service
Ingest an object and verify the new service works on it
Compare service documents from objects that bind to different services
Look/execute some sparql queries
Find all objects that expose a particular service
Find all endpoints (exposed by api-x) on objects that implement a particular service
List all resource-scoped service endpoints for a particular object, and identify services they implement
Look at code snippets that try to invoke a specific service on an object
When given the URI for a repository object, discover the URI for the service endpoint of the service and invoke it
Participation
. This milestone is the first concrete implementation of API-X, and is accompanied by a set of evaluation tasks comprising a demo that showcases its current capabilities and serves as a basis for soliciting feedback from the community.
Demo Environment
The API-X milestone demo uses the docker environment to package pre-configured instances of Fedora, API-X, and services into lightweight "containers" that behave much as if they were deployed in separate virtual machines. docker-compose is used to run the demo on an evaluator's local machine. Using docker-compose, the demo environment can be created, paused/resumed, or wiped clean at any point.
Providing feedback
Please provide general feedback or questions on the demo in the form of comments on this page.
Bugs and/or feature requests can be submitted on github. We will try to fix any bugs affecting the demo as soon as possible, and incorporate fixes into the docker images so that they can be pulled into your demo environment as soon as they are available. Feature or improvement requests on github are especially welcome.
When performing the evaluation tasks, please keep the following questions in mind when formulating feedback
- Do any aspects of API-X seem particularly useful or not useful for your own use cases?
- Was any step particularly difficult or burdensome, or surprisingly easy? Do you have any suggestions for improvement?
- Do you feel any particular topic should be explored in greater depth in a future milestone demo/evaluation?
- Do you have any unanswered questions?
Evaluation Tasks
To participate in the demo, please:
- Install the requirements (e.g. Docker and curl) if not already present
- Read the getting started guide for using docker-compose to start Fedora, API-X and surrounding services
- Verify that the demo has started successfully
- Read running the evaluation before you start for some helpful information to make the process go smoothly.
Once everything is up and running, you can start working through the evaluation tasks. Most (but not all) current API-X features are encountered in one form or another. The tasks do not have to be done linearly, and they do not have to be done all at once.
- Resources, URIs, and Proxies
- Look at a Fedora object via direct and proxy URIs in order to compare and contrast representations
- Look at proxied binary resources
- Service Documents
- Interacting with exposed services
- A passive resource-scoped service (i.e. just use a GET on a service endpoint to get FITS-extracted metadata)
- Links within exposed services
- Query parameters (explore a fascinating image manipulation extension based on ImageMagick)
- A passive resource-scoped service (i.e. just use a GET on a service endpoint to get FITS-extracted metadata)
- Loading and deploying extensions
- A tour of the service registry
- The loader extension
- Loading an extension manually
- Auto-loading extensions (see how services can self-register themselves and the extensions they implement)
- A tour of the service registry
- Ontologies and Binding
Participation
We need participants!
If anyone is interested in evaluating the demo, feel free to If anybody is interested in evaluating the demo when it is released in order to provide valuable feedback, please place your name as an participant on this page, and/or stay tuned for further communicationor just get started and provide feedback when inspired. We are asking participants to 1) provide feedback on the evaluation content of the evaluation tasks and guide (e.g. are there tasks we are missing?) and 2) download the demo and execute the tasks, and provide feedback on the experience.
Please sign up by listing your information below, and help us understand a little bit about yourself. For example, your institution (if not already linked from your wiki profile), what you do, and the role you are playing within the context of API-X evaluation (e.g. stakeholder, developer, user experience, systems operations, etc.).
...
People who have helped participate in the creation or evaluation of the demo include:
- Elliot Metsger - Johns Hopkins, Software Engineer, API-X stakeholder and developer
- Ruth Duerr - Ronin Institute for Independent Scholarship, API-X stakeholder, Data Manager/Informaticist, ex-operations manager, ex-archive manager, ex-systems engineer, ex-software engineer & developer
- Joshua Westgard - University of Maryland Libraries, API-X stakeholder, repository application manager
- Aaron Birkland - Johns Hopkins, Software Engineer, API-X developer
- Unknown User (acoburn) and Bethany Seeger - Amherst College, API-X stakeholder and developers of the Amherst extensions used throughout the demo