Provide stable and modifiable one-to-one relationships between BCMS Umbrella Organizations and PMCBook Publishers
Context - User Story
Mapped links between umbrella organizations, their users, and their content should be stable and modifiable in support of participant agreements Bookshelf has with various types of organizations, such as scholarly publishers, non-traditional government, and NGO agencies, with whom Bookshelf has agreements to make a collection of content or a particular set of complete or regularly updated books of book parts publicly accessible. Currently, these links to access and manage content in the BCMS are not stably mapped by the BCMS in relation to both the PMC Books database that preserves participants’ accepted content and Bookshelf’s participant agreements.
Proposal
- for MVP, the publisher should default to be the BCMS organization in which the book or collection is being created,
- for MVP, Bookshelf staff should be able to MOVE a book from an organization if it was added by mistake within it, or somehow fix such errors, and that change should by the PMC domain service get updated in the PMCBook database as well
- If any other links are made between a different organization role, those should ALWAYS be transparent to Bookshelf staff in the BCMS
Note this might be addressed via linked issue #1428 (closed) but that ticket and its linked epic's scope needs to be reviewed in context of this user story and acceptance criteria given current MVP requirements.
Acceptance Criteria
-
In all use cases, when a user creates a book, that book will be mapped and thus accessed via users ONLY under a BCMS Umbrella Organization and that Umbrella Organization will Always be linked to the domain as Publisher in the PMCBook database - these will ALWAY be one to one -
Bookshelf staff can MOVE a book in an Umbrella Organization to another Umbrella Organization if they made a mistake about which Organization it should belong so that Bookshelf staff can meet participant agreements in providing access to things such as usage data and correct mapping in its browse tool -
When Bookshelf modifies the Book/Collection-Umbrella Organization link in the BCMS, it will also get updated as the same in the PMCBook domain tool through the PMC Domain service -
IF another kind of organization is linked to a book, Bookshelf staff can see in the UI for that book's setting what that other organization is by a name that is meaningful to them. It is not critical for MVP that any link be made or stored OTHER than an Umbrella Organization mapped one-to-one to the PMCBook Publisher
UI Design
For books
In the New Book modal, remove the "Publisher" dropdown:
Instead, the BCMS sends the Publisher
value of the organization creating the book in the Create Domain Request.
In the Book settings modal, add an "Organization access" above the exiting content:
The tool tip contains the following text
[UI text]
Moving this book to a different organization will:
- Move it in the BCMS from its current organization to the organization you relink it to.
- Update the linked publisher in the Bookshelf production databases, Statistics Tool, and Browse Page.
It will not:
- Change the book's existing settings.
- Change the publisher in the book’s XML metadata used in displayed citation information.
Only BCMS System Administrators can move a book to a new organization.
[/UI text]
If a System Sdmin edits the dropdown, this moves the book in the BCMS to the organization selected, and updates the publisher
value in the Update Domain request.
For Collections
- In the New Collection modal, no change is required.
- In the Collection settings, add the same "Organization access" section as above.
The tool tip text reads:
[UI text]
Moving this collection to a different organization will:
- Move it in the BCMS from its current organization to the organization you relink it to.
- Update the linked publisher in the Bookshelf production databases, Statistics Tool, and Browse Page.
It will not:
- Change the collection's existing settings.
- Change the publisher in the collection’s XML metadata used in displayed citation information.
Only BCMS System Administrators can move a collection to a new organization.
[/UI text]
Data model
In terms of the data model, there is a new organisation_books
table to store the relationships of organisations to books. For MVP, it will only have one row (for the Umbrella organisation) since linking additional organisations will not be done for MVP.
Implementation (if applicable)
Alternative approaches (if applicable)
- Coko document for NCBI use cases in which a dropdown is provide for a user to select an organization that is NOT the umbrella organization and PMCBook publisher, and if possible for that use case, DO NOT have an modifiable settings that permit it in their migration
- Can't think of a manual workaround for moving a book added to the wrong organization in the BCMS - unless @deniskar could in such cases fix this from the backend on a Bookshelf staff ticket request.