How I came to BitWeaver

by WaterDragon
Wednesday 23 of May, 2007
Before selecting Bitweaver I did a pretty extensive review of other CMS systems out there and found Bitweaver to be excellent in all of my criteria.(:cry:)

I came to the table with a few requirements; chief among these were: Open Source but with a license that would allow me to create proprietary extensions, Model-View-Control architecture with a template system, scalability both in terms of hardware requirements and staff to work on the system and easy to develop and maintain.(:wink:)(:twisted:)

I began my search by considering what languages to include in my search. As I knew I needed to develop custom software to go with the CMS system to handle my particular kind of data I needed a language that was easy to develop with but also could be maintained in the future. While I was in no way set on PHP as a language of choice, having serious concerns about security, I knew perl was out of the question due to maintainability issues and I had concerns about the server hardware required to run a Java system. I like Java as a language but find that such systems require considerably more hardware to run than PHP systems. Python and Ruby were not out of the question but, as I said, I hope to grow the team and finding Ruby and Python programmers is much harder than finding PHP programmers. As I hope the site is going to grow into a very heavily used site I considered scalability, in all forms, very carefully.

I wanted a system that would be able to grow as my site grew and the staff to develop and maintain it grew. Right now it is just me but if the business takes off like we hope it will this will change into a team and I needed a system where designers and coders could both work on the system without stepping on each others toes too much. This means Model-View-Control as is often done. To me this required a system which used a template engine and I was particularly interested in finding one that used Smarty as that seemed to be the template engine of choice for PHP.

I was also determined to use an Open Source system as I have long been convinced of the advantages of Open Source development a long time ago. That said I needed a license that was liberal enough to allow me to have proprietary portions of the CMS system.

Finally I have had some experience with databases and I knew that MySQL was not going to cut it for my system. I needed full ACID compliance to properly support scalability and so I knew postgresql support was crucial.

Having limited my search parameters some. I began looking at various CMS systems and was disappointed with all of them for one reason or another. Fortunately I stumbled upon BitWeaver and within a few hours of digging into the SamplePackage I knew I had found my home.

Joomla/Mambo I rejected for not having postgresql support and not the license I was looking for.
Drupal had postgresql support but I found the function name system of hooking the code together to be a giant pain and the template system was a mix of HTML and php entities that I found to be completely unmaintainable. The license also didn't work for me.
bitweaver and TikiWiki (from which BitWeaver was spawned) I found to be bloated with complex dependencies between various parts of the system.

There really seemed to be nothing that satisfied all of my needs until I found bitweaver.

Model-View-Control system with Smarty template engine: Check
LGPL License to let me do what I want: Check
Scalability: Check and Check (Bitweaver has numerous features for handling scalability from caching to proper file storage to a module for monitoring load and page resource usage.)
Easy to Develop and Maintain: Check (Bitweavers object oriented design made it a snap to learn how to do very powerful things in no time at all. The LibertyContent engine is simply amazing and LibertyServices rocked my world!)

All in all BitWeaver met my needs. Maybe it will meet yours.


Nice story

by Kozuch, 24 May 2007 (16:49 UTC)
Although I am not such a pro as you probably, my way was similar. Although I am strugling a little now I hope I keep the track with Bitweaver. I am lazy to start code, that is all it is about (:cry:).