BrowserCMS
BrowserCMS is a new CMS system for rails that was “first” introduced in their talk at acts_as_conference 2009. Watching the last 10 or so minutes will give you a feel for the Usage Model
A solid CMS solution for my clients is essential for my peace of mind! There’s my value add which is the web application, and then there’s the rest of the site. Mixing and matching PHP CMS solutions or static HTML files has been the bane of my life for a while now.
One thing that I really enjoy about the project is that there’s a company committed to it’s success. That’s one of the biggest deciders for me in any open-source project. I loaded up the demo, and the UI looked very nice by default which is always encouraging.
So the final arbitor is to look under the hood and see what exactly is there.
- Basic Design
BrowserCMS is composed of a library of behaviors and MVC objects that utilize these behaviors. These behaviors are usually pulled into the Model, and the CMS Framework allows the management of these various Models. Then a site is constructed entirely with these model objects and managed by the CMS interface. I loved how they loaded the demo site.
You can also add your own objects by subclassing ContentBlock. I need to play around more to get a feel for how much work it is, but it looks like you will get a lot of knobs in the CMS system for versioning, publishing and connecting into the site map for ‘free’.
- Code
All the code is very well laid out and readable. I was largely interested in how they implemented Versioning, and it didn’t pervert the model it was versioning which I was curious about. Basically the columns that you want versioned are specified and then another table keeps track of all the modified versioned columns. All the features I investigated seemed to encapsulate specific features and function independently.
- Community
I just jumped on the googlegroup, and decided to take on a little cleanup that I would like to see, just to get my hands wet. Basically none of their Model objects are in the Cms Module, so I can’t have their code live along side my code temporarily while I do the migration. I could easily just move my code around, but it seemed like a good excuse to get playing around with an opensource project!
- Authentication
Out of the box permssions and groups works well. It has an implementation generated from Restful Authentication. It says ‘Use standard Authentication tools’ on the wishlist, so we’ll see where that goes.
Also, for future, more public sites, I am hooked on open-ID logins, like the system provided by RPX so hopefully the plugin system can support an open-id system.
Looking forward to playing around some more!
