-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bringing it all together #1084
Bringing it all together #1084
Changes from all commits
c0b8104
ffabd2a
a740f84
cc9d9db
b424640
6b429f8
122f489
450a416
34283fa
a33bb33
c40258d
0fac44e
e0a1756
60b508b
6a195fb
f1af2f5
e8de11e
dad304e
937daf7
a9fb842
4971aad
66b108c
4dd4416
d565fe0
db719c6
2aa83d5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,7 @@ | ||
# Islandora CLAW | ||
|
||
## Summary | ||
|
||
<a href="https://islandora.ca">Islandora</a> is an open-source repository framework, that combines a Drupal front-end | ||
with a Fedora repository. It is a solution for institutions who want an extremely flexible and configurable preservation repository without creating a lot of custom code. | ||
|
||
Islandora CLAW integrates [Drupal](https://www.drupal.org/) (currently, Drupal 8) and Duraspace's [Fedora Repository](https://wiki.duraspace.org/display/FF/Fedora+Repository+Home) project (currently, Fedora 5). Islandora CLAW is currently in beta. (todo: release section?) | ||
|
||
Islandora CLAW allows you to create nodes, media, files, and taxonomy terms in Drupal, which are converted to RDF | ||
and pushed into a Fedora repository. It allows you to configure derivatives, automatic processes that transform files to other types for display or preservation, or extract additional metadata. | ||
|
||
## Installation | ||
Islandora 8 integrates [Drupal](https://www.drupal.org/) (currently, Drupal 8) and Duraspace's [Fedora Repository](https://wiki.duraspace.org/display/FF/Fedora+Repository+Home) project (currently, Fedora 5). | ||
|
||
Islandora CLAW is installed through an Ansible Playbook called [claw-playbook](https://github.com/Islandora-Devops/claw-playbook). | ||
With Git, Vagrant, and Ansible installed, you can spin up a local development environment with | ||
```bash | ||
git clone https://github.com/Islandora-Devops/claw-playbook | ||
cd claw-playbook | ||
vagrant up | ||
``` | ||
See the Installation section for more information. | ||
Islandora 8 allows you to create nodes, media, files, and taxonomy terms in Drupal, which are converted to RDF | ||
and pushed into a Fedora repository. It also allows you to connect repository content with microservices, small webapps that transform files to other types for display or preservation, or to extract additional metadata. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Islandora 8 is installed through an Ansible Playbook called [claw-playbook](https://github.com/Islandora-Devops/claw-playbook). | ||
With Git, Vagrant, and Ansible installed, you can spin up a local development environment with | ||
```bash | ||
git clone https://github.com/Islandora-Devops/claw-playbook | ||
cd claw-playbook | ||
vagrant up | ||
``` | ||
See the claw-playbook README for more information. |
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<iframe width="560" height="315" src="https://www.youtube.com/embed/fEDzfSPjKEo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> | ||
|
||
For tools to migrate into Islandora 8 from an existing Islandora 7 instance, please see [migrate_7x_claw](https://github.com/Islandora-devops/migrate_7x_claw) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
For a full tutorial on migrating from CSV, including sample content, please see [migrate_islandora_csv](https://github.com/Islandora-CLAW/migrate_islandora_csv) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,24 @@ | ||
## How to look up a [Gemini](https://github.com/Islandora-CLAW/Crayfish/tree/master/Gemini) entry for a node? | ||
To locate a particular Gemini entry for a node, you need to know the uuid of the node. You can get the uuid for the node by looking at the devel tab in Drupal or you can get it from json representation: `http://localhost:8000/node/2?_format=json`. | ||
## How to look up a Gemini entry for a node? | ||
|
||
You can look up Gemini entries for node using the Gemini service via curl or a REST client such as POSTman. | ||
Gemini is a service that maps Drupal URIs to their corresponding Fedora URIs. Each entry is keyed on the UUID assigned by Drupal. | ||
|
||
To get the UUID of a node, taxonomy term, or media entity (see Note below) in Drupal, you can look in the Devel tab or in the JSON representation, e.g.: `http://localhost:8000/node/2?_format=json`. | ||
|
||
Then, you can look up the entry for that UUID using the Gemini service. It's a REST interface, so you can use a REST client such as POSTman, or a command-line tool such as `curl`: | ||
|
||
``` | ||
curl -H "Authorization:Bearer islandora" http://localhost:8000/gemini/uuid_value | ||
curl -H "Authorization:Bearer islandora" http://localhost:8000/gemini/[uuid_value] | ||
``` | ||
|
||
Alternatively, you can login to MySQL database, select the gemini database and issue the following query: | ||
Alternatively, you can login to your SQL database, choose the gemini database, and issue the following query: | ||
|
||
` | ||
select * from Gemini where uuid="uuid_value"; | ||
` | ||
|
||
Note: Media objects for files in Fedora aren't indexed in Gemini because they are not reliable. See [Github Issue #1079](https://github.com/Islandora-CLAW/CLAW/issues/1079). | ||
|
||
## How to look up a file metadata in Fedora? | ||
Files in Fedora have the file URI in Gemini. However, Media for files in Fedora aren't indexed in Gemini because they are not reliable. To look up file metadata, go to `file_uri + /fcr:metadata`. | ||
Files in Fedora have their file URIs in Gemini. To see file metadata in Fedora, go to `file_uri + /fcr:metadata`. | ||
|
||
For more information about the Gemini service, see the [Gemini README](https://github.com/Islandora-CLAW/Crayfish/tree/master/Gemini). |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,68 @@ | ||
!!! todo | ||
* You might want to use collections to organize, describe, and help with navigation. | ||
* A collection is just another node | ||
* All nodes can be members of other nodes. | ||
* You can edit a node’s Member relationships in… | ||
* If you remove something from a collection does it get deleted? | ||
* The ‘everything is a collection’ setting is is configurable, but where? | ||
Collections are groups of repository content that can be described themselves. Repository content is aggregated in a collection by setting the `field_member_of` | ||
entity reference field to point to a collection. Generally speaking, anything can behave as a collection, and anything with `field_member_of` can be a member of a collection. | ||
However, collections are 'officially' designated as such by applying the "Collection" taxonomy term to an item's `field_model` field. By default, Islandora 8 has a context configured to handle collections by looking for that term. | ||
|
||
!!! Tip "Collections and Deleting" | ||
Collections and their members are | ||
independent of each other, and removing something from a collection does not delete it. **Similarly, deleting a | ||
collection does not delete its members.** | ||
|
||
## Creating a Collection | ||
|
||
From the front page, click on Add content. This is under Tools. | ||
|
||
![Click on add content, under tools](../assets/add-content-collection.jpg) | ||
|
||
Then click on 'Repository Item' to give your collection the default metadata profile for Islandora 8. | ||
|
||
![Click on Repository Item](../assets/repository-item-collection.jpg) | ||
|
||
Fill out the form. | ||
|
||
Near the end of the form, under System, select Collection from the Model drop down list. | ||
|
||
![Near end of form, under System, select collection](../assets/system-collection.jpg) | ||
|
||
Click Save when done. | ||
|
||
![The collection has been created. Now let's add some members to this collection.](../assets/collection-parent-node.jpg) | ||
|
||
The collection has been created. Now let's add some members to this collection. | ||
|
||
## Add Existing Items to a Collection | ||
|
||
To populate a collection with existing items, return to any existing content and click on its Edit tab. This brings up the form for this item. | ||
|
||
![To populate a collection with existing items, return to any existing content and click on its Edit tab.](../assets/edit-photo-collection.jpg) | ||
|
||
Scroll down to the bottom and the System section. In the Member of section, start typing in the name of the collection this item should belong to. Select the name of the collection | ||
you want from the autocomplete. | ||
|
||
![Scroll down to the bottom and the System section. In the Member of section, start typing in the name of the collection this item should belong to.](../assets/member-of-collection.jpg) | ||
|
||
The correct collection is now selected. Click Save when ready. | ||
|
||
![The correct collection is now selected. Click Save when ready.](../assets/member-of-collection-selected.jpg) | ||
|
||
To confirm, return to the collection and verify the new item appears in the collection's 'Members' block. | ||
|
||
![To confirm, return to the collection and verify the new item appears in the collection's 'Members' block.](../assets/snowfall-collection.jpg) | ||
|
||
## Add a New Item as a Member of a Collection | ||
|
||
To create an item and add it as a member to a collection in one step, visit a collection and click on its `Members` tab. From the | ||
`Members` tab, you can manage the members of a collection and perform actions on them. | ||
|
||
![From the 'Members' tab, you can manage the members of a collection and perform bulk operations on them.](../assets/members-tab.png) | ||
|
||
Click on the `+Add member` button, and then select 'Repository Item' to give your new item a Content Type. Only content types that | ||
have the `field_member_of` field will be available from this list. | ||
|
||
![Click on the '+Add member' button, and then select 'Repository Item' to give your new item a Content Type.](../assets/select-content-type-for-new-member.png) | ||
|
||
You are taken to the creation form for a Repository Item, but if you scroll down to the `System` section, you should see the widget | ||
for 'Member Of' is already filled out for you with the appropriate collection. | ||
|
||
![You should see the widget for 'Member Of' is already filled out for you with the appropriate collection.](../assets/member-of-collection-selected.jpg) | ||
|
||
Click 'Save' at the end of the form to create the new item and add it as a member to the collection. |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
To create a new item in your Islandora 8 digital repository, we start by creating a node. | ||
A node holds the descriptive metadata for content, as well as grouping together an original file and | ||
all of the derivatives files generated from it. To create a new node, click on Add content. | ||
This is under Tools. | ||
|
||
![Click on add content](../assets/add-content-loading-media.jpg) | ||
|
||
Then click on Repository Item. This will assign the default metadata profile to your item. | ||
|
||
![Click on repository item](../assets/repository-item.jpg) | ||
|
||
Fill out the form. We're going to create an image, so under System, select "Image" from the "Model" | ||
drop down box. Selecting different models will impact how Islandora handles content, dictating | ||
important behaviours such as display and derivative generation. | ||
|
||
![Under system select appropriate model, or format](../assets/under-system-select-format.jpg) | ||
|
||
When done, click Save. | ||
|
||
## Upload an Original File | ||
|
||
Congratulations, you have created a Node! But alas, it has no files. To upload a file, click on the | ||
node's Media tab. | ||
|
||
![When done, click on Media](../assets/click-media.jpg) | ||
|
||
Then click on Add Media (a blue button). | ||
|
||
![Click on Add Media](../assets/add-media.jpg) | ||
|
||
We want to add an image, so clicking on "Image" is appropriate in most circumstances. Drupal considers | ||
any type of image that can be viewed natively in the browser as an "Image". For other image types that | ||
require special viewers, such as Tiffs, you have to choose "File" | ||
|
||
![Click on image option](../assets/image-option.png) | ||
|
||
You are now presented with the form for the technical metadata of the file. There are three required | ||
parts of the form: | ||
|
||
1. The media's name. | ||
1. The file to upload. | ||
1. The usage of the file, which dictates how Islandora interprets the file. To trigger derivative | ||
generation, select "Original File" from the drop down box. | ||
|
||
![You are now presented with the form for the technical metadata of the file.](../assets/adding-image.jpg) | ||
|
||
Click save when done, and the file will be uploaded (to Fedora by default). Now return to the node | ||
you created and you should see the image along with its descriptive metadata. | ||
|
||
![The file is now loaded, return to the main site to view](../assets/final-loaded-image.jpg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider using Youtube's "no cookie" URL: https://www.youtube-nocookie.com/embed/fEDzfSPjKEo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was my mistake I forgot to test this by actually building the Mkdocs. This works as is.