|
|
8 years ago | |
|---|---|---|
| .github | 9 years ago | |
| config | 8 years ago | |
| src | 8 years ago | |
| tests | 8 years ago | |
| .gitignore | 9 years ago | |
| .travis.yml | 8 years ago | |
| CONTRIBUTING.md | 9 years ago | |
| LICENSE | 9 years ago | |
| README.md | 8 years ago | |
| composer.json | 8 years ago | |
| islandora.info.yml | 8 years ago | |
| islandora.install | 8 years ago | |
| islandora.links.menu.yml | 9 years ago | |
| islandora.module | 8 years ago | |
| islandora.permissions.yml | 8 years ago | |
| islandora.routing.yml | 8 years ago | |
| islandora.services.yml | 8 years ago | |
README.md
Islandora
Introduction
CLAW's core Islandora module for Drupal 8.x
Installation
For a fully automated install, see claw-playbook. If you're installing
manually, then at a minimum, the REST configuration for Nodes, Media, and Files need to be enabled with jwt_auth for
authentication on all methods. The json and jsonld formats need to be enabled for for GET requests. Only the json fomat
is required for POST, PATCH, and DELETE requests.
This can be done using the Rest UI module by setting granularity to 'Method'. If you want to use GET requests through a browser,
you'll want to enable cookie authentication. And if you want to use a username/password with cURL, you'll want to enable basic authentication.
If you want to import the configuration through Drupal's configuration synchronization tools, you can use these yaml files from claw-playbook for Nodes, Media, and Files.
REST API
Islandora has a light, mostly RESTful HTTP API that relies heavily on Drupal's core Rest module.
/media/{media}/source
You can PUT content to the /media/{media}/source endpoint to update the File associated with a Media. The Content-Type
header is expected, as well as a Content-Disposition header of the form attachment; filename="your_filename" to indicate
the name to give the file. Requests with empty bodies or no Content-Length header will be rejected.
Example usage:
curl -u admin:islandora -v -X PUT -H 'Content-Type: image/png' -H 'Content-Disposition: attachment; filename="my_image.png"' --data-binary @my_image.png localhost:8000/media/1/source
/node/{node}/media/{field}/add/{bundle}
You can POST content to the /node/{node}/media/{field}/add/{bundle} endpoint to create a new Media of the specified bundle
using the POST body. It will be associated with the specified Node using the field from the route. The Content-Type
header is expected, as well as a Content-Disposition header of the form attachment; filename="your_filename" to indicate
the name to give the file. Requests with empty bodies or no Content-Length header will be rejected.
Example usage:
curl -v -u admin:islandora -H "Content-Type: image/jpeg" -H "Content-Disposition: attachment; filename=\"test.jpeg\"" --data-binary @test.jpeg http://localhost:8000/node/1/media/my_media_field/add/my_media_bundle
Maintainers
Current maintainers:
Development
If you would like to contribute, please get involved by attending our weekly Tech Call. We love to hear from you!
If you would like to contribute code to the project, you need to be covered by an Islandora Foundation Contributor License Agreement or Corporate Contributor License Agreement. Please see the Contributors pages on Islandora.ca for more information.

