From version < 121.6 >
edited by Alex Cotiugă
on 2019/08/20 12:41
To version < 122.1 >
edited by Alex Cotiugă
on 2019/08/20 12:42
< >
Change comment: There is no comment for this version



... ... @@ -1,0 +1,1 @@
1 +No
... ... @@ -1,0 +1,1 @@
1 +No
... ... @@ -1,0 +1,1 @@
1 +No
... ... @@ -1,0 +1,1 @@
1 +No
... ... @@ -1,0 +1,1 @@
1 +No
... ... @@ -1,0 +1,1 @@
1 +No
Release Notes
... ... @@ -1,0 +1,3 @@
1 +{{jira url="" style="list" source="jql"}}
2 +project = BLOG and fixVersion = "9.10.3"
3 +{{/jira}}
blog.pngCreate and manage blog posts
Developed by

XWiki Development Team

Active Installs814
18 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager


Creating one or several Blogs

By default a recent XWiki installation will provide a blog inside the Blog space. 

Since 9.4 the multi-blog feature is supported, it provides the following options:

  • The initial set of categories located in the Blog space will be shared by all existing blogs.
  • New blog can be created anywhere on the wiki, including under nested documents.
  • By default a new set of categories is created for each newly created blog.
  • All panels of the blog application will display contextual information based on:
    • The displayed blog document, OR
    • The displayed category or set of categories
    • Newly created blog will be configured with a minimal set of panels like the initial Blog located in the Blog space.

In order to not break the old blog,(before 9.4), use cases and to be able to aggregate posts of blogs using the same categories location we need to set the category property of the old blog posts to a default value when the post category is not set by the user.
Run the script available on the Blog.BlogPostsMigration page.

You can use the default blog (inside Blog space) or create a new one inside a new page using the Blog's Management. For that you just need to navigate to this URL: /xwiki/bin/view/Blog/Management. A new page will show up asking you to enter:

  • The title of the Blog
  • The location of the blog in the page hierarchy 
  • The blog categories location
  • Enable/Disable displaying blog panels
  • Check to create default categories (News, Personal, Other)
  • Select the layout of the blog posts (Calendar or Image)

Create a new blog

After you have filled in the information click "Create". You now have a new blog!

Creating a new Blog Post

There are currently 2 ways of creating a blog post:

  1. By going to the Blog's homepage and using the "Create a new post" input where you enter the post title and hit the "Create" button:


  2. Or by using the standard + (create page) button from anywhere inside the Blog page (or one of its children) and by selecting Blog Post as your new page's type:


Post image thumbnail

Since 9.4, an image thumbnail was added to blog posts in order to allow a more visual and appealing display of blogs posts and list of blog posts.
Blog post image thumbnail

Useful Macros

Since 9.4, Blog Post List macro, post layout macros and Blog Post Create Macro are available, these macros can be used to query and display blog posts anywhere on the wiki.

Blog Post List Macro

The Blog Post List Macro is used to query and display blog posts anywhere on the wiki, based on some parameters, the results can be displayed using customizable post layouts.


{{blogpostlist blog="Blog.WebHome" category="Blog.News" published="yes" layout="full" layoutParams="displayTitle=false" limit="10" /}}

Parameters definition

NameOptionalAllowed valuesDefault valueDescription
blogyesa document reference The  descriptor document of a blog (It should contain a document with a Blog.BlogClass object)
categoryyesa document reference Either a given category or a category space (not mandatory, at least blog or category mandatory)
publishedyesyes, no, allyesLimit results to published posts
hiddenyesyes, no, allnoLimit results to hidden posts
fromDateyesstring date Limit posts to posts published starting from a given date. The format of the date is yyyy-mm-dd.
toDateyesstring date Limit posts to posts published before a given date. The format of the date is yyyy-mm-dd.
limityesinteger10Number of posts to display
layoutyeslink,full,imagelinkThe name of the post layout macro that will be used to display the posts. The naming convention for the layout macros is: "BlogPostLayout${LayoutNameWithFirstLetterCapitalized}"
layoutParamsyesstring Additional parameters of the blog post layout
paginatedyesyes,noif the limit parameter is not provided the itemsPerPage is extracted from the blog descriptorUsed to enble/disable the pagination of the the blogPostList macro results

Blog Post Layout Macros

Blog post layouts are wiki macros created in order to customize the layout of blog posts. Currently 3 blog post layout macros are available: blogPostLayoutLink, blogPostLayoutFull and blogPostLayoutImage.


{{blogPostLayoutFull reference="Blog.MyFirstPost" params="displayTitle=true|useSummary=true"}}

Parameters definition

