Show agreements API checks error messages in UI
Context
When a user tries to publish a book, chapter, Book TOC, or Collection TOC, this action may fail before the package is sent to load to PMC. This could happen for two reasons:
- The agreement API Check 1 "Domain has exactly one agreement" fails
- The agreement API Check 2 or 3 fails because the server is down (
502
error) or there's update domain error (see domain service issue #226 for possible errors:https://gitlab.coko.foundation/ncbi/ncbi/-/issues/226#3-update-domain-data.
Proposal
When these publishing errors occur, they should be shown in the Errors tab UI. The error report must match the current structure of errors to include: Name; Category; Severity; Assignee; Message.
Proposed errors:
Name | Category | Severity | Assignee | Message |
---|---|---|---|---|
Agreements Check 1 | Agreements | error | PMC | The BCMS cannot find a valid NLM agreement for this content to permit its release to the public Bookshelf site. Contact an NCBI System Admin to resolve the error and try again. |
[name reported by domain service] | Domain service | error | PMC | [as reported by domain service in "detail" ] |
These errors should have status "publishing failed" in the BCMS
Design
As done for errors currently reports on Errors tab UI
Coko QA Steps
- Agreements Check 1 -- cannot be tested by Coko QA (unless an agreements is associates to a book by NCBI)
- Agreement Check 2 or 3 -- cannot be tested on
ncbidev
(unless the domain service is down). Test locally by faking a failed connection to the domain by changing the url field to each of those functions : server/services/axiosService/index.js.
NCBI testing
All testing to be done on NCBI's production
deployment by turning on the Agreement checks in the config (Denis)