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

Split and expand criterium for consumed APIs; mention requires/okapiInterfaces/… #75

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 5 additions & 3 deletions MODULE_ACCEPTANCE_CRITERIA.MD
Original file line number Diff line number Diff line change
@@ -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:
Expand Down Expand Up @@ -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)
Expand All @@ -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_
Expand All @@ -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)_
Expand Down
5 changes: 4 additions & 1 deletion MODULE_EVALUATION_TEMPLATE.MD
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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_
Expand All @@ -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)_
Expand Down