NameOptionalAllowed valuesDefault valueDescription
referencenoa document reference The document reference of the blog post
paramsyesstring Additional parameters of the blog post layout

Examples of post layouts

The link post layout(BlogPostLayoutLink macro)

The full (default) post layout(BlogPostLayoutFull macro)

The image post layout(BlogPostLayoutImage macro)

Cards post layout

Since 9.9 the Cards layout has been integrated, the cards layout allow selecting pinned posts that will be displayed before the rest of the blog posts in big and beautiful blocs. see the following image gallery:

Note that the display of the pinned posts on the Cards layout can be enabled by setting the forceDisplayPinnedPosts parameter to true.

Use the Cards layout with the Blog Post List Macro macro as follows:

{{blogpostlist blog="Blog.WebHome" layout="cards" layoutParams="forceDisplayPinnedPosts=true" ... /}}

How to configure a new blog post layout?

  • Create the blog post layout using this naming convention: "BlogPostLayout${LayoutNameWithFirstLetterCapitalized}"
    eg: SomePage.BlogPostLayoutMyLayout
  • Configure a given blog to use the new layout
    • Edit the Blog.BlogClass, and for the field postsLayout, add the new layout name to the static list (|myLayout=My layout)
    • Edit the descriptor of your blog, and in the BlogClass object, change the layout to the new one.

Blog Post Create Macro

The Blog Post Create macro is used to insert a post creation form anywhere on the wiki. The macro takes a blog descriptor document as parameter. The new blog posts will belongs to the blog specified in the parameter.

The blog post create macro

RSS Feed for the Blog

In order to display the RSS Feed icon on your blog you have to add this line:

to the Blog's Presentation HTTP Meta Information text area. You can reach that by clicking on Administration -> Administer Space: 'Blog Space Name' -> Page Elements.

If you want to provide feeds based on the Blog's Categories then drag the Blog Categories Panel onto your blog's sidebar. You can find that by selecting Administration -> Administer Space: 'Blog Space Name' -> Panel Wizard.

Display the Blog panels in other locations

Have you ever wondered how could you display the list of recent blog posts on the main page of the wiki? Since 9.9, it is possible to do that by specifying, in the current page, a Blog that you're interested in and what information should be presented using the existing Blog panels.
We implemented a Wizard, accessible from the More Actions menu (Blog configuration), to setup a configuration that would update the Right Panels section. If there are already some panels displayed, you can choose to keep them and add the ones from Blog, before or after, or even to replace them. See the images in following gallery:


The blog application is used for example on the Blog page of

It is also possible to customize the Blog application for specific purposes. You will need some Velocity knowledge to do this, so please check the Developer's Guide for more information.

You can add / change blog categories on the http:///xwiki/bin/view/Blog/ManageCategories page. 

A panel that lists all blog categories is also available. You can find it on the http:///xwiki/bin/view/Blog/CategoriesPanel page of your XWiki.


The Blog Categories Panel

A Blog Article

A Blog Main Page

Since 9.4, Blogs panel is proposed to display all blogs sharing a same set of categories

Blogs panel


Since 9.2, users can observe the Blog Application in their notifications preferences:


Then, when a blog post is published, a notification is displayed on the top menu.


Changing the Style

The blog application uses a Skin Extension stored as an object attached to the Blog.BlogStyle document. In order to modify the Blog's style edit this document in Object Mode and modify the style as you wish.

Tested on

This extension has been tested with the following configurations.

Extension VersionXWiki FlavorNotes
9.1.2XWiki Enterprise 9.1.2
1.1XWiki 9.8.1

Bug discovered:

1.1XWiki 9.9

Known bug:

9.9.1XWiki 10.8.3

Known bug:

9.9.1XWiki 10.11.1

Known bug:

9.9.1XWiki 10.11.2

Known bug:

9.9.1XWiki 11.1

Known bug:

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

Release Notes



  • Closed BLOG-146 Avoid deprecated usage of legacy-style HQL ordinal parameters
  • Closed BLOG-102 The placeholder text from 'Create a new post' box does not disappear when start typing on Edge


  • Closed BLOG-139 Register the Ratings dependency as optional


  • Closed BLOG-138 Blog home page should be editable


