We highly recommend that this project is undertaken using the Drupal Open Source CMS. Drupal allows a huge range of functionality gathered from secure open source modules, allowing us to build a site much faster and more securely than relying on a custom built, or in-house CMS system, ultimately offering a far superior product at a much lower cost.
What is Drupal?
Drupal is an open source Content Management System (or perhaps more accurately, a Content Management Framework). In high-level terms, it is a software package which can be customized to create websites with widely varying capabilities, from large social networks, to running a newspaper, to applications such as a CRM or a rental fleet tracking and reservation system.
Why do we use Drupal over other CMS systems?
There are many other Content Management Systems, such as Joomla or MODx, or even custom CMS systems, which have been written to do the same task as Drupal. So why do we choose Drupal for our projects over these others?
1. Open source - Drupal, like many other Content Management Systems, is Open Source. This means there are no license fees to use it, and the code is completely open and transparent. If we find a bug in Drupal, we can report it, fix it ourselves, and contribute the fix back to the community rather than depend on the original development team to fix the bugs. Hundreds of shops and individuals fixing and improving Drupal means much stronger and more secure code.
2. Clear, well-documented API - Many of our clients have specific requirements that cannot be fulfilled using core Drupal or community modules. In these instances, we often have to write custom modules to extend Drupal. Having a clear and well documented API saves us both time and frustration, which translates into saving our clients’ money.
3. Flexibility - Each new release of Drupal is more flexible than the last. This is due, in many ways, to the power of the API mentioned above. This is not to suggest that Drupal is encumbered with many features users will never use. Core Drupal is kept slim and mean, with much added functionality coming by way of community module.
4. Large User Community - Drupal has a strong community of users. This means that when we encounter a situation new to use, there is usually someone who has been there before. Being able to rely on community experience (and in turn offering our experience) means much less time hacking through problems.
5. Responsive & Approachable Developer Community - When bugs and security issues are found, or new features are suggested, the Drupal development community is quick to get stuff done. User feedback is sought, and the development process is very transparent.
6. SECURE - Drupal's codebase is very secure. A lot of care is taken to prevent opening potential exploits. On rare occasions, exploits are found. Usually, they are fixes on the same day, and a new version of Drupal with the exploit closed is made available for download. This, combined with the simplicity of keeping Drupal up-to-date, makes it secure.
Of course, there are situations where Drupal doesn't fit the bill. In these cases, we recommend solutions based on other software packages. As an example, for a client who wants a full-featured blog, but has no intention of ever adding new features, we would recommend a solution developed based on Wordpress.
Why choose Drupal over a custom application?
In most cases, writing a custom application is not feasible, since a large part of what is required for a client's website, from user authentication & authorization to content theming and display, is already part of Drupal. Using existing code is far more cost-efficient than writing our own. Additionally, given the large developer community, the code in Drupal is far more secure and feature complete than we would be able to offer from our own development team within a reasonable budget and time frame.