diff --git a/MODULE_ACCEPTANCE_CRITERIA.MD b/MODULE_ACCEPTANCE_CRITERIA.MD index e0386c2..3f8370b 100644 --- a/MODULE_ACCEPTANCE_CRITERIA.MD +++ b/MODULE_ACCEPTANCE_CRITERIA.MD @@ -1,6 +1,6 @@ # FOLIO Module Acceptance Values and Criteria -## version 2.0 (ratified 2022-06-10) +## version 2.??? (ratified ????) # Overview The Technical Council (TC) has defined a process for technical evaluation of modules for inclusion in a FOLIO release. This document outlines the high level values and specific criteria used when evaluating modules as part of this process. The distinction between values and criteria is as follows: @@ -43,8 +43,6 @@ Please see [Before Development](MODULE_EVALUATION_TEMPLATE#before-development) f * Uses Apache 2.0 license (2) * Module build MUST produce a valid module descriptor (3, 5) * _This is not applicable to libraries_ -* Module descriptor MUST include interface requirements for all consumed APIs (3, 5) - * _This is not applicable to libraries_ * Third party dependencies use an Apache 2.0 compatible license (2) * In order to ensure reproducible builds, snapshot versions of build-time dependencies should not be referenced. * Installation documentation is included (11) @@ -67,6 +65,8 @@ Please see [Before Development](MODULE_EVALUATION_TEMPLATE#before-development) f Note: Frontend criteria apply to both modules and shared libraries. +* For each consumed API `package.json` MUST include the interface requirement in the `"okapiInterfaces"` or `"optionalOkapiInterfaces"` section (3, 5) + * -_note: read more at https://github.com/folio-org/stripes/blob/master/doc/dev-guide.md#the-package-file-stripes-entry_ * If provided, End-to-end tests must be written in an [officially supported technology](https://wiki.folio.org/display/TC/Officially+Supported+Technologies)[^1] (3, 4) * -_note: while it's strongly recommended that modules implement integration tests, it's not a requirement_ * -_note: these tests are defined in https://github.com/folio-org/stripes-testing_ @@ -84,6 +84,8 @@ Note: Backend criteria apply to modules, shared backend libraries, and edge modu * Module’s repository includes a compliant Module Descriptor (3, 5) * -_note: read more at https://github.com/folio-org/okapi/blob/master/okapi-core/src/main/raml/ModuleDescriptor.json_ +* For each consumed API the module descriptor MUST include the interface requirement in the `"requires"` or `"optional"` section (3, 5) + * _This is not applicable to libraries_ * Module includes executable implementations of all endpoints in the provides section of the Module Descriptor * Environment vars are documented in the ModuleDescriptor (5, 11) * -_note: read more at [https://wiki.folio.org/pages/viewpage.action?pageId=65110683](https://wiki.folio.org/pages/viewpage.action?pageId=65110683)_ diff --git a/MODULE_EVALUATION_TEMPLATE.MD b/MODULE_EVALUATION_TEMPLATE.MD index 5e34f32..26386b7 100644 --- a/MODULE_EVALUATION_TEMPLATE.MD +++ b/MODULE_EVALUATION_TEMPLATE.MD @@ -19,7 +19,6 @@ When performing a technical evaluation of a module, create a copy of this docume ## Shared/Common * [ ] Uses Apache 2.0 license * [ ] Module build MUST produce a valid module descriptor -* [ ] Module descriptor MUST include interface requirements for all consumed APIs * [ ] Third party dependencies use an Apache 2.0 compatible license * [ ] In order to ensure reproducible builds, snapshot versions of build-time dependencies should not be referenced. * [ ] Installation documentation is included @@ -35,6 +34,8 @@ When performing a technical evaluation of a module, create a copy of this docume * [ ] Unit tests have 80% coverage or greater, and are based on [officially supported technologies](https://wiki.folio.org/display/TC/Officially+Supported+Technologies)[^1] ## Frontend +* [ ] For each consumed API `package.json` MUST include the interface requirement in the `"okapiInterfaces"` or `"optionalOkapiInterfaces"` section + * -_note: read more at https://github.com/folio-org/stripes/blob/master/doc/dev-guide.md#the-package-file-stripes-entry_ * [ ] If provided, End-to-end tests must be written in an [officially supported technology](https://wiki.folio.org/display/TC/Officially+Supported+Technologies)[^1] * -_note: while it's strongly recommended that modules implement integration tests, it's not a requirement_ * -_note: these tests are defined in https://github.com/folio-org/stripes-testing_ @@ -49,6 +50,8 @@ When performing a technical evaluation of a module, create a copy of this docume ## Backend * [ ] Module's repository includes a compliant Module Descriptor * -_note: read more at https://github.com/folio-org/okapi/blob/master/okapi-core/src/main/raml/ModuleDescriptor.json_ +* [ ] For each consumed API the module descriptor MUST include the interface requirement in the `"requires"` or `"optional"` section + * _This is not applicable to libraries_ * [ ] Module includes executable implementations of all endpoints in the provides section of the Module Descriptor * [ ] Environment vars are documented in the ModuleDescriptor * -_note: read more at [https://wiki.folio.org/pages/viewpage.action?pageId=65110683](https://wiki.folio.org/pages/viewpage.action?pageId=65110683)_