The following issues have been resolved:

  • Closed BLOG-136 The title of the blog post is not displayed properly in edit mode
  • Closed BLOG-133 Blog names are not properly escaped when linked
  • Closed BLOG-132 Use the category name instead of the name of the category page as title
  • Closed BLOG-131 Prevent users from choosing the name of an already existing page
  • Closed BLOG-130 The pinned posts feature of the Cards post layout is not working correctly when a post that has quotes (") in its name, is marked as pinned post
  • Closed BLOG-127 Hibernate Exception when adding blog post
  • Closed BLOG-119 Blog RSS feed doesn't work except for 'All' category
  • Closed BLOG-114 Failed to execute the [html] macro. Cause: [INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. ]. Click on this message for details.
  • Closed BLOG-110 Preview does not display changes made in editor
  • Closed BLOG-98 Markdown - URL in preview blog is broken
  • Closed BLOG-76 When creating a blog post with the same name as one that was already created and Hidden by another user, the present user is allowed to create the blog post and all the information from the already created one appears (all actions are in the same Blog)
  • Closed BLOG-46 It's not clear where a post comes from in aggregated blogs

The following translations have been updated:

  • Czech
  • German
  • Spanish
  • French
  • Romanian
  • Russian
  • Ukrainian
  • Simplified Chinese


  • Closed BLOG-125 Missing translations from Blog configuration UIX
  • Closed BLOG-124 Translate blog panels' page titles
  • Closed BLOG-123 Blog's wiki macros have global visibility, should be current wiki
  • Closed BLOG-122 Can't order the pinned posts of the Cards blog post layout with IE 11
  • Closed BLOG-79 Translating the blogs in different languages makes the Blogs panel show the same blog more times, as the number of languages selected


  • Closed BLOG-120 Implement the 'Cards' blog post layout
  • Closed BLOG-115 Synchronize the Blog template with the Blog class
  • Closed BLOG-113 Add the ability to display the panels of a blog outside of the blog context
  • Closed BLOG-111 The Comments section is displayed in the blogs even the comments are deactivated in the wiki


  • Closed BLOG-109 Make it possible to display a compact list of the latest blog posts


  • Closed BLOG-108 Blopost list macro showing wrong created date.
  • Closed BLOG-106 Pagination for Blog categories panel not working


  • Closed BLOG-105 Add a custom notification email template


  • Closed BLOG-104 Notifications are not displayed correctly on XWiki 9.10
  • Closed BLOG-103 error on the logs when editing a blog post
  • Closed BLOG-101 Blog RSS feed works only for 'All' category
  • Closed BLOG-61 Image upload for Thumbnail doesn't work properly


  • Closed BLOG-100 Blogpost "Content" is not displayed on Blog homepage when creating/editing blogposts with Firefox and Summary is empty


  • Closed BLOG-97 Add a "Manage Blogs" link in the "All Blogs" panel
  • Closed BLOG-95 No way to navigate to new Blog from the Blog app home page
  • Closed BLOG-94 Blog.BlogPostLayoutMacros should be hidden
  • Closed BLOG-93 Editing the blog home page shows a deprecated xproperty
  • Closed BLOG-92 Don't display the ability to uploaded images in Blog post if feature is not enabled
  • Closed BLOG-90 Migrate application-blog-notifications into wiki pages


  • Closed BLOG-89 Broken integration test since the separation of the notification module
  • Closed BLOG-88 Categories with quotes are not correctly rendered on the post footer.
  • Closed BLOG-87 Fail to display notifications on XWiki 9.4-rc-1
  • Closed BLOG-83 The blog management page should propose all layout available in the BlogClass
  • Closed BLOG-82 leftover work on the multi-blog feature
  • Closed BLOG-77 Creating a category and selecting it while creating a blog post doesn't keep that category selected after Save & View
  • Closed BLOG-74 User that had no rights on a blog (old blog) before changing to the new type of blog has many Red messages in the Blog now, also same issue appears when the user has Deny on a blog (Deny given with the new app to a blog already created)
  • Closed BLOG-73 BlogPostCreate and Blog post list macros have Eng misspelling/missing words
  • Closed BLOG-72 Can't access the Blog.CategoriesSheet
  • Closed BLOG-70 Right Navigation bar appears in All categories of a blog that doesn't have any posts created yet
  • Closed BLOG-68 Blogs panel should not display a single entry
  • Closed BLOG-66 Code appears when editing a blog
  • Closed BLOG-65 HTML code appears in the right panel when creating a new blog post
  • Closed BLOG-63 RSS for All categories doesn't show a title, it shows instead "$services.localization.render($categoryDoc.getValue('name'))"
  • Closed BLOG-32 Find a way to display blog post actions


  • Closed BLOG-87 Fail to display notifications on XWiki 9.4-rc-1


  • Closed BLOG-86 Blog is not properly imported in Repository Application since the move to contrib


  • Closed BLOG-58 Fix translation for Blog entry in Applications Panel and Application Index


  • Closed BLOG-1 Migrate from platform to contrib


Dependencies for this extension ( 9.10.3):

Get Connected