iBCScorp is a web development company.
We create software.
From the start of iBCScorp, we have focused on specialized custom web development work mainly using open source technologies. Most of our work has been done using popular Internet technologies including PHP, Cake PHP and Ruby on Rails. We have used these technologies successfully to deliver quality solutions from the ground up for the needs of our clients.
However, over the past few years we have recommended content management systems to more and more of our clients is a website that they can manage themselves. CMS solutions allow our customers to manage the contents of their sites, while we cater their custom requirements.
Sometimes, clients, both end users and development companies come to us with the idea in mind already that they want a Content Management System for themselves or for their client. In that case they usually ask for Wordpress or Joomla and we build on top of that. This is an indication how popular those two systems are among the web community.
Before deciding which Content Management System (CMS) will best meet your requirements it is a good idea to review your criteria and compare content management systems. We have provided some information here to help you know which cms might work best for a given scenario. These are notes about how we feel about each of these systems. All of these are freely available open source systems; we have installed, implemented and tested each of them and are familiar with the internal architecture and workings. We have each of these in production for clients and have a team devoted to each content management system accept Browser CMS. What we have written here may not 100% correct so your comments and suggestions are highly appreciated.
PHP Based CMS Systems
Wordpress - Examples of our work
The wordpress web site [www.wordpress.org]
Wordpress is a simple but powerful blog aware CMS. With a little knowledge; once the site is up you can start creating content. The interface is easy to understand and it has very good support for content management.
Wordpress has many commercial and freely available wordpress templates which can be used and modified for your site, or companies like iBCScorp can create them custom for you. There are also many useful plugins contributed by the Wordpress developer community. These can be simply installed and used or modified for specific needs. Because of SEO plugins Google search engine can easily index pages and these pages can appear on Google within couple of days after a site is released; provided the site is done correctly. When it comes to extending Wordpress for custom requirements, Wordpress is less flexible than other options. Plug-in modules can be built, but we feel, it is not as easy or straight forward when there are lot of custom requirements compared to other options.
One example of a site that we have done which uses Wordpress, but which also uses extensive custom application development is a travel site which allowed agents to have their own profile and back end tools. In this case so far, rather than customizing Wordpress, the customized modules were built outside of Wordpress using Cake PHP. However as the customer's budget allows for additional integration between the custom code and Wordpress, it will be done.
One downside of Wordpress is performance. For larger sites we feel that wordpress does not perform as quickly as other options. Also the quality of plugins varies and sometimes even though a plugin may seem to meet a clients needs, on implementation we discover that it is buggy, incompatible with browsers or clunky in some way.
The Joomla Website [www.joomla.org]
Joomla is another popular and matured product which mostly focuses on content management. Like Wordpress, most people know the product since it has been around for a long time. It has a sensible flow of managing content and with some advanced knowledge you can extend it for for custom needs.
As a developer, touching the code however, one finds that the code structure is brittle and clumsy. We feel Joomla doesn't have a good modular architecture. We also feel that compared to other systems, that Joomla is harder for the client to use and takes more time to learn.
Another down side is the limitations within its template system when compared to other content management systems. The Joomla template system is not easy to modify when making a pretty looking web site for the average skilled web developer.
The core system of Joomla is also very complex. This puts high demand on server resources. If the database is not adjusted for better performance and if a couple of fancy external plugins are added, chances are that the site will break down when considerable amount of traffic begins using the site.
We are comfortable doing Joomla sites if there is a specific requirement which it is the best suited for if the project is already in Joomla, or if the customer is already familiar with Joomla. If none of those conditions exist, we find ourselves steering clients towards other options.
The Drupal Website [www.drupal.org]
Drupal is a content management system (CMS) is a platform which you can use to build powerful web solutions.
The architecture we feel is flexible and extensible compared to Joomla or Wordpress. We see lot of good features in Drupal and the ease of managing content. Drupal provides a module system to extend the core functionality and also to add new features. There are also many community provided modules that can be used for specific requirements. And if we can't find something that meets the customers requirements, we can write our own modules for custom requirements. The flow of content handling is easy for the content editors. However as with other well modularized systems, when it comes to development, there is some learning curve. We think that is reasonable for the flexibility and the clarity it offers for serious development. New developers will need to try and experiment before Drupal can be understood well and used fluently. Here is an interesting review comparing Drupal, Wordpress and Joomla http://www.chapterthree.com/blog/zack_rosen/what_drupal_isnt
SliverStripe CMS - Examples of our SilverStripe work.
The SilverStripe Website [http://www.silverstripe.org]
SilverStripe is again a well modularised PHP5+ content management system. It is relatively new but getting lot of attention in the content management system world. SilverStripe has a simple and rich feature set for content editing. It also offers the ability for the developers to extend its functionality by using it's underline Sapphier framework. This framework allows developers to write modules which extends the base system for custom needs in a straight forward manner. There is already an interesting set of modules provided by the silverstripe community that can be used out of the box and changed according to meet the needs of clients. The flow of content editing is really simple that even a novice user can easily understand how to use it. One downside we see with SilverStripe is that since it is still a relatively new product, there are limited resources for learning to develop on the tool. It should be noted that lot of good materials are coming out from the very enthusiastic developer community, including those within our company who really like SilverStripe.
We have had problems with SilverStripe for e-commerce in that tools we needed weren't available. Also we don't believe SilverStripe is a good scale able solution for larger sites particularly containing large numbers of products or pages.
The above all are PHP based content management systems. From the Ruby on Rails world there are couple of content management systems that are interesting. One caution about Ruby on Rails content management systems is that most of them are in active development and are still not well matured.
The RadiantCMS website [radiantcms.org]
Radiant is a Ruby on Rails based content management system that is well suited for small teams to manage their content. It assumes some programming knowledge from the content editor. In practice it is used by professional Ruby teams to manage their contents. If we are managing the site ourselves, then this is a great tool, if we are turning it over to the client to manage however, for now, we recommend other options.
Browser CMS -
The BrowserCMS website [www.browsercms.org]
This is again a relatively new Ruby on Rails based CMS solution. It allows you to build on top of the content management solution with the help of Rails extension system.
We hope the above review will help us to decide which CMS system best suited for a given scenario. No one single product will not play well for every scenario; we have to decide together with our clients what is the best tool for a given job.
Java JSF based CMS
PrimeAgile is a Java based content management system. It is built on an enterprise level framework that allows distribution of content across any number of servers. It is by far the most scaleable CMS we know of. It also is the only CMS that we are aware of that provides tools to translate pages as well as keywords and other metadata. One of the large advantages of it is that as it is part of the PrimeAgile building block set of tools, it can be easily included with and used in other applications rather than being a third party plugin or clumsy off-site based content management system. It also has a sophisticated use management system, and the ability for one company to manage as many sites or clients as they want to from one login.
When not to use a CMS
Just as it is important to choose the right content management system, it is also important to know when not to use a content management system.
We have seen projects where people have done things using a content management system which should have never been done in a content management system, and which should have been done using custom code.
Publishing flexible content is done very well in a content management system. Transactional Processing such as accounting, Customer Relationship Management, ERP type systems - things which are highly structured, maybe should be managed using some other type of application or even custom code. PrimeAgile is an enterprise level development environment not just a CMS so it is probably the only exception.
We add this caution because we have seen customers and developers alike try to use content management systems for things which they where never designed to handle. In the end they ended up with expensive projects which don't scale, or which can never help the customer reach their end objective.
Please contact us if you have a project you are considering doing and lets discuss it. Maybe we can save you a lot of trouble down the road whether you choose to use our company or not to do the work.