ByteSpring Open-Source CMS Review
Posted on May 09, 2007
The other day, right after I finished a review of open source CMS systems, Jason Sheedy announced the release of his Bytespring CMS as open-source under the Lesser General Public License (LGPL). You can view a demo at http://demo.bytespring.com/.
Bytespring fits in nicely with the smaller scale of the CMS systems I reviewed the other day. Its goal is to handle the core necessities of a small(ish) dynamic site with minimal difficulty in both the installation and configuration. Bytespring runs on Model-Glue 1.1 which is provided with the install documents.Installation
The installation was really just a matter of unzipping the files into my sites root (and unzipping the Model-Glue files as well) . Other than that, there were a few items I could configure in the /beans/config/constants.xml.cfm file, but everything ran out of the box since Bytespring does not require a datasource (more on that later). One note, and this isn't the fault of the author, but I hit some issues with Scorpio compatibility in a couple method names; I am not going to say what methods here for NDA reasons. These were easily fixed with sitewide find/replace.
Content Management and Administration
Working with Bytespring was relatively intuitive as well and the inline administration UI will work well for clients without much internet experience. There is some basic documentation available in the form of a "User FAQ." All of the page editing is done through FCKEditor and saved to an XML file (more precisely an .xml.cfm file) within the /data/content/page folder. Form pages can be created through the wysiwyg editor built into FCKEditor. Page data also includes some basic metadata like keywords and description. Pages can also have friendly URLs so that either /index.cfm/Homepage or/go2/Homepage both will work for instance. Inserting images and links into content worked nicely out of the box.
One thing that I noticed in that pages do not have any sort of versioning. There also does not appear to be any workflow though you can add users to either the Admin or Guest roles - it did not appear that these roles were directly customizable either. It is also important to note that the user data was also stored in XML text files and therefore the username and password was accessible as plain text for anyone with access to the site files. While this may not be a major concern for the intended target client, it is something to consider.
The news, menu and users data are all stored in a similar fashion to pages except they are in a WDDX packet. News elements contain a short teaser and a link to an existing internal target, external URL or have no link. The seperate navigation management also allows easy linking to internal pages or external URLs, though navigation appears to be limited to two levels.
Image Management and Galleries
One very nice feature of Bytespring is the image management. It has a nice image gallery manager built-in which allows you to create seperate galleries into which you can upload images which can be automatically resized. and allows you to have pages that are link to these image galleries which display nicely and utlize LightBox for display of the full-sized images. These images also become available for use within page content.
Conclusion
In the end, I have to say that among the currently reviewed non-enterprise level CMS systems (which Jason described in my last post as targeting the "Mum and Dad / non-technical small business owner niche"), Bytespring ranks up at the top with Gerobase for general administrative abilities with some minor exceptions and with Katapult for overall simplicity of installation and ease of use. I am looking forward to seeing how this CMS matures.
Comments
Hi Brian,
thanks for the great review. It's really encouraging to get some positive feedback on the project. Just a couple of notes on the issues you raised.
Installation
It's really aimed at the shared hosting environment, so ease of installation and maintenance was a high priority. It's really nice to be able to just zip up the whole site, data included and give it to someone on a disc. Not using a datasource has it's limitations, but for the size of the sites we're talking about it's really not a problem. The system caches the site's data in memory when it's initialised, so performance is good. I've tested it with up to 2000 pages and initialisation time is still only around 2 seconds.
Passwords
I had planned to encrypt the passwords, but it's not a huge issue since the only person that can accesses the files is the site admin. Now that you mention it, i guess it's probably worth doing.
User Roles
The admin role is really the only one that gives any extra permissions over an anonomous user. The guest account is virtually the same as being anonomous. I added the role based permissions system in there to give it the flexibility to be extended in the future, but there's really not that many uses for it at this stage.
Workflow
The workflow is designed to be super simple, so as not to confuse the people this system is targeted at. I think adding some kind of versioning system would be positive ... with the option to say role back to the past 5 versions or something. However, complex workflow with drafts and publishing rules may step over the boundaries of what I was aiming for.
Thanks again for the good review and I be eagerly awaiting the scorpio public beta to get a look at some of those issues you mentioned.
Posted By Jason Sheedy / Posted on 05/10/2007 at 4:37 AM