Latest improvements to the message boards portlet

It's been a while since my last post, but here I'm at it again. This will be the first of a series of posts where I plan to write about the latest improvements to Liferay as we develope them. I will not only talk about those that I develop myself but also about those done by others if I see that they do not do it themselves. The end purpose is to keep everyone interested more aware of our progress and the cool features that they'll find in future releases.

I'll start with the message boards. This is in my opinion one of the best Liferay portlets. It's being used for Liferay's own community forums which already has more than 40k posts and gets lots of new ones every day. And it's thanks to this usage that we get the best ideas of how we should improve the application. Here is a list of improvements that were just done last week and you should be able to see live in a few days and in the next releases of Liferay:

Show the number of messages in a thread in the search results

Quoting Tobias Amon who gave the idea for this feature: "when i try to find a solution for a problem it would be very usefull if in the result list the number of answers to a topic have been posted. As only answered posts are helpfull this would help to find usefull posts."

This is a great example of one of those little improvements that make a difference. And for Brian it was very easy to add it.

Show the full message in the RSS

This is incredibly helpful for those of us that are subscribed to the message boards using RSS readers (I do it for certain categories). Brian again was able to implement this change at lightning speed after it was requested.

More robust reply to a notification by email

Liferay has a pretty unique (and not so much known) feature that allows it to receive email message directly. The message boards portlet uses this to allow users to reply to posts directly by answering to the notifications that they received from their subscriptions.

Unfortunately since we moved liferay.com to a new colo this functionality wasn't working properly on for the community forums, causing replies to be treated as new threads. This was probably caused because some of the standard SMTP headers used to implement this feature were not being propertly handled by some intermediary process. Anyhow, we decided to make the feature more robust to avoid depending on intermediary systems. Now the reply-to email address has the original message id, so we can be sure that the reply is properly nested.

Include a URL to the thread in the notification

Some people don't like to reply by email or want to see the message in the context of the full thread. For those, now the URL of the thread is included in the notifications.

Separate "Move Thread" permission to allow for delegation of moderation

We want to start giving out moderation roles to some of the most active members of the community. One of the most common moderation tasks is to move threads to the appropriate categories if the original poster didn't pick the right ones. Previously that required the administrator to delegate the permission to edit ANY post. That's a very powerful permission and involves too much responsability, so it cannot be given away so easily.

To make moderation delegation more fine grained we've created a new permission called "Move Thread", and a new associated UI that allows moving a thread without editing any actual message. Note that the moderator should have permission in both the source category and the target category in order to be allowed to do the move.

Inherited permissions on categories

To make the above permission easier to manage we've improved the permission checker for categories so that permissions given in a category are inherited through all of the subcategories (not only first level subcategories, but all). That way it's possible to give the "Move Threads" permission (or any other permission) in a top level category to allow moderators to move posts around any of the subcategories.

 

The message boards can now be exported and imported

As part of the great work that Bruno has been doing lately to develop DataHandler's for Liferay's main portlets he also developed one for the Message Boards. This allows exporting the posts and categories of a message boards portlet into a LAR file and then use that as a backup or to move it to another community, another machine, or any other use that we may not have thought about.

This is also part of the very large improvements that we've been making to the export, import and staging functionality lately. I plan to dedicate a whole new blog entry to that subject.

 

 

That's all for this post, since I've been adviced to keep my blog entries shorter (thanks Dani!) and this is already quite long. Thanks to all of you that gave the ideas for these improvements! BTW, for the most techie readers that want to know more about these improvements take a look at: LEP-4245, LEP-4240, LEP-4221, LEP-4326, LEP-4320, LEP-4282,

 

Blogs
Nice! The threading mechanism is the same for Blogs no? Would love to see the email notifications do the same there. =)
Could you make the URLs for message board postings permanent? I have a heap of links to posts that have become invalid, which is really frustrating.

See the following page for a list of useful posts that I can no longer find:
http://del.icio.us/EI9IW/bad-url

The import and export of message board posts sounds like a great idea.
Regarding Message Board - moderation

" I want that every message which is posted under thread/category should get approval from the moderator/admin and then the post displayed in the thread ? is it possible ?? How can I achieve this ?"

I referred from the following , but i couldn't find things regarding moderate post/comments moderation

liferay -issues
http://issues.liferay.com/browse/LEP-3362
http://issues.liferay.com/secure/QuickSearch.jspa

message board - posts
http://www.liferay.com/web/guest/community/forums/-/message_boards/message/1131460
http://www.liferay.com/web/guest/community/forums/-/message_boards/message/97373

wiki
http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Feature+Requests%3ALiferay+Community+Forums
http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Feature+requests%3A+Message+Board+Portlet
Hi Kanakaraj,

That's not possible yet. I know some people have done customizations to allow for it, but I don't have the details. That feature is in our roadmap, but not with a very high priority.

Of course, if you implement it and decide to contribute it, it will be very welcome emoticon