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

"Islandora 8" audit #2084

Merged
merged 23 commits into from
Apr 13, 2022
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
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
2 changes: 1 addition & 1 deletion docs/contributing/contributing-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ We operate under the [Islandora Community Code of Conduct](https://www.islandora
- If there is an urgent need for the pull request to be addressed quickly, indicate the need in the pull request template or a comment.
- Complexity should also be taken into account when evaluating how quickly to merge a pull request. Changes that affect core modules or make extensive changes should receive more review and testing.
- All interested parties should be satisfied before something is merged; no hard numbers. If you know who is likely to be interested, tag them. Tag the creator of the issue if possible. Make a reasonable effort.
- If a pull request languishes without response when one is needed, tag @Islandora/8-x-committers (or @Islandora-Devops/committers if you’re working on install code) with a reminder and/or put the issue on the agenda for the next Islandora 8 Tech Call
- If a pull request languishes without response when one is needed, tag @Islandora/8-x-committers (or @Islandora-Devops/committers if you’re working on install code) with a reminder and/or put the issue on the agenda for the next Islandora Tech Call
- All contributions to GitHub must be accompanied by either an Individual Contributor License or a Corporate Contributor License covering the contributor.

#### Development Workflow:
Expand Down
18 changes: 10 additions & 8 deletions docs/contributing/editing-docs.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Editing Documentation

## Overview
These documentation pages are written and maintained by volunteers from the Islandora community, and new contributions are always welcomed. The documentation that you see here is formatted in the easy to use [MarkDown](http://en.wikipedia.org/wiki/Markdown) markup language, which can add formatting such as links, headings, and bolded text. Then the documentation HTML site is built using [mkdocs](https://www.mkdocs.org/) from the MarkDown files hosted in the Islandora [documentation](https://github.com/Islandora/documentation) GitHub repo. This documentation is rebuilt automatically upon changes being committed to GitHub, so you will see changes reflected here within a few minutes of making an edit.
These documentation pages are written and maintained by volunteers from the Islandora community, and new contributions are always welcomed. The documentation that you see here is formatted in the easy-to-use [Markdown](http://en.wikipedia.org/wiki/Markdown) markup language, which can add formatting such as links, headings, and bolded text. Then the documentation HTML site is built using [mkdocs](https://www.mkdocs.org/) from the Markdown files hosted in the Islandora [documentation](https://github.com/Islandora/documentation) GitHub repo. This documentation is rebuilt automatically upon changes being committed to GitHub, so you will see changes reflected here within a few minutes of making an edit.

The [Islandora Documentation Interest Group](https://github.com/islandora-interest-groups/Islandora-Documentation-Interest-Group) holds regular meetings to discuss how to improve and expand Islandora's documentation. If you are interested in becoming involved, all are welcome to join. If you just want to make a contribution to the existing documentation, that process is outlined here.

Expand All @@ -10,15 +10,17 @@ The [Islandora Documentation Interest Group](https://github.com/islandora-intere
To edit documentation in Islandora, you must:

- have a [GitHub](https://github.com/) account.
- NOTE: Github accounts are free and only require a valid email address.
- have a very basic familiarity with GitHub terms such as [fork](https://guides.github.com/activities/forking/), [branch](https://guides.github.com/activities/hello-world/#branch), and [pull request](https://guides.github.com/activities/hello-world/#pr).
- be a member of the Islandora [GitHub Organization](https://github.com/orgs/Islandora/people).
- This is only needed if you want to commit changes directly to the documentation. Non-members may still make pull requests. To request an invite, email community@islandora.ca or ask on the Islandora Slack.
- have a basic familiarity with [Markdown](http://en.wikipedia.org/wiki/Markdown), or a good [MarkDown cheat sheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet).
- for example, you may use MarkDown syntax to create links and section headings.
- Github accounts are free and only require a valid email address.
- have a very basic familiarity with Git terms such as [fork](https://guides.github.com/activities/forking/), [branch](https://guides.github.com/activities/hello-world/#branch), and [pull request](https://guides.github.com/activities/hello-world/#pr).
- optionally, be a member of the Islandora [GitHub Organization](https://github.com/orgs/Islandora/people).
- To request an invite, email community@islandora.ca or ask on the Islandora Slack.
- This is only needed if you want to commit changes directly to the documentation. Non-members may still make pull requests.
- be willing to learn with [Markdown](http://en.wikipedia.org/wiki/Markdown) - a good [Markdown cheat sheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) can help.
rosiel marked this conversation as resolved.
Show resolved Hide resolved
- for example, you may use Markdown syntax to create links and section headings.
- follow the [Islandora Documentation Style Guide](docs_style_guide.md).
- have either an individual [Contributor License Agreement](https://github.com/Islandora/islandora/wiki/Contributor-License-Agreements) (CLA) on file with the Islandora Foundation, or work for an organization that has a corporate Contributor License Agreement on file with the Islandora Foundation.
- for information on how to fill out and submit a Contributor License Agreement (CLA) for yourself and/or your organization visit the [License Agreements](https://islandora.github.io/documentation/contributing/CONTRIBUTING/#license-agreements) section of the "How to contribute" documentation page.
- by participating in the Islandora Community, you are agreeing to act according to the [Islandora Code of Conduct](https://www.islandora.ca/code-of-conduct).

## How to edit documentation using a web browser

Expand All @@ -39,7 +41,7 @@ If you _are_ a member of the Islandora GitHub organization, you will be able to
![start a new branch and PR](../assets/editing-docs-branch.png)

- You will be taken to the [pull request template](https://github.com/Islandora/documentation/blob/main/.github/PULL_REQUEST_TEMPLATE.md) which will prompt you to fill out some basic information about what you have changed, and why. Replace all relevant instances of _Replace this text_ with your own text.
- You will have the option to tag _Interested Parties_, or people you would like to review your work, by writing in their GitHub account name after the `@` symbol. If you don't have anyone specific in mind, you may tag `@Islandora/8-x-committers` to alert all Islandora 8 Committers that there is a new pull request for their review.
- You will have the option to tag _Interested Parties_, or people you would like to review your work, by writing in their GitHub account name after the `@` symbol. If you don't have anyone specific in mind, you may tag `@Islandora/8-x-committers` to alert all Islandora Committers that there is a new pull request for their review.

![start a new branch and PR](../assets/editing-docs-PR.png)

Expand Down
18 changes: 9 additions & 9 deletions docs/technical-documentation/rest-create.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ These are defined under [Authorization](./using-rest-endpoints.md#authorization)

![REST configuration](../assets/rest-node-configuration.png)

The above setup shows that you can perform a POST request against a node at the `/node` endpoint with a body in the JSON format.
The above setup shows a configuration where the JSON format is enabled for GETE, PATCH, DELETE, and POST, with auththentication types "basic_auth" and "jwt_auth" enabled for each method. Thus, with this configuration, you can perform a POST request against a node at the `/node` endpoint with a body in the JSON format.

To create a node you need to provide two elements in your message body. The node type and any _required_ field values.
To create a node, you need to provide two elements in your message body: the node type and any required field values.

For the islandora_defaults included Repository Item these are:

Expand All @@ -26,7 +26,7 @@ For the islandora_defaults included Repository Item these are:

A good way to make your first POST request is to perform a GET request against an existing node and erase all the extra content.

You can find more information about [GET requests here](./rest-get.md)
You can find more information about [GET requests here](./rest-get.md).

Again we are using the json format.

Expand All @@ -44,7 +44,7 @@ Look for the **type** element
]
```

In our example "islandora_object" is the type of the default "Repository Item", if you have created a new type you will have a different target_id.
In our example "islandora_object" is the machine name of the content type "Repository Item". If you have created a new type you will have a different target_id.

You will not need the `target_uuid`.

Expand Down Expand Up @@ -73,7 +73,7 @@ Lastly look for the **field_model** element

You can find the models by browsing the taxonomy terms available at `http://localhost:8000/admin/structure/taxonomy/manage/islandora_models/overview`

In my example installation 24 is an "Image", but let's create a collection which is 23.
In my example installation, term 24 is an "Image", but let's create a collection which is term 23.

**Note**: Taxonomy terms may vary between instances and you should verify the correct number for your installation.

Expand Down Expand Up @@ -143,15 +143,15 @@ The parts of the above request are:

## Files and Media

Drupal is supposed to have a way to upload files, but this seems to require the use of an X-CSRF-Token, which can only be retrieved using Cookie authentication and even then does not allow you to upload.
The Drupal REST UI is supposed to have a way to upload files, but this seems to require the use of an X-CSRF-Token, which can only be retrieved using Cookie authentication and even then does not allow you to upload.

Consequently there is a REST endpoint not listed in the REST UI, because it is not configurable and is part of the Islandora 8 system.
However there is a special REST endpoint created by Islandora, which is less configurable and is not part of the above-mentioned REST UI.

This endpoint is available at `http://localhost:8000/node/{node id}/media/{media type}/{media use}`

It only accepts PUT requests. If the media and file don't exist they are created, if they exist the file is updated with the new body.

The node and taxonomy term are used to search (via an [entity query](https://api.drupal.org/api/drupal/core!lib!Drupal.php/function/Drupal%3A%3AentityQuery/8.6.x)) for a media. If this media exists the body of the file is replaced with the new content, otherwise a new file is created to hold the contents.
The node id and taxonomy term id are used to search (via an [entity query](https://api.drupal.org/api/drupal/core!lib!Drupal.php/function/Drupal%3A%3AentityQuery/8.6.x)) for a matching media. If this media exists the body of the file is replaced with the new content, otherwise a new file and media are created to hold the content.

The tokens to this URI are as follows:

Expand All @@ -161,7 +161,7 @@ The tokens to this URI are as follows:

You can find the media use taxonomy terms at `http://localhost:8000/admin/structure/taxonomy/manage/islandora_media_use/overview`

So the body of the request is the actual binary file to upload.
The body of the request is the actual binary file to upload.

🍎 For example:

Expand Down
10 changes: 5 additions & 5 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
site_name: Islandora 8
site_name: Islandora
site_dir: site
docs_dir: docs
site_description: Documentation for Islandora 8
site_description: Documentation for Islandora

dev_addr: 'localhost:8111'
repo_url: https://github.com/Islandora/documentation
Expand Down Expand Up @@ -60,9 +60,9 @@ nav:
# also see user-intro.md#architecture for the cheeseburger/bento box analogy
# Conceptual/ reference, all user roles/ sys admins/ developers:
# procedural information should be moved out installation guides
- 'Modelling content in Islandora 8 vs. 7': 'user-documentation/objects_to_resource_nodes.md'
- 'Modelling content in Islandora vs. Legacy': 'user-documentation/objects_to_resource_nodes.md'
# conceptual, all user roles
# moved from User documentation > Content in Islandora 8
# moved from User documentation > Content in Islandora
- Islandora Defaults: 'reference/islandora_defaults_reference.md'
- Installation:
# Procedural, different user roles: clarify who the audience is for a
Expand Down Expand Up @@ -130,7 +130,7 @@ nav:
# conceptual, repository managers
- 'Versioning': 'user-documentation/versioning.md'
# conceptual/ reference, repository managers/ developers
- Content in Islandora 8:
- Content in Islandora:
# largely conceptual, repository managers and to some extent curators
# currently duplicates a section also present under "User documentation",
# develop into procedural documentation for repository
Expand Down