Skip to content
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

Merged
merged 26 commits into from
Apr 18, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c0b8104
Create creating collection.md
alexkent0 Mar 7, 2019
ffabd2a
Create loading media.md
alexkent0 Mar 7, 2019
a740f84
Add files via upload
alexkent0 Mar 7, 2019
cc9d9db
Update and rename loading media.md to loading-media.md
alexkent0 Mar 7, 2019
b424640
Update loading-media.md
alexkent0 Mar 7, 2019
6b429f8
Add files via upload
alexkent0 Mar 7, 2019
122f489
Update creating collection.md
alexkent0 Mar 7, 2019
450a416
Update creating collection.md
alexkent0 Mar 7, 2019
34283fa
Add files via upload
alexkent0 Mar 7, 2019
a33bb33
Update loading-media.md
alexkent0 Mar 7, 2019
c40258d
Merge branch 'patch-3' of https://github.com/alexkent0/CLAW into alex…
dannylamb Apr 8, 2019
0fac44e
Merge branch 'patch-2' of https://github.com/alexkent0/CLAW into alex…
dannylamb Apr 8, 2019
e0a1756
Touching up @alexkent0's excellent work on collections
dannylamb Apr 9, 2019
60b508b
Make the Gemini lookup text less node-specific.
rosiel Apr 11, 2019
6a195fb
Merge branch 'master' of https://github.com/Islandora-CLAW/CLAW into …
dannylamb Apr 12, 2019
f1af2f5
Merge remote-tracking branch 'origin/rosiel-patch-1' into alexkent0-p…
dannylamb Apr 12, 2019
e8de11e
Another editorial pass on top of all the great work from everyone
dannylamb Apr 12, 2019
dad304e
Moving around some install language
dannylamb Apr 12, 2019
937daf7
s/CLAW/8
dannylamb Apr 17, 2019
a9fb842
Adding emphasis to rules around collections and deleting.
dannylamb Apr 17, 2019
4971aad
Less caveman like speech
dannylamb Apr 17, 2019
66b108c
Fix broken image links
dannylamb Apr 17, 2019
4dd4416
Cleaning up info blocks, symlinks, and TOC
dannylamb Apr 17, 2019
d565fe0
More feedback from @whikloj
dannylamb Apr 17, 2019
db719c6
Merge branch 'master' into alexkent0-patch-3
dannylamb Apr 18, 2019
2aa83d5
Adding `testing-notes.md` back in.
dannylamb Apr 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/alpaca/README.md

This file was deleted.

Binary file added docs/assets/Add content.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Add media.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Click media.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Final loaded image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Image option.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/Under system select format.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/add-content-collection.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/add-content-loading-media.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/add-media.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/adding image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/adding-image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/click-media.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/collection-parent-node.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/edit-photo-collection.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/final-loaded-image.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/form-collection.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/image-option.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/member-of-collection-selected.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/member-of-collection.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/members-tab.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/repository item.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/repository-item-collection.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/repository-item.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/snowfall-collection.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/system-collection.jpg
Binary file added docs/assets/under-system-select-format.jpg
1 change: 0 additions & 1 deletion docs/chullo/README.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/crayfish-commons/README.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/crayfish/README.md

This file was deleted.

21 changes: 3 additions & 18 deletions docs/index.md
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.
8 changes: 8 additions & 0 deletions docs/installation.md
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.
1 change: 0 additions & 1 deletion docs/islandora/README.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/jsonld/README.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/syn/README.md

This file was deleted.

3 changes: 3 additions & 0 deletions docs/technical-documentation/migrate-7x.md
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>
Copy link
Contributor

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

Copy link
Member

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.


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)
1 change: 1 addition & 0 deletions docs/technical-documentation/migrate-csv.md
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)
20 changes: 14 additions & 6 deletions docs/technical-documentation/testing-notes.md
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).
13 changes: 0 additions & 13 deletions docs/user-documentation/add-member-to-collection.md

This file was deleted.

75 changes: 68 additions & 7 deletions docs/user-documentation/collections.md
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.
25 changes: 15 additions & 10 deletions docs/user-documentation/content_types.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Create / Update a Content Type

