Migrating to Drupal
As we write this article, Drupal's next release, version 4.7.0 is in beta. Improvements include a better default theme engine, refined search functions, improved PostgreSQL support, themeable forms, Ajax-enhanced administration interface and a better upgrade script. Also promising is the development of the CCK that could, along with actions, workflow and views modules, make Drupal even more flexible and powerful.
Some people in the Drupal community predict that the trend to watch in 2006 is the emergence of application-specific Drupal distributions—re-packaged versions of Drupal catering to a particular need. One such distribution is CivicSpace, a community organizing platform popular with grass-roots organizations, nonprofits and political campaign Web sites. CivicSpace provides a Web-based installer and a configuration wizard that sets up Web sites for common-use scenarios. It includes a selection of Drupal modules relevant to running community organizing Web sites so you don't have to research, download and install individual modules. CivicSpace also includes CiviCRM, a Web-based constituent relationship management application that offers features, such as on-line fund raising, contact management, tracking volunteers, donors and clients. Efforts are underway to develop similar distributions for educators and artists.
We have used Drupal for several different types of projects, including corporate, collaborative, intranet and academic Web sites. What makes Drupal so versatile?
According to its founder Dries Buytaert, Drupal aims to provide “a solid base to extend and implement custom content management solutions”. This may be one of the reasons for its popularity. It strives to be a content management platform that enables developers and users to customize their own unique solutions based on Drupal's core engine. Drupal's modular architecture has resulted in several interesting community-contributed modules. These modules often connect Drupal to other popular programs or services, opening up interesting and unexpected possibilities.
It's true that non-programmers can achieve a lot with Drupal simply by tweaking configurable options. Those with modest HTML or PHP experience can customize themes and layouts or use snippets of code shared by the community on Drupal's Web site. And, of course, PHP experts can create their own custom modules and tweak Drupal as much as they like.
However, its extensibility and flexibility also have made Drupal more complex. The solution you are looking for may be found in a particular combination of modules, configured in a certain way, using a well-crafted taxonomy and carefully thought-out user permissions. Drupal is capable of addressing complex content management needs, but tapping its potential does require a deep understanding of how it works.
What is admirable about Drupal is that it makes it possible—to a certain degree, without writing any code—to shape a diverse range of Web-based solutions built on the same core content management platform. And, it achieves this while remaining true to its stated principles of standards-compliance and collaborative open-source development. Drupal may not have a perfect solution for each problem, but it can meet a lot of different content management needs reasonably well. Ultimately, what matters is that Drupal helps people, whether they are programmers or non-programmers, large organizations or individuals, tap into the collaborative potential of the Web.
Resources for this article: /article/9264.
Abhijeet Chavan is the Chief Technology Officer of Urban Insight, Inc., a Web development consulting firm. He also is the co-founder and co-editor of Planetizen.
Michael Jelks is a Senior Developer at Urban Insight, Inc., with more than 37 dog years of experience implementing Web-based applications with Perl, PHP and MySQL technologies.
- Is the Private Cloud a Real Cloud?
- Give new life to old phones and tablets with these tips!
- Readers' Choice Awards 2014 Poll
- rsync, Part II
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- Tech Tip: Really Simple HTTP Server with Python
- Memory Ordering in Modern Microprocessors, Part I