Support parts with body content and mixed model of parts in the same book
Context / User Story
Parts User Story: The BCMS should provide, just as the Silverlight CMS does, support for submitters who have Parts that contain not only metadata and chapters but also textual contents in their own body. See user stories and their acceptance criteria in this Parts epic: &33
The Bookshelf has two use cases to support for Parts. These can exits simultaneously in the same book.
- parts as "title containers"
- parts as file uploads.
- Issue that needs to be solved for the MVP: Currently, the BCMS does not have a migration target in its data model for parts with body so that Bookshelf can migrate this content from its Silverlight CMS, nor does it have a way for the BCMS to add, update, and process this content.
- Impact if this issue is not solved: Until there is a clear migration target to support these parts with body content use case, Bookshelf cannot migrate 10% of its necessary chapter-processed books, including some books managed by NLM leadership, meaning those books cannot be updated on Bookshelf either. For this reason, this is now a priority for MVP since post-MVP scope and resources are unknown.
This proposal works the book manager design chosen in #1480 (closed) and #1458 (closed). It does not include any automatic ordering of parts (for this see #1481 (closed)) so users would order the parts manually and move chapters into parts as currently done (see updated proposal in #1482 (closed)).
It requires development from Coko and NCBI teams which must be scheduled together.
Acceptance Criteria
TBD - this issue needs further scoping and grooming into smaller parts for updates to Parts as "title containers" and support for "Parts as file uploads"
Proposal
- Bookshelf and PMC developers extend all source documents to include a book part type of
part
that can be read by the BCMS when building a TOC, and other than that these documents are handled in the BCMS data model and integrated processing just as book partchapter
types. - Extended BCMS to support two part models within the same book:
- parts as "title containers"
- parts as file uploads.
Design
Design to be completed based on the suggestion provided by NCBI in note_110416
Implementation (if applicable)
- Remove setting 'Add body contents to parts' (current BCMS variable =
toc.add_body_to_parts
) - Read part metadata from converted file (
<book-part-wrapper content-type="part" id="">
)
Alternative approaches (if applicable)
There have been two proposals for how to address this issue. The proposal is documented in #701 (closed) was closed in favour of the above. There is not manual workaround for this user story.