|
Description: |
Add the functionality of creating a book page. Book page creation is allowed in the master book only.
A page in the master book can be *versioned* (https://jira.xwiki.org/browse/BVERSION-2) or *unversioned* (https://jira.xwiki.org/browse/BVERSION-7).
When creating a book page, the user must choose if the page is versioned or unversioned. When editing a book page, the user can switch from versioned to unversioned and the other way around. When switching from unversioned to versioned, the content of that page will be associated with the latest/active book version.
A page in the master book can have multiple associated contents, stored as hidden and terminal child pages that represent, individually, the versioned contents of the current book.
After *a new version for the book* is created, if the user creates a new *versioned* page in the book (see https://jira.xwiki.org/projects/BVERSION/issues/BVERSION-7), or the user goes on an existing *versioned* page in edit mode, a new hidden and terminal child page will be created at save for that version. On the other hand, if the page is set to be *unversioned*, no child page is created at save, but the content is kept on the page itself. The structure of a book page is :
Book page |-- Teminal & hidden child page with content for version X |-- Teminal & hidden child page with content for version Y
The user should be able to choose what version of the book to be displayed. For that, a selector of book versions will be added in the UI. As a result, there will be a tree of pages in the UI, representing
It should either select the associated versioned content or display inherited content. Also, the source of the content should be displayed. |
|