!!! tip The screenshots and pre-existing data in this documentation assume that you are using the [Islandora Demo](https://github.com/Islandora-CLAW/islandora_demo) configuration.
!!! info
The screenshots and pre-existing data in this documentation assume that you are using the [Islandora Demo](https://github.com/Islandora-CLAW/islandora_demo) configuration.

!!! tip This page will address how to create and modify ingest forms (or rather, content types) via the GUI. For help working with forms via the API, please check out the [Further Reading](#further-reading) section for links to more advanced Drupal documentation.
!!! info
This page will address how to create and modify ingest forms (or rather, content types) via the GUI. For help working with forms via the API, please check out the [Further Reading](#further-reading) section for links to more advanced Drupal documentation.

Since objects in Islandora 8 are stored in Drupal as Nodes, we use the standard Drupal Content Types system to create and edit our ‘ingest forms’ [Content Types in Drupal 8](https://www.drupal.org/docs/8/administering-drupal-8-site/managing-content-0/working-with-content-types-and-fields). Islandora 8 forms are Drupal forms, and if you are already familiar with Drupal Field UI, you’re already well equipped to create and modify your own ingest forms in Islandora 8.

Expand All @@ -12,7 +14,7 @@ This page will address how to create and modify ingest forms (or rather, content

If you have deployed your Islandora 8 with the Islandora Demo configuration, you will already have a Repository Item content type available, with pre-configured fields. In the Admin menu, go to Structure >> Content Types and find the Repository Item content type. Select *Manage Fields*.

![a screenshot of the Add Content Type page](/docs/assets/islandora8_managefields.png)
![a screenshot of the Add Content Type page](../assets/islandora8_managefields.png)

You will see a list of the fields that are already available in the *Repository Item* content type.

Expand All @@ -28,21 +30,24 @@ Let’s add a new field where a user can indicate if the repository item needs t
1. Then configure how the field is described (including its display label and the help text for when it appears on a form) and constraints on its use. In this case, the field will be required for this Content Type, and will be set to “on” by default. In the "Default Value" section, click the checkbox next to "Needs Review" to indicate all new repository items need review by default.
1. Click "Save settings."

![a screenshot of the field settings page](/docs/assets/islandora8_fieldsettings.png)
![a screenshot of the field settings page](../assets/islandora8_fieldsettings.png)

The new field has been added:

![a screenshot of a "Needs Review?" field in the Drupal field UI](/docs/assets/islandora8_newfield.png)
![a screenshot of a "Needs Review?" field in the Drupal field UI](../assets/islandora8_newfield.png)

And it appears in the ingest form when we try to create a new repository object. To test this, go to Content >> Add content >> Repository item:

![a screenshot of a "Needs Review?" field appearing at the bottom of a new node form](/docs/assets/islandora8_newfieldinform.png)
![a screenshot of a "Needs Review?" field appearing at the bottom of a new node form](../assets/islandora8_newfieldinform.png)

!!! tip New fields, with the exception of Typed Relation fields, are not automatically indexed in Fedora and the triple-store. Update the Content Type's RDF Mapping to enable indexing the field (see below).
!!! tip "RDF Mappings"
New fields, with the exception of Typed Relation fields, are not automatically indexed in Fedora and the triple-store. Update the Content Type's RDF Mapping to enable indexing the field (see below).

!!! tip New fields will not automatically be searchable. They need to be added to the SOLR index configuration. See the ['Setup and Configure Search'](searching.md) page for more information.
!!! tip "Search"
New fields will not automatically be searchable. They need to be added to the SOLR index configuration. See the ['Setup and Configure Search'](searching.md) page for more information.

!!! tip To add new behavior based on the results of this new field, check out [link to Context docs](docs/user-documentation/searching.md)
!!! tip "Context"
To add new behavior based on the results of this new field, check out [link to Context docs](searching.md)

### Change the Form Display

Expand All @@ -57,7 +62,7 @@ When creating a new Repository Item, the new field appears at the top, as a set

Finally, let’s change how the results of this field are displayed. Initially the new field shows up at the bottom of repository object pages:

![a screenshot of a "Needs Review?" field in the node display](/docs/assets/islandora8_fieldindisplay.png)
![a screenshot of a "Needs Review?" field in the node display](../assets/islandora8_fieldindisplay.png)

In the Admin menu, return to Structure > Content Types and find the Repository Item content type again. Select Manage display from the dropdown menu.

Expand Down
10 changes: 0 additions & 10 deletions docs/user-documentation/create-collection.md

This file was deleted.

50 changes: 50 additions & 0 deletions docs/user-documentation/creating-an-object.md
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)
Loading