Mod-circulation-item Module submission self-evaluation

Mod-circulation-item Module submission self-evaluation



Comments/ Action Items

Responsible

Evaluation result: 

Evidence:



Status:

To Do

In Progress

Done



Comments/ Action Items

Responsible

Evaluation result: 

Evidence:



Status:

To Do

In Progress

Done

1

 Uses Apache 2.0 license



@Kalibek Turgumbayev 

Acceptable

https://github.com/folio-org/mod-circulation-item/blob/master/LICENSE

Done

2

 Module build MUST produce a valid module descriptor



@Kalibek Turgumbayev 

Acceptable

https://github.com/folio-org/mod-circulation-item/blob/master/descriptors/ModuleDescriptor-template.json

Done

3

 Module descriptor MUST include interface requirements for all consumed APIs

No consumed APIs

@Kalibek Turgumbayev 

Acceptable



Done

4

 Third party dependencies use an Apache 2.0 compatible license

Attached is the result of license scan: mvn license:third-party-report

@Kalibek Turgumbayev 

Acceptable

mod-circulation-item – Third Parties.pdf

Done

5

 Installation documentation is included

The readme file is malformed

CIRC-1991: [Prep. for TC module submission] 5. Installation documentation is includedClosed

@Magzhan Artykov 

Acceptable



To Do

6

 Personal data form is completed, accurate, and provided as PERSONAL_DATA_DISCLOSURE.md file

 The file is missing in the module.

CIRC-1992:  [Prep. for TC module submission] Personal data form is completed, accurate, and provided as PERSONAL_DATA_DISCLOSURE.md fileClosed

@Gurleen Kaur1 

ACCEPTABLE



To Do

7

 Sensitive and environment-specific information is not checked into git repository

No sensitive information found. 

@Gurleen Kaur1 

ACCEPTABLE

https://github.com/folio-org/mod-circulation-item/blob/master/descriptors/ModuleDescriptor-template.json

DONE

8

 Module is written in a language and framework from the officially approved technologies page



@Gurleen Kaur1 

ACCEPTABLE



DONE

9

 Module only uses FOLIO interfaces already provided by previously accepted modules e.g. a UI module cannot be accepted that relies on an interface only provided by a back end module that hasn't been accepted yet



@Gurleen Kaur1 

ACCEPTABLE

https://github.com/folio-org/mod-circulation-item/blob/master/descriptors/ModuleDescriptor-template.json

DONE

10

 Module gracefully handles the absence of third party systems or related configuration



@Gurleen Kaur1 

ACCEPTABLE





11

 Sonarqube hasn't identified any security issues, major code smells, or excessive (>3%) duplication



@Dmytro Bykov 

ACCEPTABLE

https://sonarcloud.io/summary/new_code?id=org.folio%3Amod-circulation-item

DONE

12

 Uses officially supported build tools



@Dmytro Bykov 

ACCEPTABLE

https://github.com/folio-org/mod-circulation-item/blob/master/pom.xml#L26

https://github.com/folio-org/mod-circulation-item/blob/master/Dockerfile

DONE

13

 Unit tests have 80% coverage or greater and are based on officially approved technologies



@Dmytro Bykov 

ACCEPTABLE

https://sonarcloud.io/summary/new_code?id=org.folio%3Amod-circulation-item

https://github.com/folio-org/mod-circulation-item/blob/master/pom.xml#L191

DONE

14



@Adesh Singh 

ACCEPTABLE

https://github.com/folio-org/mod-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

15

 Module includes executable implementations of all endpoints in the provides section of the Module Descriptor



@Adesh Singh 

ACCEPTABLE

https://github.com/folio-org/mod-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

16

Environment vars are documented in the ModuleDescriptor



@Adesh Singh 

ACCEPTABLE

https://github.com/folio-org/mod-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

17

 If a module provides interfaces intended to be consumed by other FOLIO Modules, they must be defined in the Module Descriptor "provides" section



@Adesh Singh 

ACCEPTABLE

https://github.com/folio-org/mod-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

18

 All API endpoints are documented in RAML or OpenAPI



@Adesh Singh 

ACCEPTABLE

https://github.com/folio-org/mod-dcb/blob/master/src/main/resources/swagger.api/dcb_transaction.yaml

DONE

19

 All API endpoints protected with appropriate permissions as per the following guidelines and recommendations, e.g. avoid using *.all permissions, all necessary module permissions are assigned, etc.

3 Jiras to be created 

MODDCB-78: [Prep. for TC module submission] 19. update the permission name of mod-circulation-item moduleClosed

CIRC-1993: [Prep. for TC module submission] 19. change the permission name from circulation-item-storage.* to circulation-item.*Closed

MODCITEM-18: [Prep. for TC module submission] 19. update the permission name of mod-circulation-item moduleClosed

As per the following statement, The naming scheme is a faceted dot-separated string, with the delimited terms as hyphen-separated words. The first portion is the exact name of the responsible module (back-end modules drop the mod- prefix)

Mod-circulation-item permission should start with circulation-item but we are having 

circulation-item-storage and also if this is changed,
then we need to change it in mod-dcb and mod-circulation



@Vignesh Kalyanasundaram 

ACCEPTABLE



To do

20

 Module provides reference data (if applicable), e.g. if there is a controlled vocabulary where the module requires at least one value

For this module, there are no prerequisites data. 

@Vignesh Kalyanasundaram 

INAPPLICABLE





21

 If provided, integration (API) tests must be written in an officially approved technology

There are no integration test for mod-circulation-item module 

@Vignesh Kalyanasundaram 

ACCEPTABLE





22

 Data is segregated by tenant at the storage layer



@Magzhan Artykov 

ACCEPTABLE





23

 The module doesn't access data in DB schemas other than its own and public



@Magzhan Artykov 

ACCEPTABLE





24

 The module responds with a tenant's content based on x-okapi-tenant header



@Vignesh Kalyanasundaram 

ACCEPTABLE

Enabled mod-circulation-item for new tenant in rancher and verified this behavior. Based on x-okapi-tenant with valid token, we got the valid data from database 

Done

25

 Standard GET /admin/health endpoint returning a 200 response

Need to check list of endpoints needs to be added in addition to health.

      exposure:
        include: info,loggers,health

MODCITEM-21: [Prep. for TC module submission] 25. change the implementation: include: ${ACTUATOR_EXPOSURE:health,info,loggers}Closed

@Vignesh Kalyanasundaram 

ACCEPTABLE

Module have the spring boot actuator dependency and health endpoint is enabled. It is accessible in local but unable to test it in rancher. 

https://github.com/folio-org/mod-circulation-item/blob/master/pom.xml#L92

https://github.com/folio-org/mod-circulation-item/blob/master/src/main/resources/application.yml#L47

To Do

26

 High Availability (HA) compliant



@Magzhan Artykov 

ACCEPTABLE





27

 The module only uses infrastructure/platform technologies on the officially approved technologies list.



@Dmytro Bykov 

ACCEPTABLE

DR-000037 - TESTCONTAINERS_POSTGRES_IMAGE

DONE