From 2c0f6565d967b7af1bed8c7d503f01134daf85df Mon Sep 17 00:00:00 2001 From: Simeon Warner Date: Tue, 17 Sep 2024 16:57:03 +0200 Subject: [PATCH 1/6] Initial extension --- docs/index.md | 1 + docs/initial.md | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 docs/initial.md diff --git a/docs/index.md b/docs/index.md index 8a533ad..6eac2ca 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,5 +1,6 @@ # OCFL Community Extensions + * [Initial Extension](initial.md) * [0001: Digest Algorithms](0001-digest-algorithms.md) * [0002: Flat Direct Storage Layout](0002-flat-direct-storage-layout.md) * [0003: Hashed Truncated N-tuple Trees with Encapsulating Directory for OCFL Storage Hierarchies](0003-hash-and-id-n-tuple-storage-layout.md) diff --git a/docs/initial.md b/docs/initial.md new file mode 100644 index 0000000..830fcca --- /dev/null +++ b/docs/initial.md @@ -0,0 +1,39 @@ +# OCFL Community Extension `initial`: Initial Extension + + * **Extension Name:** `initial` + * **Authors:** OCFL Editors + * **Minimum OCFL Version:** 1.0 + * **OCFL Community Extensions Version:** 1.0 + * **Obsoletes:** n/a + * **Obsoleted by:** n/a + +## Overview + +This extension allows indication that the semantics of a particular extension takes precedence over all other extensions. It ensures that the special extension name `initial` is a registered extension name and thus that an extension directory `initial` is also valid in both objects and storage roots. + +An extension directory MAY contain an `initial` extension identified by the extension directory name `initial`. If it exists, the `initial` extension specifies another extension that MUST be applied before all other extensions in the directory. + +An `initial` extension can be used to address otherwise undefined behaviors, such as: + + - Should extensions be applied in a specific order? + - Is an extension deactivated, only applying to earlier versions of the object? + - Does one extension depend on another? + +## Parameters + +The extension configuration file indicates the functional extension to be apply first by specifying that extension's name in the `extension` parameter (not `initial`). + +Example `config.json`: + +``` +{ + "extensionName": "initial", + "extension": "NNNN-functional-extension-name" +} +``` + +## Revision History + +-------------------------------- +| 2024-09-18 | First published | +-------------------------------- From e0f5d14617afb2ae5602aafd048659324fbfd065 Mon Sep 17 00:00:00 2001 From: Simeon Warner Date: Tue, 17 Sep 2024 20:15:15 +0200 Subject: [PATCH 2/6] Fix typo --- docs/initial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/initial.md b/docs/initial.md index 830fcca..5e2c8d8 100644 --- a/docs/initial.md +++ b/docs/initial.md @@ -21,7 +21,7 @@ An `initial` extension can be used to address otherwise undefined behaviors, suc ## Parameters -The extension configuration file indicates the functional extension to be apply first by specifying that extension's name in the `extension` parameter (not `initial`). +The extension configuration file indicates the functional extension to be applied first by specifying that extension's name in the `extension` parameter (not `initial`). Example `config.json`: From 5ee64d4523a63afe7eb3e175c061c0826226879c Mon Sep 17 00:00:00 2001 From: Simeon Warner Date: Wed, 18 Sep 2024 14:17:40 +0200 Subject: [PATCH 3/6] Updates from editors' review --- docs/initial.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/docs/initial.md b/docs/initial.md index 5e2c8d8..4e23b45 100644 --- a/docs/initial.md +++ b/docs/initial.md @@ -13,17 +13,25 @@ This extension allows indication that the semantics of a particular extension ta An extension directory MAY contain an `initial` extension identified by the extension directory name `initial`. If it exists, the `initial` extension specifies another extension that MUST be applied before all other extensions in the directory. +The extension configuration file indicates the functional extension to be applied first by specifying that extension's name in the `extension` parameter (not `initial`). + An `initial` extension can be used to address otherwise undefined behaviors, such as: - - Should extensions be applied in a specific order? - - Is an extension deactivated, only applying to earlier versions of the object? - - Does one extension depend on another? + * Should extensions be applied in a specific order? + * Is an extension deactivated, only applying to earlier versions of the object? + * Does one extension depend on another? -## Parameters +## Parameter -The extension configuration file indicates the functional extension to be applied first by specifying that extension's name in the `extension` parameter (not `initial`). + * **Name:** `extension` + * **Description:** The name of the extension to be applied first + * **Type:** string + * **Constraints:** Must be a valid extension name + * **Default:** Not applicable + +## Example -Example `config.json`: +The following `config.json` configuration file indicates that the extension named `NNNN-functional-extension-name` should be applied first. ``` { @@ -34,6 +42,6 @@ Example `config.json`: ## Revision History --------------------------------- +| Date | Description | +| ---- | ----------- | | 2024-09-18 | First published | --------------------------------- From 9cebb16865abb28dfd201212d7ae6a4b6748a674 Mon Sep 17 00:00:00 2001 From: Simeon Warner Date: Thu, 19 Sep 2024 09:09:59 +0200 Subject: [PATCH 4/6] Update date --- docs/initial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/initial.md b/docs/initial.md index 4e23b45..67a6f70 100644 --- a/docs/initial.md +++ b/docs/initial.md @@ -44,4 +44,4 @@ The following `config.json` configuration file indicates that the extension name | Date | Description | | ---- | ----------- | -| 2024-09-18 | First published | +| 2024-09-19 | First published | From 36e0ecded088482b528cc29e63c9c7938c16be3b Mon Sep 17 00:00:00 2001 From: Simeon Warner Date: Thu, 19 Sep 2024 09:14:24 +0200 Subject: [PATCH 5/6] Editors suggestion --- docs/initial.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/initial.md b/docs/initial.md index 67a6f70..2772179 100644 --- a/docs/initial.md +++ b/docs/initial.md @@ -13,12 +13,9 @@ This extension allows indication that the semantics of a particular extension ta An extension directory MAY contain an `initial` extension identified by the extension directory name `initial`. If it exists, the `initial` extension specifies another extension that MUST be applied before all other extensions in the directory. -The extension configuration file indicates the functional extension to be applied first by specifying that extension's name in the `extension` parameter (not `initial`). +The extension configuration file indicates the functional extension to be applied first by specifying that extension's name in the `extension` parameter (not `initial`). This extension can be used to address otherwise undefined behaviors, such as: -An `initial` extension can be used to address otherwise undefined behaviors, such as: - - * Should extensions be applied in a specific order? - * Is an extension deactivated, only applying to earlier versions of the object? + * Should extensions be applied in a specific order? * Is an extension deactivated, only applying to earlier versions of the object? * Does one extension depend on another? ## Parameter From c980e9053c734c4ca3becc644faaf95cad219e93 Mon Sep 17 00:00:00 2001 From: Simeon Warner Date: Thu, 19 Sep 2024 09:15:18 +0200 Subject: [PATCH 6/6] Un mess up the formatting --- docs/initial.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/initial.md b/docs/initial.md index 2772179..376543e 100644 --- a/docs/initial.md +++ b/docs/initial.md @@ -15,7 +15,8 @@ An extension directory MAY contain an `initial` extension identified by the exte The extension configuration file indicates the functional extension to be applied first by specifying that extension's name in the `extension` parameter (not `initial`). This extension can be used to address otherwise undefined behaviors, such as: - * Should extensions be applied in a specific order? * Is an extension deactivated, only applying to earlier versions of the object? + * Should extensions be applied in a specific order? + * Is an extension deactivated, only applying to earlier versions of the object? * Does one extension depend on another? ## Parameter