Description
The objective of this ticket is to improve the Confluence XML Input Filter (confluence-xml) in order to add support for importing confluence blog post pages.
Note that on confluence side :
- Each space has a blog sub space on which the user can create blog posts
- Blog posts can be created outside of the "Blog" sub space
- The blog post pages are similar to regular pages in term of content and editing features, so, as regular pages, blog posts pages can have a title, a content, attachments, and comments
- On the Confluence XML export the blog posts are referenced as global objects exactly as regular pages, the only difference is that the class property is set to "BlogPost" on blog post objects, see example below :
<object class="BlogPost" package="com.atlassian.confluence.pages"> <id name="id">2614231053</id> <property name="hibernateVersion">13</property> <property name="title"><![CDATA[My Blog Post]]></property> <property name="lowerTitle"><![CDATA[my blog post]]></property> <collection name="bodyContents" class="java.util.Collection(com.atlassian.confluence.core.ContentEntityObject.bodyContents)"><element class="BodyContent" package="com.atlassian.confluence.core"><id name="id">2614263811</id> </element> </collection> .... </object>
- On the XML export the blog post pages are linked to their parent space exactly as regular pages
In order to implement the blog posts import the following actions will be done :
- Improve the ConfluenceXMLPackage in order to index blog post objects when they are found in the xml.
- Imporve ConfluenceInputFilterStream in order to convert the indexed blog data to XWiki entities. Basically, On each space if blog post page are found the pages are created under the "Blog" sub space of the space in question (ex: MySpace.Blog) and a "Blog.BlogPostClass" object will be attached to the post page. In addition to that the home page of the Blog space will be created, the home page will serve as a blog descriptor (Page with Blog.BlogClass object).