Over the last few weeks, we've been working hard to bring you a new (and much improved) blog module. This upgrade was funded by the NZ Government Common Web Platform and open sourced for everyone to benefit from. We want to share some of the features with you.
If you're familiar with the old blog module, the new module is going to be a little surprising. Take deep breaths and try not to be alarmed. The sheer awesomeness has been known to render content creators unconscious.
We've moved categorisation, authorship and publishing date into a new sidebar. We've added a new Custom Summary field, to enable authors to show their posts differently in list views. We've even made it possible to create new categories and tags inline, so you don't need to go elsewhere to create them.
Gone are the days where you needed to give blog contributors access to the rest of your CMS. Adding them through the new permissions screen is easy, and allows them to log in to a significantly reduced version of the CMS.
Each level of permissions is different. You can learn about them by clicking on the information icon, next to the fields. The basic idea is:
- Editors control everything in their blog.
- Writers can create and publish in their blog.
- Contributors can write, but have limited permissions otherwise.
Blog Posts will no longer clutter up the SiteTree. They're displayed in a GridField, within each Blog. You can search and page through the posts in your blog, without hassle.
Similarly, you can now moderate comments on each post. We've highlighted spam comments, so you can quickly apply batch actions to them.
We've also greatly simplified tag and category management. Want to combine two categories? Simply move all posts from one category to another.
There are many more features, like front-end moderation and personalised content author pages (on the front-end). These are just some of the features we wanted to highlight...
The module was originally created by Michael Strong. Michael works in the Ops team, at SilverStripe. I had the chance to ask him a few questions...
1. What made you decide to create a new blog module, instead of changing the current module?
The official blog module didn't really resemble a blogging platform. Blog posts don't belong in the SiteTree. What I wanted was a refined blogging platform that was clean, easy to use and built specifically for SilverStripe.
One of my previous attempts to create a new blog had many issues, because it was based on ModelAdmin. I found myself re-inventing functionality in ModelAdmin that already existed in the CMS interface.
The new blog module would solve these problems. I refined the blogging experience by extending CMS functionality already provided, and using GridField to list posts outside of the SiteTree.
2. How were you involved in the upgrade, from the old module to yours?
I was provided a list of all user stories to review. Most of the ideas were already planned, but there was no timescale and the ideas were nowhere near as complete as those proposed.
I explained which user stories were already complete in my module and which features would have to be developed. I was asked whether I'd be happy for SilverStripe to help drive development of the module, which of course I was.
I was also included in development and reviewed much of the code in the new module.
3. Do you feel like the adoption has benefitted your module?
I had planned to build many of the features in the new module, though I wouldn't have been able to dedicate the amount of time SilverStripe did to build them. At least not as quickly...
I really like how it has turned out, especially the authoring tools. The collaboration has definitely benefitted the module.
The blog is currently in beta, as we squash bugs and gather feedback. We'd love to hear what you have to say about it! If you find a bug, or would like to suggest a feature; head on over to GitHub. As always, you can reach us by commenting here, or tweeting at us.
If you were previously using micmania1/silverstripe-blogger, please also consider upgrading your blog with this new module.