Affects Version/s: 9.3.1
Fix Version/s: 9.4-milestone-1
To finish the implementation of the multi-blogs feature, we want to remove the notion of blog type, which does not have much meaning in the current implementation. All blogs will therefore be isolated, and the default Blog space will contain a blog like any other. Displaying blog posts from different spaces into a single blog require the blogs to share the same categories, which is opposed to the multi-blog feature initially envision by
XWIKI-6355. While we don't close the idea, it is a advanced UC that we will not cover immediately. To continute proper sharing of categories in existing blogs, we will add a new properties to store the reference of the space that store the categories of a given blog into the BlogClass descriptor. But, for any newly created blog, we will always set this value to a space inside that new blog, making those categories isolated for that blog, fixing XWIKI-6355.
We also propose to remove the unrelated and confusing blog type selection when creating a new blog, that ask if you want it alone in its own space or mixed with other data in an existing space (default value at the moment). This choice was mainly to choose if the blog will be in WebHome page or Blog page of the space. This is no more require now that we have NS and that all blog post could be nested in a sub-space. Therefore, we want to replace the creation for with a simple Location picker, and force using unexisting space when creating a new blog. This will allow the blog application to be store in any space and also allow it to put in place the panels that goes with it.
This task will cover the following:
- Remove the 'BlogType' xproperty of the 'Blog.BlogClass'
- Introduce a new property named 'categoriesLocation' that contains the location (space) of the blog categories.
- Introduce a new property named 'postsLocation' that contains the location (space) of the blog posts (Default value: BlogSpace.Posts)
- Update the management page
- Remove the 'BlogType' field
- Replace the 'Space' and 'Title' fields with a Location picker (like when you add a new wiki page).
- A new blog cannot be created in an existing space, a verification will be done to check if the space is a new one.
- The blog descriptor is added to the WebHome page of the blog space.
- A WebPreferences page will be added to the blog space with blog panels configured.