File versioning vs book component versioning
This was an item in the data model discussion (#55) that still needs to be resolved. Please can you sense check the below.
Here is how I understand the need:
Creating new book components in Bulk (#56 (closed))
- An Author (or Editor) uploads Word source files in bulk. These files are styled according the NCBI's conversion requirements, and the conversion is initiated at this point. One book component is created for each file. This is the 1st version of the book component and the file.
@DioneMentis, we envisioned allowing an Author / Editor to use bulk load for new versions as well, not just for 1st versions. This is functionality they curently have and I think they'll miss it if it goes away.
- Some of these files may fail the conversion process. Authors are required to make changes to the Word file to fix the conversion errors. It makes sense for Authors to be able "fix errors --> upload file" as many times as necessary to resolve the conversion errors. Each upload is a new version of the file. (This is not a bulk action). In these cases converting the file and generating the Preview is an explicit action, e.g. Author selects "Create Preview" button.
- The Author manages to fix all the errors and the conversion is successful, so a Preview is generated. In our UI it needs to be clear to the user which file has been converted successfully.
- The Author sends the Preview to one or more Previewers to check. The Previewers notice some visual/display errors, reject the Preview and send the Author feedback that must be implemented in the Word file and/or the metadata UI for that book component version.
- The Author uploads another Word file, fixes the errors in the metadata UI, selects "Create Preview" button, and sends the Preview to the Previewers to approve.
- The Previewer approves the Preview and the Editor publishes the book component version. In our UI it needs to be clear to the user which Source file and converted file was published.
This means that one book component version = multiple Source files + any converted files derived from the source files + metadata extracted from Source file and added in the metadata UI + uploaded supplementary files + image files extracted during the conversion process.
Creating a new version of the book component is an explicit action, e.g. Author selects "Create new version" button for the relevant book component. (This is not a bulk action)
@DioneMentis, I think I am uncertain here and above about:
- published versions
- file versions
- component versions
In PMC, what needs to be communicated is if something is to be published as a new version (which means particular rendering / functionality). I envisioned this being set at time of publication - "Publish as new version"
File versions should be obvious
Componet versions would be the association of file(s) to the rendered previews or published versions on Bookshelf.
Creating new book components individually
Authors also need to create new book components one by one. Here the need is different because some files will need to go through a peer review and copyediting process before they are styled according the NCBI's conversion requirements.
- Author select "Add new book component" button in the relevant book section (front, body, back) and inserts the title. One book component is created
- Author uploads Source file but this does not auto convert because the Author chooses to "Send to Peer Reviewer" or "Create Preview" depending on the need.
- "Send to Peer Reviewer" creates a copy of the file. These "reviewer-version" files are separate from the book component file versions. There can be multiple "reviewer-version" files associated with a book component version. These files are never converted.
- The Author implements all feedback from Reviewers into one file and uploads the latest version of the book component file.
- The process continues until an approved file is successfully converted, the Preview approved and published. (As described above).
This means that one book component version = multiple Source files + any converted files derived from the source files + metadata extracted from Source file and added in the metadata UI + uploaded supplementary files + image files extracted during the conversion process + associated "reviewer-version" files.