diff --git a/.gitignore b/.gitignore
index ca4a21476..437c69726 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,6 @@ services/ResourceService/config/settings.dev.yml
services/TransactionService/config/settings.dev.yml
services/config/settings.dev.yml
install/scripts/composer.json
-CONTRIBUTING/
+docs/contributing/CONTRIBUTING.md
README/
/.idea/
diff --git a/docs/concepts/collection.md b/docs/concepts/collection.md
index d6315bfed..4260a5aba 100644
--- a/docs/concepts/collection.md
+++ b/docs/concepts/collection.md
@@ -10,7 +10,7 @@ Collections are groups of related content that can be viewed or managed as a uni
Islandora provides:
-- a mechanism for grouping nodes under a "Parent" node through the generic "Member Of" relationship field (`field_member_of`). This mechanism is also used by _[Paged Content](../user-documentation/paged-content.md)_ and _Compound Objects_. Islandora on its own does not prescribe any particular [Content Type](../user-documentation/content_types.md), so this field can be configured for any [node bundle](https://www.drupal.org/docs/drupal-apis/entity-api/bundles) intended to represent Islandora resources.
+- a mechanism for grouping nodes under a "Parent" node through the generic "Member Of" relationship field (`field_member_of`). This mechanism is also used by _[Paged Content](../user-documentation/paged-content.md)_ and _Compound Objects_. Islandora on its own does not prescribe any particular [Content Type](../user-documentation/content-types.md), so this field can be configured for any [node bundle](https://www.drupal.org/docs/drupal-apis/entity-api/bundles) intended to represent Islandora resources.
- a "Children" tab on resources, which provides a management interface to access, re-order, add, or delete the members of a resource based on the Member Of field.
- a "Model" field (`field_model`) which can take various values including "Collection".
@@ -20,8 +20,8 @@ Islandora provides:
Islandora Starter Site provides:
-- a [Content Type](../user-documentation/content_types.md) "Repository Item" that uses the `field_member_of` field, so that users may add nodes of this type to a collection (or paged content, or compound resource),
-- A [View](../tutorials/create_update_views.md) showing the members of the collection.
+- a [Content Type](../user-documentation/content-types.md) "Repository Item" that uses the `field_member_of` field, so that users may add nodes of this type to a collection (or paged content, or compound resource),
+- A [View](../tutorials/create-update-views.md) showing the members of the collection.
- logic (a [Context](../user-documentation/context.md)) such that if a resource is tagged as a "Collection" (in the "Model" field, then a view of its members will show on the collection's page.
For more details, see the tutorial on [How to create and add to a collection](../tutorials/how-to-create-collection.md)
diff --git a/docs/concepts/node-concepts.md b/docs/concepts/node-concepts.md
index 0395a4d93..6bcb8483b 100644
--- a/docs/concepts/node-concepts.md
+++ b/docs/concepts/node-concepts.md
@@ -22,7 +22,7 @@ It also enables a repository manager to create children of nodes directly, indiv
Within a single content type (i.e. metadata profile), Islandora provides the ability to designate
some objects as different "types" than others. Key behaviours, such as what [derivatives](derivatives.md) are created
-or what [viewer](../user-documentation/file_viewers.md) is used, can be configured
+or what [viewer](../user-documentation/file-viewers.md) is used, can be configured
(see [Contexts](../user-documentation/context.md)) based on this value. The available values
are taxonomy terms in the Islandora Models vocabulary, and they are attached to nodes via the special
mandatory field, "Model" (`field_model`), which must be present on all Islandora content types.
diff --git a/docs/concepts/rdf.md b/docs/concepts/rdf.md
index 3f5fdee10..b733063e6 100644
--- a/docs/concepts/rdf.md
+++ b/docs/concepts/rdf.md
@@ -29,7 +29,7 @@ media, and taxonomy terms to RDF predicates.
Namepspaces in RDF must be registered before they can be used. The
Islandora module registers a number of namespaces and more can be
-added using `hook_rdf_namespaces()`. See [RDF Mappings](../user-documentation/linked_data.md)
+added using `hook_rdf_namespaces()`. See [RDF Mappings](../user-documentation/linked-data.md)
for more details.
## Exposure as JSON-LD
@@ -52,4 +52,4 @@ to the appropriate target.
Files can be stored in Fedora directly, using the Flysystem module. Whether
or not a file is in Fedora, information about that file can be synced (from Drupal Media) into Fedora.
-Neither Fedora nor Blazegraph are read as part of the standard Islandora configuration.
\ No newline at end of file
+Neither Fedora nor Blazegraph are read as part of the standard Islandora configuration.
diff --git a/docs/contributing/create_issues.md b/docs/contributing/create-issues.md
similarity index 100%
rename from docs/contributing/create_issues.md
rename to docs/contributing/create-issues.md
diff --git a/docs/contributing/docs_style_guide.md b/docs/contributing/docs-style-guide.md
similarity index 100%
rename from docs/contributing/docs_style_guide.md
rename to docs/contributing/docs-style-guide.md
diff --git a/docs/contributing/editing-docs.md b/docs/contributing/editing-docs.md
index ea43a38ee..615206fea 100644
--- a/docs/contributing/editing-docs.md
+++ b/docs/contributing/editing-docs.md
@@ -17,7 +17,7 @@ To edit documentation in Islandora, you must:
- 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 [Markdown](http://en.wikipedia.org/wiki/Markdown) - a good [Markdown cheat sheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) can help.
- for example, you may use Markdown syntax to create links and section headings.
-- follow the [Islandora Documentation Style Guide](docs_style_guide.md).
+- 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).
diff --git a/docs/contributing/readme_template.md b/docs/contributing/readme-template.md
similarity index 100%
rename from docs/contributing/readme_template.md
rename to docs/contributing/readme-template.md
diff --git a/docs/installation/component_overview.md b/docs/installation/component-overview.md
similarity index 100%
rename from docs/installation/component_overview.md
rename to docs/installation/component-overview.md
diff --git a/docs/installation/manual/configuring_drupal.md b/docs/installation/manual/configuring-drupal.md
similarity index 100%
rename from docs/installation/manual/configuring_drupal.md
rename to docs/installation/manual/configuring-drupal.md
diff --git a/docs/installation/manual/installing_composer_drush_and_drupal.md b/docs/installation/manual/installing-composer-drush-and-drupal.md
similarity index 100%
rename from docs/installation/manual/installing_composer_drush_and_drupal.md
rename to docs/installation/manual/installing-composer-drush-and-drupal.md
diff --git a/docs/installation/manual/installing_crayfish.md b/docs/installation/manual/installing-crayfish.md
similarity index 100%
rename from docs/installation/manual/installing_crayfish.md
rename to docs/installation/manual/installing-crayfish.md
diff --git a/docs/installation/manual/installing_fedora_syn_and_blazegraph.md b/docs/installation/manual/installing-fedora-syn-and-blazegraph.md
similarity index 100%
rename from docs/installation/manual/installing_fedora_syn_and_blazegraph.md
rename to docs/installation/manual/installing-fedora-syn-and-blazegraph.md
diff --git a/docs/installation/manual/installing_karaf_and_alpaca.md b/docs/installation/manual/installing-karaf-and-alpaca.md
similarity index 100%
rename from docs/installation/manual/installing_karaf_and_alpaca.md
rename to docs/installation/manual/installing-karaf-and-alpaca.md
diff --git a/docs/installation/manual/installing_solr.md b/docs/installation/manual/installing-solr.md
similarity index 100%
rename from docs/installation/manual/installing_solr.md
rename to docs/installation/manual/installing-solr.md
diff --git a/docs/installation/manual/installing_tomcat_and_cantaloupe.md b/docs/installation/manual/installing-tomcat-and-cantaloupe.md
similarity index 100%
rename from docs/installation/manual/installing_tomcat_and_cantaloupe.md
rename to docs/installation/manual/installing-tomcat-and-cantaloupe.md
diff --git a/docs/installation/manual/preparing_a_webserver.md b/docs/installation/manual/preparing-a-webserver.md
similarity index 100%
rename from docs/installation/manual/preparing_a_webserver.md
rename to docs/installation/manual/preparing-a-webserver.md
diff --git a/docs/models/audio.md b/docs/models/audio.md
index 6d1b4c588..5acdd493d 100644
--- a/docs/models/audio.md
+++ b/docs/models/audio.md
@@ -17,7 +17,7 @@ Islandora Starter Site sets up a context to automatically create this derivative
* The Audio media is tagged with the "Original File" term (a term with External URI `http://pcdm.org/use#OriginalFile`)
* The media's parent node is tagged with the "Audio" model (a term with External URI `http://purl.org/coar/resource_type/c_18cc`)
-The mimetype formats allowed by Homarus are configured in Homarus itself - see [Installing Crayfish](../installation/manual/installing_crayfish.md#homarus-audiovideo-derivatives)
+The mimetype formats allowed by Homarus are configured in Homarus itself - see [Installing Crayfish](../installation/manual/installing-crayfish.md#homarus-audiovideo-derivatives)
## Display
diff --git a/docs/technical-documentation/adding_format_jsonld.md b/docs/technical-documentation/adding-format-jsonld.md
similarity index 100%
rename from docs/technical-documentation/adding_format_jsonld.md
rename to docs/technical-documentation/adding-format-jsonld.md
diff --git a/docs/technical-documentation/alpaca_tips.md b/docs/technical-documentation/alpaca-tips.md
similarity index 100%
rename from docs/technical-documentation/alpaca_tips.md
rename to docs/technical-documentation/alpaca-tips.md
diff --git a/docs/technical-documentation/docs-build.md b/docs/technical-documentation/docs-build.md
index 658eea9f0..a84e06621 100644
--- a/docs/technical-documentation/docs-build.md
+++ b/docs/technical-documentation/docs-build.md
@@ -35,6 +35,16 @@ You will need to have `mkdocs` software installed locally, as well as a required
`pip3 install mkdocs-git-revision-date-localized-plugin`
+- Install plugin to enable redirects:
+
+ Windows / Linux:
+
+ `sudo -H pip install mkdocs-redirects`
+
+ macOS:
+
+ `pip3 install mkdocs-redirects`
+
- Install Material theme:
diff --git a/docs/technical-documentation/resizing_vm.md b/docs/technical-documentation/resizing-vm.md
similarity index 100%
rename from docs/technical-documentation/resizing_vm.md
rename to docs/technical-documentation/resizing-vm.md
diff --git a/docs/technical-documentation/updating_drupal.md b/docs/technical-documentation/updating-drupal.md
similarity index 100%
rename from docs/technical-documentation/updating_drupal.md
rename to docs/technical-documentation/updating-drupal.md
diff --git a/docs/tutorials/create-a-resource-node.md b/docs/tutorials/create-a-resource-node.md
index 83e1ab806..a5b85e5f9 100644
--- a/docs/tutorials/create-a-resource-node.md
+++ b/docs/tutorials/create-a-resource-node.md
@@ -1,7 +1,7 @@
## Overview
-This tutorial will walk you through adding a piece of digital content (an image and some metadata) into an Islandora repository, creating an Islandora [Resource Node](../user-documentation/content_models.md).
+This tutorial will walk you through adding a piece of digital content (an image and some metadata) into an Islandora repository, creating an Islandora [Resource Node](../user-documentation/content-models.md).
At the end, you will have metadata in a Drupal node, a file stored in Fedora, and derivatives automatically created.
!!! Tip "Video version available"
diff --git a/docs/tutorials/create_update_views.md b/docs/tutorials/create-update-views.md
similarity index 100%
rename from docs/tutorials/create_update_views.md
rename to docs/tutorials/create-update-views.md
diff --git a/docs/tutorials/switch_homepage_to_twig.md b/docs/tutorials/switch-homepage-to-twig.md
similarity index 100%
rename from docs/tutorials/switch_homepage_to_twig.md
rename to docs/tutorials/switch-homepage-to-twig.md
diff --git a/docs/user-documentation/content_models.md b/docs/user-documentation/content-models.md
similarity index 98%
rename from docs/user-documentation/content_models.md
rename to docs/user-documentation/content-models.md
index 4314bb96d..2016f447b 100644
--- a/docs/user-documentation/content_models.md
+++ b/docs/user-documentation/content-models.md
@@ -88,7 +88,7 @@ another content type for generic repository objects that share a more general se
A resource node's content type is set on its creation and is immutable.
The section on [metadata](metadata.md) describes in more detail how fields on Islandora objects work.
-Configuring fields (adding, editing, removing) is usually done through the Manage > Content types interface, as is described in the tutorial, [Create/Update a Content Type](content_types.md).
+Configuring fields (adding, editing, removing) is usually done through the Manage > Content types interface, as is described in the tutorial, [Create/Update a Content Type](content-types.md).
Islandora has a notion of a _content model_, which is used to identify what type of content is
being represented by a node (e.g. an image, a video, a collection of other items, etc...). This is done
@@ -177,7 +177,7 @@ on the **Reorder Children** tab to adjust the order in which they display.
The following pages expand on the concepts discussed above:
- [Media](media.md)
-- Content Types: [Metadata](metadata.md#content-types) -- [Create / Update a Content Type](content_types.md)
+- Content Types: [Metadata](metadata.md#content-types) -- [Create / Update a Content Type](content-types.md)
### Copyright and Usage
@@ -201,7 +201,7 @@ The typical elements of a resource node:
- A content type defining metadata fields defined for the node. A content type may include any number of custom fields defined to store descriptive metadata about the object represented by the node. To function as an Islandora resource node, a content type must define two further fields:
- A field denoting the 'type' of thing represented by the node (image, book, newspaper, etc.). The value of this field is used by Islandora to control views, derivative processing, and other behavior.[^1]
- - A field in which to record the node's [membership](content_models.md#members) in another node. If populated, this field creates a hierarchical relationship between parent (the node recorded in the field) and child (the node in which the parent is recorded). This may be left empty, but is required for building hierarchies for collections, subcollections, and members of collections, as well as objects (books, "compound objects", etc.) consisting of [paged content](paged-content.md).[^2]
+ - A field in which to record the node's [membership](content-models.md#members) in another node. If populated, this field creates a hierarchical relationship between parent (the node recorded in the field) and child (the node in which the parent is recorded). This may be left empty, but is required for building hierarchies for collections, subcollections, and members of collections, as well as objects (books, "compound objects", etc.) consisting of [paged content](paged-content.md).[^2]
- Media files (the actual files of JPEGs, MP3s, .zip, etc.) that get loaded through the form
- Derivative files (thumbnails, web-friendly service files, technical metadata, and more)
diff --git a/docs/user-documentation/content_types.md b/docs/user-documentation/content-types.md
similarity index 100%
rename from docs/user-documentation/content_types.md
rename to docs/user-documentation/content-types.md
diff --git a/docs/user-documentation/extending.md b/docs/user-documentation/extending.md
index 4e1f34814..6c0dca0a7 100644
--- a/docs/user-documentation/extending.md
+++ b/docs/user-documentation/extending.md
@@ -14,7 +14,7 @@ We offer this list for discovery, but do not officially provide support for any
## Recipes
-- [Amazon Alexa](recipes/alexa_search.md) - This recipe explains how to access Islandora with Amazon Alexa.
+- [Amazon Alexa](recipes/alexa-search.md) - This recipe explains how to access Islandora with Amazon Alexa.
- [Collection Searching](https://github.com/Islandora-Labs/Islandora-Cookbook/blob/main/recipes/collection_search.md) -
This recipe provides instructions how to configure a shallow or deep search in a specific collection.
- [Date Range Slider Facet](https://github.com/Islandora-Labs/Islandora-Cookbook/blob/main/recipes/date_range_slider_facet.md) - This recipe explains how to include a facet for date field(s) that presents itself as a range slider.
@@ -118,4 +118,4 @@ A tool for automatically submitting the contents of your site to Archive.org. Th
## Other resources
- [Drupal Contributed Modules](https://www.drupal.org/docs/8/modules)
-- [Drupal Contributed Themes](https://www.drupal.org/docs/8/themes)
\ No newline at end of file
+- [Drupal Contributed Themes](https://www.drupal.org/docs/8/themes)
diff --git a/docs/user-documentation/file_viewers.md b/docs/user-documentation/file-viewers.md
similarity index 100%
rename from docs/user-documentation/file_viewers.md
rename to docs/user-documentation/file-viewers.md
diff --git a/docs/user-documentation/linked_data.md b/docs/user-documentation/linked-data.md
similarity index 100%
rename from docs/user-documentation/linked_data.md
rename to docs/user-documentation/linked-data.md
diff --git a/docs/user-documentation/metadata_harvesting.md b/docs/user-documentation/metadata-harvesting.md
similarity index 100%
rename from docs/user-documentation/metadata_harvesting.md
rename to docs/user-documentation/metadata-harvesting.md
diff --git a/docs/user-documentation/metadata.md b/docs/user-documentation/metadata.md
index 7e0861196..f320b8515 100644
--- a/docs/user-documentation/metadata.md
+++ b/docs/user-documentation/metadata.md
@@ -7,13 +7,13 @@
-As described in the [resource nodes section](content_models.md#resource-nodes), Islandora digital objects are comprised of _Drupal nodes_ for descriptive metadata, _Drupal media_ for technical metadata, and _Drupal files_ for the binary objects. This section describes how Islandora uses and extends Drupal fields to manage descriptive metadata.
+As described in the [resource nodes section](content-models.md#resource-nodes), Islandora digital objects are comprised of _Drupal nodes_ for descriptive metadata, _Drupal media_ for technical metadata, and _Drupal files_ for the binary objects. This section describes how Islandora uses and extends Drupal fields to manage descriptive metadata.
## Content Types
-In Drupal, Nodes come in different subtypes called [Content Type](../user-documentation/glossary#content-type). These let you define a type of content ("Article" and "Basic Page" are Drupal defaults and "Repository Item" is an Islandora specific example), the set of metadata fields that are attached to that content, and how those fields can be edited and displayed. Each [Content Type](../user-documentation/glossary#content-type) is essentially a metadata profile that can be used for a piece of web content, or to describe a digital resource. You can create your own [Content Types](../user-documentation/glossary#content-type) for your Islandora project or use a pre-defined one like Repository Item from the Islandora Starter Site. We will go over the metadata specific aspects of Content Types below, but for a fuller walk-through of creating a [Content Type](../user-documentation/glossary#content-type) [see here](content_types.md#create-a-content-type).
+In Drupal, Nodes come in different subtypes called [Content Type](../user-documentation/glossary#content-type). These let you define a type of content ("Article" and "Basic Page" are Drupal defaults and "Repository Item" is an Islandora specific example), the set of metadata fields that are attached to that content, and how those fields can be edited and displayed. Each [Content Type](../user-documentation/glossary#content-type) is essentially a metadata profile that can be used for a piece of web content, or to describe a digital resource. You can create your own [Content Types](../user-documentation/glossary#content-type) for your Islandora project or use a pre-defined one like Repository Item from the Islandora Starter Site. We will go over the metadata specific aspects of Content Types below, but for a fuller walk-through of creating a [Content Type](../user-documentation/glossary#content-type) [see here](content-types.md#create-a-content-type).
-Not all [Content Types](../user-documentation/glossary#content-type) in your Drupal site need be [Islandora Resource Nodes](content_models.md#resource-nodes). Making a [Content Type](../user-documentation/glossary#content-type) a Resource Node will associate Islandora specific behaviours (such as syncing to Fedora or causing derivatives to be generated) with it. The decision to make a content an Islandora resource node is left to the discretion of the site manager. In Islandora, a "resource node" is usually considered a descriptive record for "a thing", and is conceptually similar to an "Islandora Object" in 7.x, i.e. a "Fedora Object" in Fedora 3.x and below. Read more on configuring a [Content Type](../user-documentation/glossary#content-type) to be treated as a [Resource Node](content_types.md#create-a-content-type).
+Not all [Content Types](../user-documentation/glossary#content-type) in your Drupal site need be [Islandora Resource Nodes](content-models.md#resource-nodes). Making a [Content Type](../user-documentation/glossary#content-type) a Resource Node will associate Islandora specific behaviours (such as syncing to Fedora or causing derivatives to be generated) with it. The decision to make a content an Islandora resource node is left to the discretion of the site manager. In Islandora, a "resource node" is usually considered a descriptive record for "a thing", and is conceptually similar to an "Islandora Object" in 7.x, i.e. a "Fedora Object" in Fedora 3.x and below. Read more on configuring a [Content Type](../user-documentation/glossary#content-type) to be treated as a [Resource Node](content-types.md#create-a-content-type).
### Fields
diff --git a/docs/user-documentation/paged-content.md b/docs/user-documentation/paged-content.md
index 5b4546a38..74e7f8dba 100644
--- a/docs/user-documentation/paged-content.md
+++ b/docs/user-documentation/paged-content.md
@@ -1,7 +1,7 @@
# Paged Content
Paged content, such as books, periodicals, photographs with the front and back, etcetera,
- can use the [membership](content_models.md#members) structure provided by Islandora, namely, `field_member_of`.
+ can use the [membership](content-models.md#members) structure provided by Islandora, namely, `field_member_of`.
This involves creating a resource node for the root record (i.e. the entire book or the photograph)
and child resource nodes for each sub-component (e.g. "Page 1", "Page 2", etc., or "recto" and "verso")
with their corresponding media. Each "child" resource node contains a reference to their "parent" resource node
diff --git a/docs/user-documentation/recipes/alexa_search.md b/docs/user-documentation/recipes/alexa-search.md
similarity index 100%
rename from docs/user-documentation/recipes/alexa_search.md
rename to docs/user-documentation/recipes/alexa-search.md
diff --git a/docs/user-documentation/versioning.wiki b/docs/user-documentation/versioning.wiki
new file mode 100644
index 000000000..698a85c51
--- /dev/null
+++ b/docs/user-documentation/versioning.wiki
@@ -0,0 +1,24 @@
+
+= Versioning =
+
+As a user of an Islandora repository, you may be wondering - Is this content being versioned? Could I restore from a previous version if I needed to? Can I see a list of versions for an object? The answer to these questions is two-fold, and largely yes. The architecture of Islandora provides users with a Drupal implementation and a Fedora implementation which are connected in Islandora.
+
+!!! note “Islandora Software Versioning” Looking for information about versions of Islandora itself? The latest Islandora follows [https://semver.org/ semantic versioning]. Previously, Islandora’s versions were tied to the version of Drupal and numbered in order of release, such as [https://wiki.lyrasis.org/display/ISLANDORA6131/Islandora Islandora 6.x-13.1] or [https://wiki.lyrasis.org/display/ISLANDORA/Start Islandora 7.x-1.13]. [[../technical-documentation/versioning|More information]].
+
+
+== Drupal Revisioning ==
+
+Drupal provides a concept of revisions which allows you to track the differences between multiple versions of your content and revert to older ones. The list of revisions for a node are available at http://localhost:8000/node/1/revisions. There are [https://www.drupal.org/docs/8/administering-a-drupal-8-site/node-revisions Drupal docs] on revisioning. Media objects are also versioned in Drupal but there is not a UI component for this - [https://github.com/Islandora/documentation/issues/1035 see related issue].
+
+
+== Fedora and Memento ==
+
+Fedora implements the [http://mementoweb.org/about/ Memento] specification for versioning resources, which is a time-based HTTP framework. Fedora provides [https://wiki.lyrasis.org/display/FEDORA5x/Versioning documentation] as well as an [https://wiki.lyrasis.org/display/FEDORA5x/RESTful+HTTP+API+-+Versioning API implementation].
+
+
+== Basic Data Flow ==
+
+# A node or media object is created or updated in Drupal.
+# When an entity is revisionable, and it isn’t the initial creation, it [https://github.com/Islandora/islandora/blob/8.x-1.x/src/EventGenerator/EventGenerator.php#L109 adds a flag] to the event object that gets passed to Alpaca.
+# The [https://github.com/Islandora/Alpaca/tree/dev/islandora-indexing-fcrepo islandora-indexing-fcrepo module] of Alpaca looks for that flag and fires a call to the [https://github.com/Islandora/Crayfish/blob/dev/Milliner/src/app.php#L52 versioning endpoint] of [https://github.com/Islandora/Crayfish/tree/dev/Milliner Milliner].
+# Milliner uses the [https://github.com/Islandora/chullo/blob/dev/src/FedoraApi.php#L320 Chullo library] to [https://github.com/Islandora/Crayfish/blob/dev/Milliner/src/Service/MillinerService.php#L551 create a version] in Fedora.
diff --git a/mkdocs.yml b/mkdocs.yml
index cc81523ee..3264cdf3b 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -39,6 +39,32 @@ extra_css:
plugins:
- search
- git-revision-date-localized
+ - redirects:
+ redirect_maps:
+ 'contributing/create_issues.md': 'contributing/create-issues.md'
+ 'contributing/docs_style_guide.md': 'contributing/docs-style-guide.md'
+ 'contributing/readme_template.md': 'contributing/readme-template.md'
+ 'installation/component_overview.md': 'installation/component-overview.md'
+ 'installation/manual/configuring_drupal.md': 'installation/manual/configuring-drupal.md'
+ 'installation/manual/installing_composer_drush_and_drupal.md': 'installation/manual/installing-composer-drush-and-drupal.md'
+ 'installation/manual/installing_crayfish.md': 'installation/manual/installing-crayfish.md'
+ 'installation/manual/installing_fedora_syn_and_blazegraph.md': 'installation/manual/installing-fedora-syn-and-blazegraph.md'
+ 'installation/manual/installing_karaf_and_alpaca.md': 'installation/manual/installing-karaf-and-alpaca.md'
+ 'installation/manual/installing_solr.md': 'installation/manual/installing-solr.md'
+ 'installation/manual/installing_tomcat_and_cantaloupe.md': 'installation/manual/installing-tomcat-and-cantaloupe.md'
+ 'installation/manual/preparing_a_webserver.md': 'installation/manual/preparing-a-webserver.md'
+ 'technical-documentation/adding_format_jsonld.md': 'technical-documentation/adding-format-jsonld.md'
+ 'technical-documentation/alpaca_tips.md': 'technical-documentation/alpaca-tips.md'
+ 'technical-documentation/resizing_vm.md': 'technical-documentation/resizing-vm.md'
+ 'technical-documentation/updating_drupal.md': 'technical-documentation/updating-drupal.md'
+ 'tutorials/create_update_views.md': 'tutorials/create-update-views.md'
+ 'tutorials/switch_homepage_to_twig.md': 'tutorials/switch-homepage-to-twig.md'
+ 'user-documentation/content_models.md': 'user-documentation/content-models.md'
+ 'user-documentation/content_types.md': 'user-documentation/content-types.md'
+ 'user-documentation/file_viewers.md': 'user-documentation/file-viewers.md'
+ 'user-documentation/linked_data.md': 'user-documentation/linked-data.md'
+ 'user-documentation/metadata_harvesting.md': 'user-documentation/metadata-harvesting.md'
+ 'user-documentation/recipes/alexa_search.md': 'user-documentation/recipes/alexa-search.md'
extra:
font:
@@ -81,7 +107,7 @@ nav:
# 'non-technical' user in mind who wants to test. The Manual installation
# guides mention that users will need additional knowledge about server administration.
- 'Release Notes':
- - '8.x-2.0 Release Notes': 'release_notes/8.x-2.0.md'
+ - '8.x-2.0 Release Notes': 'release-notes/8.x-2.0.md'
- 'Older Release Notes': 'https://github.com/Islandora/documentation/tree/main/docs/release_notes'
- 'Install a Demo': 'installation/install-a-demo.md'
- 'ISLE-DC':
@@ -101,14 +127,14 @@ nav:
- 'Ansible Playbook': 'installation/playbook.md'
- Manual Installation:
- 'Introduction': 'installation/manual/introduction.md'
- - 'Preparing a LAPP Webserver': 'installation/manual/preparing_a_webserver.md'
- - 'Installing Composer, Drush, and Drupal': 'installation/manual/installing_composer_drush_and_drupal.md'
- - 'Installing Tomcat and Cantaloupe': 'installation/manual/installing_tomcat_and_cantaloupe.md'
- - 'Installing Fedora, Syn, and Blazegraph': 'installation/manual/installing_fedora_syn_and_blazegraph.md'
- - 'Installing Solr': 'installation/manual/installing_solr.md'
- - 'Installing Crayfish': 'installation/manual/installing_crayfish.md'
- - 'Installing Karaf and Alpaca': 'installation/manual/installing_karaf_and_alpaca.md'
- - 'Configuring Drupal': 'installation/manual/configuring_drupal.md'
+ - 'Preparing a LAPP Webserver': 'installation/manual/preparing-a-webserver.md'
+ - 'Installing Composer, Drush, and Drupal': 'installation/manual/installing-composer-drush-and-drupal.md'
+ - 'Installing Tomcat and Cantaloupe': 'installation/manual/installing-tomcat-and-cantaloupe.md'
+ - 'Installing Fedora, Syn, and Blazegraph': 'installation/manual/installing-fedora-syn-and-blazegraph.md'
+ - 'Installing Solr': 'installation/manual/installing-solr.md'
+ - 'Installing Crayfish': 'installation/manual/installing-crayfish.md'
+ - 'Installing Karaf and Alpaca': 'installation/manual/installing-karaf-and-alpaca.md'
+ - 'Configuring Drupal': 'installation/manual/configuring-drupal.md'
- 'Installing Modules': 'technical-documentation/install-enable-drupal-modules.md'
# procedural, sysadmin
# moved from System Administrator Documentation
@@ -125,13 +151,13 @@ nav:
# procedural, for people learning what islandora is.
- 'Create a Collection': 'tutorials/how-to-create-collection.md'
# procedural, repository managers/ curators
- - 'Modify or Create a Content Type': 'user-documentation/content_types.md'
+ - 'Modify or Create a Content Type': 'user-documentation/content-types.md'
# procedural, repository managers
# add resource page on learning YAML
- 'Configure Blocks': 'tutorials/blocks.md'
# procedural, repository managers
# add/link to conceptual documentation about blocks in Drupal?
- - 'Create or Update a View': 'tutorials/create_update_views.md'
+ - 'Create or Update a View': 'tutorials/create-update-views.md'
# procedural, repository managers
# Add/link to conceptual docs about Views?
- 'Video Documentation': 'user-documentation/video-docs.md'
@@ -144,15 +170,15 @@ nav:
# Conceptual, 'site admins/repository managers'
# move out high-level conceptual information (#architecture section)
- Describing content:
- - 'Content models': 'user-documentation/content_models.md'
+ - 'Content models': 'user-documentation/content-models.md'
# conceptual, all user roles
# moved from User documentation > Content in Islandora
- 'Metadata': 'user-documentation/metadata.md'
# largely conceptual, repository managers/ curators
# information (e.g. move procedure for setting display hints to
- - 'Linked data': 'user-documentation/linked_data.md'
+ - 'Linked data': 'user-documentation/linked-data.md'
# conceptual, repository managers
- - 'Metadata harvesting': 'user-documentation/metadata_harvesting.md'
+ - 'Metadata harvesting': 'user-documentation/metadata-harvesting.md'
# conceptual, repository managers
# add reference documentation for developers
- Searching content:
@@ -165,7 +191,7 @@ nav:
- Viewing content:
- 'Context': 'user-documentation/context.md'
# conceptual and procedural, repository managers
- - 'File viewers': 'user-documentation/file_viewers.md'
+ - 'File viewers': 'user-documentation/file-viewers.md'
# conceptual, understanding a very complex network of config. For repo managers/devs.
- 'IIIF': 'user-documentation/iiif.md'
# conceptual/ procedural, repository managers
@@ -193,7 +219,7 @@ nav:
- 'Extending Islandora': 'user-documentation/extending.md'
# conceptual, repository managers/ developers
- Documentation for Developers:
- - 'Stack Overview': 'installation/component_overview.md'
+ - 'Stack Overview': 'installation/component-overview.md'
# moved from "Installation" section; alternatively duplicate a simplified version in the overview section
# also see Architecture Diagram in Developer documentation
# also see user-intro.md#architecture for the cheeseburger/bento box analogy
@@ -210,13 +236,13 @@ nav:
- 'Signposting': 'technical-documentation/rest-signposting.md'
- Alpaca:
- 'Alpaca Technical Stack': 'alpaca/alpaca-technical-stack.md'
- - 'Alpaca Tips': 'technical-documentation/alpaca_tips.md'
+ - 'Alpaca Tips': 'technical-documentation/alpaca-tips.md'
- Tests:
- 'Testing Notes': 'technical-documentation/testing-notes.md'
- - 'Resizing a VM': 'technical-documentation/resizing_vm.md'
- - 'Updating Drupal': 'technical-documentation/updating_drupal.md'
+ - 'Resizing a VM': 'technical-documentation/resizing-vm.md'
+ - 'Updating Drupal': 'technical-documentation/updating-drupal.md'
- 'Updating a `deb` and adding it to Lyrasis PPA': 'technical-documentation/ppa-documentation.md'
- - 'Adding back ?_format=jsonld': 'technical-documentation/adding_format_jsonld.md'
+ - 'Adding back ?_format=jsonld': 'technical-documentation/adding-format-jsonld.md'
- Migration/Batch Loading:
- 'Migration Overview': 'technical-documentation/migration-overview.md'
- 'REST API': 'technical-documentation/migration-rest-api.md'
@@ -229,13 +255,13 @@ nav:
- 'Running Tests': 'technical-documentation/running-automated-tests.md'
- 'Checking Coding Standards': 'technical-documentation/checking-coding-standards.md'
- 'Contributing Workflow': 'contributing/contributing-workflow.md'
- - 'Creating GitHub Issues': 'contributing/create_issues.md'
+ - 'Creating GitHub Issues': 'contributing/create-issues.md'
- 'Versioning Policy': 'technical-documentation/versioning.md'
- 'How to release': 'contributing/releasing-islandora.md'
- 'How to Edit Documentation': 'contributing/editing-docs.md'
- 'How to Build Documentation': 'technical-documentation/docs-build.md'
# moved from Developer documentation
- - 'Documentation Style Guide': 'contributing/docs_style_guide.md'
+ - 'Documentation Style Guide': 'contributing/docs-style-guide.md'
- 'Committers': 'contributing/committers.md'
- 'Maintaining the Sandbox': 'contributing/sandbox.md'
- Glossary: 'user-documentation/glossary.md'
diff --git a/requirements.txt b/requirements.txt
index ada0d132f..3a3b4614f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -15,6 +15,7 @@ mkdocs==1.4.2
mkdocs-git-revision-date-localized-plugin==1.1.0
mkdocs-material==9.0.12
mkdocs-material-extensions==1.1.1
+mkdocs-redirects==1.2.1
packaging==23.0
Pygments==2.15.0
pymdown-extensions==10.0