Drupal is a free software package that allows an individual or a community of users to easily publish, manage and organize a wide variety of content on a website. Tens of thousands of people and organizations have used Drupal to power scores of different web sites, including
Drupal is ready to go from the moment you download it. It even has an easy-to-use web installer! The built-in functionality, combined with dozens of freely available add-on modules, will enable features such as:
and much more.
Drupal is open source software licensed under the GPL, and is maintained and developed by a community of thousands of users and developers. Drupal is free to download and use. If you like what Drupal promises for you, please work with us to expand and refine Drupal to suit your specific needs.
Drupal is more than software - it is a project and a community. This section presents the structure and decision-making process in Drupal. There are various roles and responsibilities that people can assume in the Drupal project.
By building on relevant standards and open source technologies, Drupal supports and enhances the potential of the Internet as a medium where diverse and geographically-separated individuals and groups can collectively produce, discuss, and share information and ideas. With a central interest in and focus on communities and collaboration, Drupal's flexibility allows the collaborative production of online information systems and communities.
For developers Drupal aims for a development system that is:
For administrators, Drupal aims to provide solutions that are:
For users, all elements of the Drupal user interface should be:
In 2000, permanent Internet connections were at a premium for University of Antwerp students, so Dries Buytaert and Hans Snijder setup a wireless bridge between their student dorms to share Hans's ADSL modem connection among eight students. While this was an extremely luxourous situation at that time, something was missing. There was no means to discuss or share simple things.
This inspired Dries to work on a small news site with a built-in webboard, allowing the group of friends to leave each other notes about the status of the network, to announce where they were having dinner, or to share some notewhorthy news items.
The software did not have a name until the day after Dries moved out after graduation. The group decided to put the internal website online so that they could stay in touch, continue to share interesting findings, and narrate snippets of their personal lives. While looking for an appropriate domain name, Dries settled for 'drop.org' after he made a typo to see if the the name 'dorp.org' was still available. Dorp is the Dutch word for 'village', which was considered an appropriate name for the small community.
Once established on the Web, drop.org's audience changed as the members began talking about new web technologies such as moderation, syndication, rating, and distributed authentication. Drop.org slowly turned into a personal experimentation environment, driven by the discussions and flow of ideas. The discussions about these web technologies were tried out on drop.org itself as new additions to the software running the site.
It was only later, in January 2001, that Dries decided to release the software behind drop.org as "Drupal." The motivating factor was to enable others to use and extend the experimentation platform so that more people could explore new paths for development. The name Drupal, pronounced "droo-puhl," is derived from the English pronunciation of the Dutch word "druppel" which stands for "drop."
To learn more about the history of Drupal, see also Drupal videos from Drupalcon (2006) in Vancouver.
As a communication center and project management space, drupal.org includes members who use Drupal as a personal website solution; IT professionals implementing Drupal for clients; and programmers, writers and others contributing to the growth of the Drupal open source project. Members work together to maintain extensive development and support resources on site:
Learn more
See the links below, the other sections of The Drupal Handbook, and the many discussions in the forums for more information.
After Drupal had been created, an obvious matter was the choice and creation of a logo. Of course it would have to do something with a drop... or water.
The inital idea was simple: a drop in a circle. . It was featured as an "O" in a liquidish "Drop".
When the community grew, the idea came up of a cartoony drop with a face. Steven Wittens (UnConeD) created a 3D drop, but the idea didn't get too far mainly because 3D is hard to print, hard to edit, etc.
When the logo-issue had come up again, Kristjan Jansen (Kika) came up with idea of putting two side-way drops together to form an infinity-sign. When put into a filled circle, it resembled a face. After some more work by Steven Wittens, the Druplicon was created: a stylised drop with the infinity eyes, a round nose and a mischievous smile.
That's the 'story' behind it... I like the idea that the infinity-eyes symbolise the infinite possibilities that Drupal offers :)
See more versions of the logo in the marketing section.
Documentation and support is collaboratively provided by the Drupal community. Members span all Drupal roles and skill levels. Remember that you are dealing with people, so etiquette matters. References:
If you discover or learn about a potential error, weakness or threat that could compromise the security of Drupal, please mail your concern to the Drupal security team: security@drupal.org. Please provide as many details as you can about the environment, Drupal version, modules used, their versions and so on.
If you are required to encrypt your report, use the OpenPGP key: 0xA1FDFAC2.
Our policy is one of full disclosure; we will never withold information about a security problem and hope that it won't be discovered by others. However, public announcements will only be made when the threat has been addressed and a secure version of Drupal is available. We ask that when reporting a security issue, you observe these same guidelines, and beyond communicating with the security team, do not share your knowledge of security issues with the public at large.
As soon as we learn about a security issue with a contributed module, we forward that to the maintainer of said module with a deadline. As soon as the maintainer fixed the problem, the security team will issue the relevant advisory with instructions on how to upgrade. However, if the maintainer does not fix the problem within the deadline, an advistory will be issued nonetheless, but we will advise to disable the module and we will disable the project as well.
The most important help you can provide is reviewing proposed patches with a security mindset. You can also help by reporting issues and working with the team on a fix.
Welcome to the community.
The drupal.org community is comprised of a diverse group of people; from developers to neophytes, professionals to hobbyists, and contributors to non-contributers. Using Drupal as a foundation, you can build a powerful flexible website.
As with all powerful tools, what you get out of it depends on what you put into it. With a base Drupal install, you can build a fairly powerful database driven site without knowing PHP. If you need something beyond what is provided with the base install and the more stable contributed modules, you will need to be familiar with PHP and databases (primarily MySQL), be willing to learn about them, or be ready to pay someone for their services. If you are familiar with developing, then you will want to spend time learning Drupal's API and read through the Developer's Guide. The mail list and archives is also a good source of information for development.
As with all communities, members have many vigorous discussions over various approaches and viewpoints while others work to provide helpful support to friendly newcomers and even the occasional troll. To make the forums a more pleasureable and productive experience for all, be sure to read and keep in mind the forum posting tips.
Open source communities work best when everyone jumps in and helps out. The handbooks mention a number of ways anyone can contribute. Once you have installed and begun configuring your site, you can easily lend a hand by assisting others in the fourms who have the same basic questions you once had. Whether you help in the support forum, write or revise documentation, review patches, or create patches, your help is always welcome.
So you've decided to jump in and hitch a ride with Drupal? That's great! The Drupal community welcomes everyone who uses the application for their own needs, be they personal, corporate, community-based, or otherwise.
Whether you contribute back to Drupal or not, the crew enjoys having your company: after all, it is a very long journey. They also know that many of you do your bit by recommending Drupal to others.
All of you count, because you all contribute to the size of the Drupal community - and the more people there are, the bigger Drupal is, and the better it becomes.
What's more, it is understood that you have to be a user before you can become a contributor, and that many of you have the potential to contribute your own valuable skills to Drupal, once you've learnt a bit more about how it all works.
However, you should realise that you're benefiting from the generosity of hundreds of other people who have made Drupal the great platform that it is, and you're doing it at no cost.
All that is asked of you is that you appreciate the time and effort that others have put into Drupal on your behalf, and that you abide by one basic rule of etiquette:
Don't start making demands!
Drupal is a volunteer effort. You're welcome to suggest features. You're welcome to point out bugs or usability problems. You're welcome to politely ask for help. But do not angrily rant about the features that Drupal lacks and that you require of it, and then demand that "the developers" address said shortcomings as soon as possible.
This is a good way to annoy the rest of the community, who do not deserve to have their countless unpaid hours of service rewarded in this manner, and to find yourself without any further support.
As a member of the community you have no obligations to any other member, but neither do any other members have any obligations to you.
Even if you don't code, there are many ways to contribute to Drupal, participate in the community and influence development. A good place to start is to read these pages:
Drupal.org README first
HOWTO: Enact change within the Drupal community
Frequently, people complain that the process of contributing back to Drupal is overly difficult.
Additionally, people say that the Drupal community can feel unwelcoming.
So, some good news. If you're reading this, you are part of the Drupal community. Welcome!
And, if you're a non-coder and/or a new user and want to contribute, here are some ways to start.
Often, the questions in these forums are from users who are having hard time getting their heads around exactly how to use Drupal. People new to Drupal have a perspective many experienced users lack. As a result, new users are often the most effective at helping fellow newcomers.
So, welcome aboard, and thanks for your contributions to the Drupal project.
A lot of people have a lot of suggestions for how the Drupal community could be improved. This is fantastic, as it shows that people genuinely care about Drupal, and want to see it improve.
However, it is unrealistic to expect every request to be implemented. Drupal is a community of volunteers, and since there are more things to be done than there are people to do them, those volunteers are forced to pick and choose their battles. Changes also take time; even changes which are "technically" simple (such as enabling a module or two on Drupal.org) need to be given consideration in terms of how useful they will be to the community as a whole, whether there are any adverse effects to doing so, and whether or not effort is best spent there or in another area which may have a greater long-term benefit.
Therefore, a much better and more effective approach than merely asking for change is to take steps to enact change yourself. "Own the problem" -- if you see something you don't like, resolve that you will do what you can to help fix it. Drupal's community provides countless ways in which to do this: participating directly in development discussions, adding or submitting corrections to handbook pages, submitting modifications to modules, and so on.
The success of how your ideas are received depends a lot on your approach. While there is no guarantee that an idea will be adopted into the project, here is an outline of steps detailing the best practice method that more experienced members of the community tend to follow in order to get their ideas heard:
1. Inquire
Ask "why is this like this?" Don't make assumptions. Maybe there's a good reason. Try to find out who the people are behind the decision-making process for your particular issue, and talk with them to see if there's a way to create a solution that both meets your own needs and satisfies the existing requirements.
2. Research
See what other solutions are out there that you might be able to extend to meet your needs. See how other people are handling the problem you're currently facing. Talk with other community members to see if they see merit in your idea, or if they have an alternate approach.
3. Propose
In as much detail as possible, outline the steps to fix the problem. Do a mock-up of what you think the solution would look like, and describe how it would work. Anyone can propose an idea. "I think Drupal should do this." Great! But an idea that has been researched, that is backed up with a plan, and which is able to quantify its purpose and effectiveness is far more likely to get attention and to later be implemented.
4. Refine
Get feedback from the community, as this can often improve upon your original idea. Take criticisms and either address them or incorporate them into your plan.
5a. Be patient
Depending on how well you've written your proposal, you might catch the eye of a developer who says, "Yes! I know exactly what you mean, and I want that very thing too!" You might catch the eye of someone with money who says, "Yes! I will pony up $500 to put into a pool for that feature!" which will in turn attract a developer.
However, bear in mind that change in the Drupal community is evolutionary rather then sudden and immediate. Change occurs over weeks and months rather then days and hours. Discussion tends to occur in a time lagged fashion on the forums and through email over time in collaboration. It's not just one person that makes the decision, it's generally a group consensus. Keep in mind that while your proposal makes sense to you, it may not make sense to a majority of others at first.
5b. Be willing to DIY
On the other hand, you might receive luke-warm acceptance, or you might get a lack of response because people don't fully understand your idea and how it would work. Sometimes the best matter is to take things into your own hands, and Drupal.org gives you literally dozens of opportunities to do so. You can:
....and on and on and on.
By contrast, here are some things that will NOT help enact change:
Accusations
Some people take the approach of talking in a very accusatory manner toward developers, implying that they are lazy, selfish, uncaring, and worse. Nothing will make people less sympathetic to your cause than taking this kind of attitude toward them.
Demands
No one from this community is being paid by "Drupal" to do work, so they tend to go after issues that interest them, or issues that they're being paid by their employers to address, and so on. That may mean that no one has the interest or the time to fix your specific issue. Either accept that, or take steps to fix the issue yourself, as outlined above. Demanding that it be done only makes people less willing to help.
Impatience
Rome wasn't built in a day, neither was Drupal, and neither will be your brand new concept. Things take time in order to be properly thought-out, planned, and implemented. Accept this, do not be frustrated by it. If every idea was thrown in willy-nilly, we would not have the stability of a system which we all know and love.
Does this sound like a lot of work? You're right, it is. While none of these steps need take a ridiculous amount of time and preparation individually (an "inquiry" could be a 5 minute conversation on IRC, and a "proposal" could just be a forum post), it requires free time, energy, patience, commitment, and skill to see changes through. And even after all of this work, sometimes ideas *still* aren't implemented for various reasons (read more on the decision-making process at http://drupal.org/node/10261). So try to realize that it is really pretty unreasonable to expect other people both to have all of these qualities, AND to be willing to drop everything and work on your specific issue, all at no cost to you. Have some compassion for the fine folks running and participating in the Drupal community, and take responsibility to do what you can in order to make it easier for your ideas to see the light of day.
Welcome to the community!
Drupal is a highly configurable, modular content management system. Before you can answer if Drupal is right for you, consider a couple of questions: Which type of Drupal user are you, and what are your needs?
Below is a list of common user types followed by Drupal features. If the features meet your needs and you have the skill-set required to implement them, Drupal might be a perfect system for you. (See the list at the bottom of this page for more on required skills.)
I'm a Blogger and I need...
Skills needed: end-user, administrator
I'm evaluating Drupal for my organization/company and we need...
Skills needed: evaluator, end-user
I'm a community organizer and I need...
Skills needed: evaluator, end-user, administrator, site developer (to some extent)
I'm a small business owner and I need...
Skills needed: evaluator, end-user, administrator, site developer (to a limited extent)
I build or design websites for clients and I need...
Skills needed: evaluator, administrator, site developer, developer (to some extent)
I'm a programmer and I need...
* a robust, well-designed, modular system that I can customize and extend
* well documented APIs
* system and architecture documentation and coding standards
* access to a community of other developers
* a rich feature list
Skills needed: administrator, programmer
Do you know what type of Drupal user you want to be? If you do, review the skill sets below to see what you'll need to get started:
Now is a good time to learn more about Drupal. The Case studies section examines typical types of sites that use Drupal and gives links to real sites of each type. This section includes a listing of hundreds of Drupal sites.
In the Feature overview we survey some of the most important and commonly deployed features of Drupal.
A discussion of the merits of using Drupal over writing a custom Web-application framework to support your project is presented in Rolling your own system vs. using Drupal.
Take a moment to visit some exceptional Drupal websites that exhibit the versatility of this tool. These sites display how Drupal sites can be built to meet many different functions and needs while still being graphically appealing and dynamic.
Drupal meets the needs of different types of web sites:
Community Portal Sites If you want a news web site where the stories are provided by the audience, Drupal suits your needs well. Incoming stories are automatically voted upon by the audience and the best stories bubble up to the home page. Bad stories and comments are automatically hidden after enough negative votes. Examples: Debian Planet | Kerneltrap
Personal Web Sites Drupal is great for the user who just wants a personal web site where she can keep a blog, publish some photos, and maybe keep an organized collection of links. Examples: urlgreyhot | Langemarks Cafe
Aficionado Sites Drupal flourishes when it powers a portal web site where one person shares their expertise and enthusiasm for a topic. Examples: ia/ | Dirtbike
Intranet/Corporate Web Sites Companies maintain their internal and external web sites in Drupal. Drupal works well for these uses because of its flexible permissions system, and its easy web based publishing. No longer do you have to wait for a webmaster to get the word out about your latest project. Examples: Sudden Thoughts | Tipic
Resource Directories If you want a central directory for a given topic, Drupal suits your needs well. Users can register and suggest new resources while editors can screen their submissions. Example: Entomology Index
International Sites When you begin using Drupal, you join a large international community of users and developers. Thanks to the localization features within Drupal, there are many Drupal sites implemented in a wide range of languages. Examples: PuntBarra | cialog
Education Drupal can be used for creating dynamic learning communities to supplement the face-to-face classroom or as a platform for distance education classes. Academic professional organizations benefit from its interactive features and the ability to provide public content, member-only resources, and member subscription management. Examples: ENGL 420S | WPA
Art, Music, Multimedia When it comes to community art sites, Drupal is a great match. No other platform provides the rock solid foundation that is needed to make multimedia rich websites that allow users to share, distribute, and discuss their work with others. As time goes on, Drupal will only develop stronger support for audio, video, images, and playlist content for use in multimedia applications. Examples: Terminus1525 | Project Opus
Drupal-related reviews and analyses of different software tools and platforms.
Telecentre.org has outlined plans for a distributed network of telecentre network sites around the world, which will include a site for telecentre.org itself. This document outlines the process we followed for choosing a telecentre.org web platform; the platform we ultimately selected was Drupal. For the specific requirements and overall web strategy that guided this process please see the separate telecentre.org online strategy document. The overall vision is of a network of sites that will likely run on a variety of platforms, including a growing number of sites that run on our Drupal-based “support net in a box”.
RSS offers the obvious means of sharing and aggregating information across the sites in this network. Because telecentre end users are often accessing the Internet with low-bandwidth or intermittent connectivity, and RSS-based strategy also offers options for getting content easily and storing it locally for later reading. By tagging (assigning keywords to) as much of the sites' content as possible, it will be easy to organize content across sites and even across multiple languages. The implementation of RSS and tagging was thus central to our review of software options.
Our search for the optimal web platform for the telecentre.org support-network-in-a-box (SNIAB) focused on options that might combine content management features (like the ability to easily create and edit web pages, register users, and automatically create navigation structures) with community and collaboration features (like RSS, blogging and wikis). We initially expected to choose a separate (though compatible) platform for the event-in-a-box (EIAB), with some overlapping functionality. As our vision for both SNIAB and EIAB grew more nuanced and concrete, we concluded that there would be significant advantages to selecting the same platform for both purposes. The primary advantage would be the ease of incorporating event-driven content into the flow of content among telecentre network sites; a secondary consideration was that it would be easier for telecentre partners to become familiar with a single tool, rather than two.
We gathered preliminary candidates by reviewing the tools used to create sites with community features, reading online discussions of CMS tools for the non-profit sector, and soliciting suggestions from colleagues. We wanted to find a tool that wasn't just a CMS with a bunch of blog-like features attached to it; we wanted a tool that was fundamentally suited to a distributed network in which content would be continuously exchanged among sites. We also wanted to ensure that sites that were not built on the core platform would still be able to access content from the sites that were; we recognized that RSS was the only standard that could serve this purpose.
The goal of establishing a distributed network that circulated content via RSS led us to three core questions that served as a filter on our potential platform:
1. Has this platform been used to rapidly deploy a large number of interlinked sites from a basic template?
2. How widely does the platform integrate RSS into its structure – both in terms of creating outbound RSS feeds and in enabling easy, flexible aggregation of inbound RSS feeds?
3. Does this platform support blogs or wikis, which are the most common tools for online community and collaboration?
These three questions provided a litmus test for whether a platform had “community DNA”, and allowed us to quickly narrow a long list of possibilities. Some of the initial options that were set aside due to lack of community functionality included:
Ekton: no blogging
Kintera: minimal RSS orientation
MCMS: no blogging
Red Dot: blogging not core
Sharepoint: no blogging
SiteRefresh: RSS feeds are not core to software
We took a closer look at seven options:
APC ActionApps: The distributed network model is central to the design of ActionApps, which lets users share “slices” of content with other ActionApps sites. The limitation of the slice model is that it is a content distribution scheme that is specific to ActionApps, so any telecentre network sites running on other systems would not be able to participate in the content-sharing scheme. While there is some RSS support it is not the primary mechanism for content-sharing, and both blogging and wiki functionality are still under development. We were also concerned that the small developer community for ActionApps did not promise significant growth on the platform.
Mambo: The user and administrative interface for Mambo was one of the best-designed options on our shortlist. We were also interested to note the emergence of Soapbox, a Mambo toolset geared towards the nonprofit community. The Soapbox toolset is however limited (at this point) to integration with the Democracy in Action CRM, and to single sign-on among sites. The information architecture of Mambo itself proved incompatible with the telecentre.org project, since it is structured around categorization (rather than tagging), which in practice imposes such limitations as precluding multiple categorization of inbound RSS feeds. Since much of the telecentre.org network's content will need to be distributed to multiple categories (e.g. a story on a Bolivian wifi project needs to be tagged “wifi” and “Latin America”), the categorization structure was a deal-breaker.
Plone: As a CMS based on the Zope platform, Plone offers much greater programming extensibility than other CMS options we considered. The flip side of this virtue is that Plone's relative advantages are much less compelling for a project that (like telecentre.org) specifically wants to limit its custom programming commitments. Ultimately our biggest concern was that Plone's RSS aggregation capacity was not part of its standard install; while adding an aggregation module is a trivial technical challenge, the lack of native aggregation support spoke to the platform's orientation towards single-site content management rather than distributed community.
SocialText: We used SocialText as a platform for circulating our requirements, which gave us an opportunity to try out the software in action. SocialText was appealing primarily as an EIAB option, and once we decided to focus on choosing a single platform for both EIAB and SNIAB, SocialText made little sense. In particular we found that its pricing model – based on per-user or per-day pricing – made little sense for our purposes, and reflected the fact that it is really a collaboration platform rather than a content platform.
Userland Manila: As a CMS that began as a blogging platform, Manila seemed like a promising option for a community-oriented web platform. However it lacked many key features we required, including wiki support and flexible, native RSS support. While it would be possible to extend Userland with scripts that allowed (for example) aggregation of different RSS feeds to different areas of a site, the extent of custom-scripting needed to effect the kinds of RSS control we'd like indicated that Userland was oriented to single-site CSS rather than distributed network community.
TIG (Taking it Global): Taking It Global is an NGO that runs both its own TIG community on a homegrown platform, and offers that platform to other users (such as the Digital Divide Network). The platform is specifically oriented toward supporting multiple sub-sites, but its model for supporting multiple sites is based on storing all sites on a single server (and in a single database) rather than as a truly distributed network; this would make it difficult to integrate non-TIG sites into a TIG-based telecentre.org network. While we were confident in TIG's ability to quickly and efficiently deliver additional programming as needed, the relatively long list of features that would require custom programming for our purposes (site-wide tagging support, separate aggregation pages, wikis) again suggested that the TIG platform was not fundamentally oriented towards an RSS-based distributed network.
Drupal: With a fast-growing user base in the non-profit sector, Drupal's strong online community focus made it an appealing prospect. Nonetheless we were concerned about documentation and interface issues and its wiki support. Our wiki concerns were resolved by a demonstration of a Drupal site with installed wiki-like features that fully met our needs. Documentation remains a concern but appears to be a priority for both Bryght and CivicSpace, two major players in the Drupal community. Likewise an improved administrative interface is high on the development agenda at CivicSpace, and may be partly manageable in the shorter run by implementing a custom theme for administrators.
Most importantly, Drupal was alone among all CMS options in its compatibility with a distributed network approach. The platform is essentially built for exactly this kind of approach: it supports ubiquitous outbound RSS feeds, complex aggregation of inbound feeds, per-feed or per-item non-exclusive tagging, and native support for blogging. Compared to the other options, which are virtually all CMS platforms that have developed distributed community features, Drupal is innately oriented towards community networking and distributed content creation. The following outlines how we anticipate using particular features of the Drupal platform to support core elements of the telecentre.org web strategy.
Most of us who have worked closely with Drupal know that it's superior to other products out there. But when asked why, we seem to have a hard time presenting our case. Either we become too technical (in which case we turn away non-techie users) or we gush incomprehensibly about nodes and taxonomies (in which case we turn off even the programmers!).
Here's an attempt to explain Drupal to both the technical and non-technical audience. Those who are not necessarily programmers, but have brief experience in setting up and maintaining their own websites and intranets will also understand the language. The essay is being revised, so please post your comments to help me make it better!
For the original article with photo's, please visit:
http://kleercut.net/en/open-source-campaigning
Every time we see traffic coming from a discussion forum pointing out that the Kleercut campaign site is using the popular Drupal open-source content-management system, it becomes more convincing that there is a philosophical or political alignment between the progressive community and the free-software movement.
When we look further and find the Wikipedia entry on Kimberly-Clark and Kleenex, an article on CorpWatch and another in the ever-popular Grist magazine — all sites supported by free and open-source software — it became a sign that we needed to speak up and add our story to the growing collection of literature on grassroots, open-source-powered campaigns.
It’s simple: Kimberly-Clark, the world’s largest manufacturer of tissue products, famous for its Kleenex brand, destroys ancient forests around the world. It does this to create consumer products that are used once and then thrown away or flushed down the toilet. Kimberly-Clark has been linked to the clear-cutting of ancient forests in Canada and the United States, including forests that are home to threatened wildlife like the woodland caribou and wolverine. The Kleercut campaign is an international corporate campaign to pressure Kimberly-Clark to clean up its act.
The Kleercut campaign launched in mid-November 2004 and has steadily grown into one of the more successful online forest campaigns in recent Canadian history. Month-over-month, more activists have visited the site, taken action, spread the word to others and joined the Forest Defenders e-mail list, which has grown at rate of about 1000 new sign-ups each month.
At the core of the Kleercut.net Web site is the highly regarded Drupal content-management system — that much is obvious to most folks who take time to look under the hood. Although the campaign is only taking advantage of a small number of the available features, Drupal has proven itself (once again) to be lightweight, fast and flexible enough to meet a wide range of online campaigning needs.
However, the campaign’s success and growth are less about technology than about the open source networks that support projects like Drupal and CivicSpace. Specifically, it is the people, the ideas, and the free exchange of information across progressive activist networks that have helped to make the Kleercut campaign possible. From the dedicated Greenpeace forest campaigners, communications and Web staff, and volunteers — who are spread across Canada and the U.S. and working 24-7 — to the far-flung network of progressive “geeks” and online publications that have provided key direction and promotion at critical points in the campaign’s development. These networks have organically come together when needed to breathe life into a logo, a Web site and a simple idea: it isn’t necessary to wipe away ancient forests just to have Kleenex tissue paper.
At a very basic level, Drupal provides the public face for the campaign on the Web. It also has made it possible for campaigners to update the bilingual site at a moment’s notice — keeping the work of dedicated volunteer activists and their important campaign updated front and centre. This includes everything from adding new fact sheets, campaign material, and activist toolkits, to photo galleries of Greenpeace forest campaigners and volunteer activists adopting a local grocery store or challenging Kimberly-Clark on its own turf. We’ve also used Drupal effectively to list Kleercut events happening in communities across Canada and the U.S.
Sometime in August 2004, several small gatherings were held at Greenpeace to discuss a soon-to-be-launched anti-corporate campaign. In those meetings the campaign objectives, the strategy for achieving them and the tactics to be employed were all detailed. Drupal and CivicSpace were both discussed early on. There was a push to stay focused on the campaign plan and not the technology and eventually we ended up with a campaign calendar and a preliminary wire frame of the site and no firm technology commitments.
As the details were worked out, the Vancouver-based design studio Cowie and Fox worked magic on the Kleercut logo and branding.
Our next obstacle was determining how to empower online activists to get involved with the campaign through a series of interactions, like signing online petitions, sending targeted faxes and e-mails to Kimberly-Clark decision makers, forwarding postcards to friends, and receiving regular communication from the Kleercut campaigners about specific actions.
The challenge for the Kleercut campaign was that free and open-source campaign toolsets available in September 2004 were either:
Early on, we had contacted Zack Rosen from CivicSpace to ask about the status of phpList integration with Drupal or the CivicSapce project. Zack had been in touch with phpList’s developer, Michiel, to discuss the work that was being done on a mass-mailer module that would be able to connect to a variety of database-driven mailing engines. We also pulled Mike Gifford of OpenConcept into the conversation to explore the work he had done to integrate other similar tools into the back-end content-management system.
(Since then, several modules have been developed for CivicSpace to support advocacy, including petitions, tell-a-friend tools and a targeted e-mail delivery.)
Along the way, we also explored the following options:
In each case, the people we connected with were helpful beyond words; it was an illustration of the fluidity and openness in the network that connects so many of the progressive software developers and tech-oriented activists.
Ultimately, it was timing that pushed us to look at other options for the e-mail deployment and, ultimately, for the rest of the activist toolset that exists on the Kleercut.net site. The final decision to use Drupal instead of the CivicSpace branch for basic content management was a last minute choice made on a plane between Toronto and San Francisco. The Drupal team had announced a new stable release; CivicSpace was still based on an earlier version of Drupal. The user interface and theme engine improvements made the choice clear: the site had to be built in the next week and there wasn’t time to wait for CivicSpace to merge the newer version of Drupal into its code.
Over the course of the campaign, many “weak connections” (what social-network enthusiast would loosely refer to as people you know who aren’t close friends or family) have helped an organic network of dedicated and talented Web developers, online strategists and traditional campaigners coalesce into a well-organized and well-connected team. This is happening across North America and the world: from the early work done to mobilize for the historic Battle for Seattle, the Quebec City Summit or the more recent counter-conventions to the Republican National Convention and G8 gatherings.
An integral part of these mobilizations is the trust networks that are built over time, through face-to-face interactions. Groups like the Aspiration Technology Foundation in the U.S. is catalyzing these networks through events like the Advocacy Developers Convergence, Penguin Day and the SMSsummit or SMSactive. Similar, but much larger and focused on a range of communications issues, are events like the Designs on Democracy conference. And, for the past four years in British Columbia (that’s in Canada for all you Yanks!), a small group of people have gathered on Cortes Island — surrounded by old growth forest and ocean — to have an intimate discussion about the role of integrity, reflection, relationships and technology in campaigning, advocacy and social change.
It was though gatherings and networks like these that we were able to learn about the approaches and tools being used across the U.S. and Canada and to meet the people behind them. One organization at these gatherings was the recently launched ActionWorks.ca* — a social enterprise that was started to support the work of WildCanada.net, with the aim of offering their action centre technology to other NGOs as an earned-income initiative.
(*Sadly, ActionWorks has recently announced to its clients that it will not be able to continue and will be closing its doors. This leaves a relatively large hole in the landscape of advocacy tools for bilingual Canadian campaigns. If you know about French language tools in Quebec or France that are off the radar, please let us know!)
On November 18, 2004, the Kleercut.net site launched in English and French with full ActionWorks.ca integration to deliver bilingual e-mail and fax advocacy, send-to-a-friend postcards, “my actions” pages, and e-mail list management.
The next several months were a combination of building momentum and awareness around the campaign, both online and, more importantly, off-line — on the streets and in the stores where people shop. Street engagement, press conferences and store adoptions helped to build interest and intensity and made for great imagery on the Web site. Short articles and blog posts covered a range of Greenpeace-supported actions and a growing number of volunteer-supported actions. And, finally, we reached out to progressive online publications and news media like Grist, Corporation Watch, and Indymedia.org to amplify the message, in addition to working with tongue-in-cheek initiatives like Act for Love, the online dating site for activists.
In addition to the online articles and cross-site promotion of the campaign, Greenpeace Canada leveraged its own mailing list, in addition to using lists run by Greenpeace International and WildCanada.net, to increase the reach of the campaign to more than 150,000 activists in Canada and Europe. There was also outreach to a number of well-trafficked blogs and discussion forums to raise the issue of forest destruction and to point people to the Kleercut.net site. It’s rumoured that there will be even more covert “electronic-ops” in the months to come (though we can’t tell you exactly what).
What’s been most interesting to watch is the steady climb of the Kleercut site in Google’s rankings, as more and more network capital is built at a grassroots level. The more sites that get out the Kleercut message and point back to the site, the higher the ranking. Six months ago, the site didn’t even rank on Google — as of July 2005, the site is about No. 8 when searching for Kleenex and Kimberly-Clark. We’re aiming for No. 1.
In addition to putting the pressure on Kimberly-Clark on the Web, the campaign has been building a grassroots network of local activists across Canada and, more recently, the United States. Building on the experience of campaigns like the Billionaires for Bush in the U.S. — which leveraged a large network of local chapters to deliver innovative street theatre (capturing national media attention) — tools were launched to support local autonomous organization, specifically the Kleercut Groups (powered by the open source Sympa mailing list and hosted at NPOgroups.org) and the Kleercut Action Pack.
We realized early on that the success of our online activism is very closely tied to the success of our grassroots “in person” activism. They are very interrelated and support each other. We firmly believe that a campaign is successful when it bridges the technology gap and is based on coalition building and empowering the average person to take action.
Action Pack in hand, motivated and environmentally concerned citizens are taking a stand in their community and saying no to ancient forest destruction by Kimberly-Clark and Kleenex. Already there have been store adoptions from coast-to-coast across Canada and the U.S., and there are more local groups forming every day. The objective: a one-on-one, neighbor-to-neighbor, citizen-to-citizen movement that delivers the message along with the trust that exists in those local networks. The result: a magnitude of increased consumer pressure on Kimberly-Clark to end its environmentally irresponsible practices.
And there is much more being planned...new tools, new actions and new partners on the campaign. To stay tuned and to get updates, please take one minute right now to join the Forest Defenders list, to take action and send a message to Kimberly-Clark and to spread the word about this campaign.
If you’d like to help even more, please post a link to this article on your site (or reproduce it entirely). And, if you’re a Web developer, Flash designer, blogger, online campaigner, writer, editor, illustrator or just plain talented and pissed-off at Kleenex, please get in touch with us.
The Kleercut campaign team,
Christy, Earl, Eric, Phillip and Richard.
This part is dedicated to real-life examples of how drupal can help to solve your business problems. Please share the success of your drupal implementation.
Drupal is well suited for community plumbing, alright. But what if you want to apply its power, elegance, and simplicity to your corporate website? In this article, we explain our approach to creating a corporate website with Drupal, show you how to create your templates and arrange your content. So why would you want to enter into such a formidable endeavor?
Note: the original article is on contaire.com's site, and contains additional screenshots and illustrations.
Our requirements were quickly set:
We started development with the following ingredients:
The most prominent feature here is the horizontal navigation tabs. This has become a popular arrangement recently, very often enhanced with drop-down menus. In our case, there are no drop-down menus. The underlying implementation, however, should be easily extended to host these as well.
Three standard features of Drupal, a PHP theme function and a little CSS magic are used to implement the horizontal tab menu. The features are
For example, the entry "partner" links to "partner":/partner which is an alias for "collimator/4":/collimator/4, i.e., the two column listing of teasers for topic 4 ("Lebendiges Netzwerk").
What remains is a function that renders the menu:
<?php
function _contaire_menu($pid = 1) {
$menu = menu_get_menu();
$entries = array();
if (isset($menu['visible'][$pid]) && $menu['visible'][$pid]['children'])
{
foreach ($menu['visible'][$pid]['children'] as $mid) {
$style = (count($menu['visible'][$mid]['children']) ? menu_in_active_trail($mid)
? 'expanded' : 'collapsed')
: 'leaf');
$entry = array('style' => $style, 'link' => theme('menu_item', $mid));
$entry['kids'] = _contaire_menu($mid);
$entries[] = $entry;
}
}
return $entries;
}
function contaire_menu($pid = 1) {
return _phptal_callback('_menu',
array('pid' => $pid, 'entries' => _contaire_menu($pid)));
}
?>
In the PHPTAL theme engine we use, this function can be written into the @template.php@ file of our theme and be called from the file @page.tal@ as
<div id="header">
...
<div tal:content="php:contaire_menu(26)" />
</div>
Here is the menu entry for our custom menu.
Except for the horizontal navigation, the front page looks like standard Drupal, but looking more closely, even here there are interesting details:
There is one feature not visible on the site as presented to the public that are little edit buttons placed to the right of the headlines. These become necessary because we haven't linked our headlines to a detail view with tabbed local tasks, and
We have created "a small Drupal module":http://drupal.org/node/14920 to provide these features.
Porting our original content we needed a way to layout some pages in two columns. One example is our partners page (http://contaire.com/partner) where in addition to the two columns we have an introductory text at the top. We quickly settled on the contributed collimator.module but had to patch it to give us control over the way it sorts articles. The collimator offers the standard modes by-date and by-title to sort. We wanted to control sorting explicitly and abused a new node field _teaser_weight_ for this. The _abuse_ here is that actually this field should be a property of the table term_data but there is no easy way to add this without patching the taxonomy.module. We provided our changes as a patch (http://drupal.org/node/15240) to the collimator.module.
The single column text at the page top is simply the description of the page's taxonomy term, fed through Textile.
We just love our new page! Once we decided on the selection of modules and exactly for which features we would have to write some code the actual effort was well worth it. The phptal.engine has had its first live test and proved fun to work with.
All in all, Drupal again showed its greatness and that - with a little thought and planning - it can be used for many a corporate website.
CSC-SY.net has been recently migrated from PHP-Nuke to Drupal, the migration process involved moving stories, forum topics, polls, posts and comments, private messages, and user accounts, we also had to port the theme we were using with PHP-Nuke to PHPTemplate, localize Drupal into Arabic, and finally configure Drupal to provide PHP-Nuke's features (and much more), details of the reasons behind the migration, and of the process itself follow.
CSC-SY.net is an Arabic community website for computer science students, it was started one year and a half ago, we chose PHP-Nuke in the beginning for several reasons, it was easy to flip the layout to RTL, which is a must for an Arabic site, PHP-Nuke had an Arabic translation, and its features were close to what we had in mind when we planned for the site. we were aware of PHP-Nuke's security issues, but with 3rd-party patches and our own modifications it went well in the beginning.
During the period of time we used PHP-Nuke, we realized how poorly-written PHP-Nuke was, as the site evolved we needed new features to be added, and with PHP-Nuke it became a nightmare, because it usually involved modifying so many files, making version updates another nightmare in turn, we had to update individual files by hand to patch security vulnerabilities, exploits were often found and updates had to be done often, every while we thought of moving to a more secure CMS, but the site was doing OK overall and we could live with PHP-Nuke, until several months ago, when the site's control panel started acting strangely, most of the strings were missing and after some debugging we couldn't fix it, we decided it wasn't worth the hassle, it was time to move to a new CMS.
The site was aging and missed all the new web features, like blogs and RSS feeds. We wanted to end the PHP-Nuke security nightmare. Web standards played a role in the decision, the new CMS had to be XHTML/CSS complaint, use UTF-8 encoding, and needed to be active in development.
After some investigation, our choices were narrowed down and finally we decided to choose Drupal, the main reason behind it was the tight integration of all site sections, more specifically forum.module, although it looked basic in the beginning, several sites customized it to look and act like other popular forum packages, so we thought it would be possible with our site, on the other hand, using a CMS that features a forum module instead of integrating another forum solution meant better security and compatibility.
After some investigation and testing, we realized that the migration process had three major points: data migration, theme creation, and localization.
Data migration seemed easy in the beginning, given that many scripts were available to do the task, but after further investigation, it turned out that none of them did what we wanted exactly, each solution missed something that had to be migrated, our plan was to migrate almost all of the site's content stored in PHP-Nuke's database, the migration involved moving the following items:
* ~770 users
* ~240 stories and polls
* ~360 comments
* ~17500 forum posts
* ~7110 private messages
Data migration made us research how PHP-Nuke and Drupal store those items, and research the best way to move data from one system to the other, given the large amount of data needed to be migrated, we had to develop a set of scripts to migrate our data, we made use of the already available scripts, and improve upon them, to create a semi-automatic script that fixes PHP-Nuke's database oddities (like date/time being stored as text, or having duplicate usernames, ...), migrates the data to Drupal's database, and we had make sure our work to fix things after running the script is minimal.
In addition, we had several private sections in the PHP-Nuke site, like admin forums and private message, we had that in mind while working on the script, a bug in the script could expose private data to the public.
We opened a beta section on our site to let users test the migration process, the script evolved as members reported bugs, and in the final stages before the migration, it had all what we needed for the data migration to be complete.
We had minor problems while working on the data migration other than moving across databases, data in PHP-Nuke is stored in windows-1256 encoding, but Drupal uses UTF-8, unfortunately MySQL 4.0.x doesn't support UTF-8 natively, so we had to figure out some workarounds to get over this, Arabic characters take more that one byte of storage in UTF-8, MySQL didn't realize this, leading to chopped-off text, we developed a script to convert PHP-Nuke's database to UTF-8 first, without losing any text, it involved increasing the length of some fields, and using iconv, at the end, all text data was migrated successfully.
Another side of data migration was converting BBCode (used by Nuke's phpBB forums) to something Drupal could parse, in the beginning it seemed that bbcode.module could handle this, but later it turned out that phpBB adds random strings to BBCode, so we updated our scripts to strip them out, we decided to do so instead of converting BBCode to HTML because we were planning on installing bbcode.module anyway, we guessed members used to BBCode would prefer to use it over HTML after the migration.
When we opened up the first Drupal beta on our site, members complained about two things, forum threaded look and the theme in general, we started with a theme based on SpreadFirefox, but the majority didn't like it, we switched to FriendsElectric later and got less complaints, but later we realized that we had to develop our own theme for several reasons:
With that in mind, we started to port our PHP-Nuke's theme to Drupal, the original theme is based on tables, and hardly made use of CSS if it all, we based our work on Box_grey and ported the theme to XHTML/CSS, as I said earlier, Arabic is a right-to-left language, so the theme's layout needed to be so too, this complicated things a lot, especially that drupal.css doesn't take this into consideration, and assumes that the theme's direction is always LTR, after coding and debugging, we came up with a theme almost identical to the original theme, working well with Mozilla and IE browsers, the theme works with Opera and KHTML, but with minor annoyances.
Another aspect of the theme was making the forums flat, the forums were the core of the old site, and a major change from flat to threaded look wasn't welcomed by our community, so we worked on making the new forums look like phpBB, in other words, the forums' theme had to show the member's avatar, post count, registration date, and other info, to the side of the post body, the fourms should behave like phpBB in being flat, new replies should always appear in the bottom, with some theme work, it all was possible.
We also made modifications here and there to make the site look right, comment.module assumes the layout is LTR too, we had to fix this, we also added topic icons to the homepage, and did some changes to the user page.
As I said earlier, we chose PHP-Nuke in the very beginning of the site because it had an Arabic localization, later when we were evaluating current CMS's to choose what to migrate to, Drupal had "having a recent Arabic localization" as a plus,however, we then realized we couldn't use the localization available at Drupal.org, it wasn't updated to 4.6, wasn't consistent and had many typos, instead of fixing it, we decided it would be easier to start fresh, it didn't take long, and we had a localization customized for our site, right now all the site is fully translated into Arabic (including contrib modules we use) except for some parts of the admin area.
After the migration work, Drupal needed to be configured to cover the old site's functionality, and provide new features we had in mind, Drupal's core covered frontpage news, polls, forums, comments, and user profiles, we installed many contrib modules as well, some of them are:
In addition to many other modules that add more functionality, the most welcomed one by the community is TinyMCE, we also have taxonomy_access for the site's private sections, like admin, mod, and active members forums, and quote, freelinking, and bbcode for easier posing of content, troll, mail, and adminblock for easier administration.
After the migration we enabled two new sections, blogs and wiki, both were welcomed by the community, and provided functionalities that weren't possible before, blogs provide a space for each member to talk about their personal matters, and the wiki is where the community collaborates and makes decisions.
Drupal's tight integration made the whole site more active, members used to prefer the forums over other sections, and given that the old forums (phpBB) weren't that integrated with the rest of the site (PHP-Nuke), many members didn't realize that content was posted to the other sections as well, now with Drupal, /tracker provides a list of all updates, forums feel more like a part of the whole site, comments on news, polls, as well as forum posts count towards member's post count, and many other small details that made members participate in all site sections now, thanks to Drupal design and integration.
Drupal's search engine friendliness made our site reach top 3 links in many Google searches for phrases that are major and popular in Arabic, the site is even the number one result for some generic single-word searches now!
Members are glad with the new features and speed of the site, there are some minor bugs here and there, but we worked/are working on fixing them quickly with the help of the community.
We believe that CSC-SY.net is one of the first Arabic sites on the Internet that utilize Drupal, have a right-to-left theme and full Arabic localization, and it's definitely the very first fully-Arabic community site powered by Drupal, we hope that the site will convince other Arab web admins to try out Drupal, seeing how it can handle Arabic just fine, we are sure they will be satisfied with it as we are.
I'd like to thank the Drupal developers and contributors for their awesome work that made our new site happen, I've done the migration process almost single-handedly, and now I'm very satisfied with the results, I'd like to give back to the community, I've already contributed two patches for contrib modules, and I have some more, I'm also willing to contribute the Arabic localization if it's possible, I'd like to thank the folks at #drupal-support, especially chx and BuddaBoy for their help, and brick for the interesting chats, since I've started with the migration, I usually stick in #drupal-support and offer help as much as my knowledge allows me to.
-Ayman (CSC-SY.net site admin)
Website: Destination Bride
The owner's original dream for this website was to build a comprehensive resource directory for all major wedding destinations in the world; the completion of which was to coincide with the release of her new book on the topic. The problem was that her "static" website was nowhere near completion and was full of inconsistencies.
She found herself frustrated by the time and complexity involved in expanding the current "static" website that had been developed for her. Editing the pages with Macromedia Contribute was not too difficult, but waiting (weeks) for "the other" web design company to add a page, then to sort through the inconsistent or incorrect menu links was really gumming up the works. Just to add a database-driven menu system - without any other content management - was going to cost thousands.
In addition, much of the website was not spidered by the major search engines. The Javascript menu and non-clickable breadcrumbs (what's the point?) were suspected as the problem here. Most of the pages that were found by Google had no descriptions in the results. Many didn't even have titles! The website was not performing well in the search engines as a result.
I was originally asked if I could create a database for the menu structure. With our friend Drupal, I was able to provide a complete, content managed, SEO friendly website solution at a fraction of the cost of my competition. Here's how I did it:
Hopefully Google Sitemap will help.
She was also very pleased that the design didn't have to change. I started with the box-gray theme and was able to recreate the look and feel of her existing website almost exactly. Promoting nodes to the front page took the place of the few little blurbs placed on the previously "static" home page. Blocks house menus, ads and news items in a simplified and consistent way.
It's been two years. But with two months of amazing Drupal Power, this website is nearly complete. The content for all regions including links, maps and other information is posted. The resource naviagtion tree is always accurate. The banner system keeps track of statistics and expiration dates. News and other important items are promoted to the front page to generate interest in the content offered. Users are starting to register themselves. And the wedding team at Destination Bride can focus on what they do best - plan amazing weddings!
(A non-programmer, non-admin web designer wades in!)
Having just sold my share of the web development company (www.pangomedia.com), I decided I needed a second career/hobby. I'm a bit of a travel buff, and have always been frustrated with the cruddy travel sites on the web, so I decided I'd make a repository of screened/edited travel guides (user submitted) at www.craftytraveler.com.
Being a web geek that is decidedly from the graphical side of things, I was hesitant about Drupal. I was very used to having a programmer/admin at my disposal (I no longer did), so I was hesitant to go beyond my solo-comfort-zone (static HTML). But the idea of managing thousands of travel articles (categorized and searchable) was fairly horrifying. And I'd heard enough clients say "If we had KNOWN it was going to get this big, we woulda built it right from the get-go!" that I was damn well going to set it up so that it could scale up as it needed to without a major retrofit.
I'd set up exactly 1 Drupal site before in my life, so I was definitely not a Drupal expert. I'll walk you through the assorted development stages of the site and talk a bit about my learning experiences as I went.
1. Prototyping
I'm a bit of a nut for user-interface and design (in that order). Despite the fact that I knew Drupal had limits, I was resigned to designing an interface FIRST, and then trying to poke and prod Drupal to make it work. So I created a Photoshop document first (jpg shots here, here and here, then chopped it up into a prototype HTML document (can be seen here). I fiddled with it for a few weeks, asking friends and colleagues for feedback to refine it and submitting it to the infamous "Mother Test" (putting it in front of my Luddite mother and seeing if it confused her). It finally passed muster, and the next step was uncharted territory for me-- installing a PHP/MySQL application by myself.
2. Drupal Install
What a delight! The mystery of installing a PHP/MySQL application was a mystery no longer-- in fact, it was ridiculously easy. With a simple FTP program and PHPMyAdmin (web based MySQL controls), I installed my first solo instance of Drupal. The directions were spot on, and no errors (initially) cropped up. I later found out that my hosting company (like MANY out there) was using a slightly old version of PHP which rendered the search functionality of Drupal thoroughly broken. No biggie-- I had to migrate to a new server. Though it'd be good to make darn sure what your hosting company is running (version-wise) before you get deep into development of your site.
3. Templating
(note: from my first Drupal experience, I took one valuable piece of information: FIXED WIDTH TEMPLATES ARE A PAIN IN THE BACKSIDE. You will save yourself a ton of heartache if you design your site with a percentage-based design-- i.e. one the expands to fit the browser window).
My first step after install was to create the visual wrapper (template) of the site. To start, I just duplicated one of the directories in the "themes" directory and starting hackin' around to see how it was set up. I strongly recommend using the PHPTemplate engine over the XTemplate engine (which seems to be the default, strangely). It took a few minutes to install, and made templating a lot easier.
To create my template, I took my prototype HTML file and stripped out all of the content, and renamed it page.tpl.php. I then took one of the stock page.tpl.php in one of the other theme directories and started copy-pasting anything that looked remotely like PHP into what I thought would be the appropriate place. If it was inside the <head> tag in the working template file, I put it there in my prototype. If it was in the lefthand column, I dropped it there in my prototype... Well, you get the idea. Remember, that I couldn't program my way out of a paper bag (though the PHP statements were intelligently named, so they were generally pretty obvious). Once I ran out of PHP stuff to move over, I uploaded my revised file (now named page.tpl.php) and lo and behold! It worked (once I set it as the default template). It still looked cruddy (because I had to monkey with the other tpl files and the CSS), but it was definitely my template!
As I dug in a bit more, I realized that most of the other tpl files really didn't require much editing-- most of the visual controls were in the CSS file(s). To move the text styles in the direction I wanted to, I just started one style at a time. I found a piece of text whose style I wanted to alter, and looked at the code to try to figure out which style controlled it. Sometimes it took a bit of trial and error (there is evidently a global stylesheet in the misc directory called drupal.css which can override some stuff you might want to do), but I eventually got the text styles about how I wanted.
4. Taxonomy & Categories
Taxonomy is the term that makes most Drupal newbies grumpy, but it's really the thing that sets Drupal apart. My goal was to eventually have thousands of travel guides. I knew that a browse-interface was the way to go in the early stages (it's no fun to search a largely empty database) but eventually I wanted the home page of my site to be a simple google-esque search interface with a few advanced options. If a person (eventually) wanted to search for articles written by women about traveling in the Middle East that included discussion of adventure travel and local cuisine, I wanted them to be able to search for EXACTLY that. Which is where taxonomy came in.
I first created a vocabulary (category) called "World Regions". Makes sense. I then added a series of terms under that category (North America, South America, Europe, etc). I didn't go any deeper than the main regions of the world (yet). To accommodate the ability to search/browse by style of travel, I added another vocabulary (Category) called "Travel Style". Under that, I created a series of terms (Adventure Travel, Local Cuisine, Nightlife, etc). I created a final vocabulary called "Gender", under the assumption that woman travel writers might talk about things that women care about, and threw two (hopefully obvious) terms in that category. Note that right now, content is largely offered through a browse interface. But as soon as I feel I have enough content, I can (in about 5 minutes) open up the capability to search/sort/browse by travel style or gender.
Here's the great thing. I really didn't want a big empty site to scare away visitors. I could've created a deeper regions category, creating a subcategory of each world region for countries, provinces, states, cities, etc, but I didn't. Instead, when I received and approved an article (I got 70 in the first 10 days of the site being live), I create the appropriate subcategory for it. My first article was on Jack the Ripper Tours in London England-- so I create a term called "England" and assigned Europe as it's parent.
Here's the other great thing. I didn't both to create a "London" term and assign it as a sub-sub-term of Europe (under England) - why bother breaking stuff down that deeply until I have a whole pile of England articles? So I left it floating under England where it will live happily with any other England Articles. Once I get enough articles about England that they get awkward to browse through, I'll create some new terms to further define the articles. It only takes a few scant clicks to re-assign a story to a different bunch of categories/terms.
5. Modules
Drupal by itself feels incomplete in a lot of ways-- and I think that's on purpose. Rather than force developers to deal with their users in a specific way, they leave a lot of functionality open-- to be filled by the gazillion modules that are available (or you can try to develop one yourself, though that is certainly outside my skillset). A lot of these modules are fantastic. I was a little frustrated by the fact that you pretty much have to install the module to see exactly what it does/what it looks like-- but given that it really only takes 5-10 minutes to download and install a module, this didn't turn out to be a big deal.
Here are a few modules that I (easily) installed and configured:
Taxonomy Context - This is the core of my current article navigation scheme (on the lefthand side). World regions are obviously very nested, so a nested list like this seemed ideal. Essentially, this allows you to regurgitate a category specific list (in this case, World Region) as a block (either in the left-hand column or right-hand (though presumably you could put it anywhere if you installed Flexiblock)
Path and Pathauto - These allow you to have (overridable) URL paths based on your taxonomy and story/page/node names. This is a big deal for search engines, and allows people to have a good sense of where they are in the site besides. A good example is /usa/tennessee/bbq_in_memphis_tennessee.
Inline - There is a lotta grumping in the Drupal forums about the assorted image handling modules. Inline (and img_assist) are both quite handy for adding images to stories. Ultimately, for what I wanted, I ended up using a combination of these and a few free PHP scripts to do what I wanted.
6. Problems and Frustrations
There really weren't too many frustrations/problems in the development of this site-- but there were a few land mines that maybe others can avoid or will be dealt with in future versions or modules.
a. The search functionality in Drupal 4.6 requires a relatively recent version of PHP. Not a huge deal for me to move it to a different server when I found this out. But if you have a shared hosting company that you love who happens to be running an older version, you're likely outa luck. "You want me to upgrade PHP on a production box with the PLESK control panel for you, a $10month hosting account?! Bwahahahahaaha!"
b. Image modules. I wasn't able to find an image module that fit my needs exactly. Some of my authors submitted articles with no images, some provided a single image, some provided a whole gallery. For those that provided many images, I wanted to have both a simple-to-set up slideshow gallery as well as dynamically sized popup windows for inline images (you can see both of these in action here). Unfortunately, no modules did the trick. Eventually, I'll likely have a contract programmer write a module, but for the time being, I used a few free PHP scripts that I found out there. Which leads me to...
c. PHP Code Input Format. If you want to put PHP into a node (story/page/whatever), Drupal won't create a suitable teaser-- it just uses the whole dang article for teaser. I understand there is a committed patch for this, but I couldn't get it to work-- so demoted the node off of my front page. <sigh>
d. Tables in nodes. Even if you don't do PHP Input Format, you have to be careful about putting table code of any flavor into a story. When Drupal creates the teaser, sometimes it'll pull a chunk of that table as part of the teaser, thoroughly borking the HTML of the rendered page. I dealt with this by dropping any tables well past the 200 characters that Drupal uses as a teaser.
None of these things were a big deal, but they definitely forced me to do things in what I thought was a non-ideal way. I'm also happy to admit that (because I'm a non-programmer) there may be solutions to this that are a lot less stupid than the ones I came up with. In fact, I just saw the module Teaser Module, which should deal with my C & D issue!:-)
Pando is small New York City-based startup with a large mission: to make it easy for anyone to send and receive large files via email, IM, and RSS and to post large files for free download on any Web site. To accomplish our mission, we developed a small piece of consumer software that runs on top of our BitTorrent-based P2P network. The goal of our Web site is foremost to drive downloads of the Pando client, but the site also houses documentation, FAQs, promotions, corporate info and even content feeds, which we'll explain below.
We chose Drupal for our primary company web site and for a number of related side projects. Over 3 million people have downloaded the Pando software on www.pando.com, and we're currently getting over 100,000 page views a day. (Our P2P network, by the way, now delivers over 40 terabytes/day of user generated data daily).
When preparing to launch the web site to promote the first Pando beta we reviewed a number of options. We use Java, Tomcat and MySQL for our protocol application server so, wanting to play to our strengths, we first looked at Java-based options like blojsom. Not finding anything satisfactory, we then reviewed LAMP-based CMS frameworks, including Drupal. Pando CTO Laird Popkin had used Drupal in the past and was impressed by its powerful flexibility and relatively elegant implementation compared to other available CMSes.
In just a few days we assembled a basic theme, pulled together initial content and got our first site up and running. We made good use of the page and book modules right out of the box and quickly added front page, quotes and theme editor modules for design flexibility. We started with Drupal 4.5 to make life easy on our sysadmins, who could install it as a pre-built Debian package.
Early on, we needed to quickly add a web-based user registration system to integrate cleanly with the Pando platform. Grabbing a copy of the existing LDAP integration module, modifying it and lightly hacking Drupal core, we were able to get the system up and running to spec in a few days. This wasn't the ideal implementation, but it was fast to implement and we met our deadlines.
We also needed to do some basic data collection to measure downloads of our app and collect email addresses from our beta testers. Again, on a tight timeline and with little Drupal expertise in house, and with relatively modest requirements, we simply put together some custom php snippets embedded directly in specific pages to collect and report on this data.
Our ability to get up and running rapidly with little Drupal-specific experience was a testament to Drupal's generous flexibility and power. Once on our feet we brought on board a LAMP developer with some Drupal experience (Scott Trudeau) to help us move forward.
With Drupal 4.7 on the near horizon and a business decision to remove the user registration requirement in place, we made the update to 4.7 a priority. Since our web-based registration was integral to earlier versions, and since we'd altered core and hacked up the LDAP module to support it, the upgrade took some careful attention but went very smoothly. As our user base grew, we added extensive help and support documentation, using the book module extensively.
As Pando began to grow in popularity, we looked for ways to spread our reach even wider. One key area we sought to improve was in search engine optimization (SEO). Drupal turned out to provide a number of handy tools to make this task easy. We made use of the built-in path module to ensure human and search-bot friendly URLs; we grabbed the page title and node (key)words modules to have better control over page metadata; and used the site map and XML Sitemap modules to help search bots index our site.
We continually add functionality to our primary site and take advantage of the rich set of tools the Drupal community has provided. We used the Send module to build an "email postcard" system. Because send required the mimemail module, we found use for that in some of our php snippets that which had been using php's mail() function. We also began to use some simple taxonomy structures to create modified themes for special cases and to generate an RSS feed for our monthly newsletter.
Pando's main site gets the most traffic and attention, but we're also using Drupal for a number of other projects.
Pando supports RSS so that users can subscribe to video podcasts (for example), with P2P technology allowing for efficient delivery of higher quality files than typical podcasts.
To support this, we built a web site (rss.pando.com) that provides a sample Pando RSS feed.
To make it easy for podcasters to produce Pando RSS feeds, we then built a tool using Drupal (leaning heavily on the actions, workflow and views modules combined with Drupal's cron hook) to automatically index and convert rich media RSS feeds to Pando RSS feeds that can be subscribed to with the Pando client. Pando RSS audio and video podcasts are available from the Pando Podcast Gallery.
We recently launched a Developer Toolkit that allows web sites and applications to easily integrate Pando. Since we use Drupal so heavily, we have implemented a "demo" Pando module that demonstrates how to use the new Pando developer toolkit to make it easy to use Pando to share large files on any Drupal web site, which combines quite nicely with Drupal's powerful community capabilities. For example, anyone can submit content using Pando, which can be moderated, published, discussed, voted on, and syndicated via RSS. This module takes advantage of the Drupal 5.0's improved multi-step form handling capabilities, and may implement some dynamic behavior using the new jQuery javascript library. We are also working on producing a "one click Pando sharing site" based on Drupal 5.0's distribution profiles.
We're planning a launch of a separate Pando developers' site based on Drupal to house projects like the Drupal module. We are excited that this site will allow us to try out more of Drupal's community and project management capabilities.
Our experience with Drupal has been a largely positive one. It measure up to our early impressions of it's power and flexibility and has grown well along with us. We're delighted to be part of the large and growing Drupal community.
Drupal-powered sites don't have to look like Drupal at all. The brief for developing www.VisitPMR.com (a travel information site for the Pridnestrovian Moldavian Republic) called for a commercial look to compete with official tourism "brochure sites" from other countries. At the same time, we wanted Drupal's taxonomy features, ease of editing content, and ease of adding new content.
The site was done by two people in just five days ... thanks to the magic of Cascading Style Sheets and the even bigger magic of Drupal.
We started by making a design and then incorporating it into the phptemplate engine. Then we added just five modules: Feedback, front_page, image, img_assist, image_exact; all of them standard without any modifications. In the design template, we placed the left hand blocks underneath the main content (rather than to the left), and let the right hand blocks stay on the right. This required a simple copy-paste edit to page.tpl.php to overcome the 4.6 limitation (in 4.7 you can place blocks anywhere, as this layout required, but at the time of building we wanted production ready rather than a beta).
In less than a week's worth of work we launched a site that would have taken a month, and more manpower, to build otherwise. Within days it already started ranking high in search engine results; raising awareness about the new country as a potential travel destination.
We had been looking for a "Content Management System" for quite a while, and one of our employees discovered Drupal while researching CMS software on the web. Drupal appeared to be much more flexible than PHP Nuke, which we were using, and the more we looked at it the more impressed we became. At that time all of the features we thought we would need, except one, which we decided to write a module to provide, were on the table to be implemented in the next Drupal release.
We decided to convert Linux Gazette to Drupal in order to become familiar with Drupal under real life high usage conditions and to setup Doc Searls' IT Garage to experiment with Drupal's blogging and other interactive abilities. After we were satisfied with Drupal's ability to handle the traffic at Linux Gazette as well as its interactive abilities at Doc Searls' IT Garage and had set up and tested Drupal's flexibility by creating several sites for internal corporate use, we decided to create a Drupal site to replace the Linux Journal PHP Nuke site that we were using for Linux Journal. We started out with version 4.3 of Drupal but by the time we decided to convert Linux Journal to Drupal, version 4.4 was out so we started building our new site using that version. There were not any major problems, just the typical learning curve requiring new ways of looking at problems, nothing we could see that would prevent us from using Drupal for the new site. Most of our time was devoted to developing methods to convert the old articles and content of Linux Journal magazine to the new format required in the new site.
One thing that Drupal did not provide was a method that we could use to display static content in the main center section without the other content that Drupal normally puts there. We wanted to be able to link to static html and text files and have only that file be displayed in the center section. To do that Mitch Frazier created a module he called xstatic.module. The xstatic module allows you to define one or more base directories that can be used for storing HTML files, PHP files, text files, and image files. When the xstatic module is used in the URL, the argument to it is interpreted as a file path name. This file path name is searched for relative to all each of the predefined xstatic directories. The file type extensions are appended automatically. If the file is found its contents are displayed in the main (center) section of the Drupal page. If the file is a php file it is first evaluated and the result is displayed. This allowed us to create anything we wanted in the center, without having to create a node, while maintaining a consistent Drupal "look" with the site's header, sidebars, and footer intact. The xstatic module gave us a great way to separate all information that is not editorial content from the marketing and business oriented pages as well as providing us with a simple way to quickly integrate existing HTML files into the site.
After converting 10 years of articles and getting the "look and feel" we wanted, we decided to do the roll over from PHP Nuke to Drupal at 8am on Nov. 1st. Unfortunately on the evening of Oct. 30, while doing the final move of the articles to the new site, we discovered that Anonymous users could not leave their name or email address when making comments. This was a feature we "had" to have and was only available on version 4.5. On earlier versions of Drupal you had to have an account before your name would appear with your comment. This was a "show stopper" and even though we had less than 48 hours to do it in, we decided to install a new 4.5 site and bring over the blocks, theme and other changes we created for the earlier version. Mitch Frazier had it working in 24 hours and we spent the rest of the time before the roll out testing and doing minor cleanup.
The new site has been well received by Linux Journal subscribers and www.linuxjournal.com readers. Lots of helpful suggestions have been made and new features implemented because of them. Because of this warm reception, when we decided to create a publication called TUX, which is primarily for the new Linux user, we decided to use Drupal for its web site. Since we were short of time, we simply cloned the Linux Journal site. We then made cosmetic changes and cleaned up the database. This allowed us to have a working site while we worked on a completely new layout and design. The new TUX layout and design has been finished and is now in place. Steven Wittens, one of the core Drupal developers helped us with the look and feel of the new TUX site which is based on the phptemplate theme.
On the Linux Journal site, Drupal version 4.5 is handling 400,000 hits per day, and MySQL is handling the storage and the searches for 5,000 articles and over 14,000 comments. We are currently using these contributed modules; print, spam, subscriptions and themedev on both the Linux Journal and TUX sites. We are also considering using weblink, userpost and webforms as well. We are very pleased with the power and stability of Drupal and because of this are creating internal Drupal sites to be used for information dispersal and coordination between employees and departments. We are considering using a node level permission module that Matt Westgate is developing to control access to information in these internal sites. We are constantly amazed at how versatile and powerful Drupal is and at the new uses we find for it.
The Drupal Community has been a great help in answering questions and making suggestions that allowed us to create, design and convert our existing web site to Drupal as well as create new ones. To return the favor we are planning on releasing the xstatic module that Mitch Frazier created, some time after the first of the year. Mitch is also working on a few other new ideas and we will be releasing them after they are fully developed and researched.
Many thanks to the Drupal Community from the staff of Linux Journal, TUX, Doc Searls' IT Garage and Linux Gazette.
--
Keith Daniels
Web Coordinator
SSC Publications, Inc.
Publishers of:
Linux Journal
TUX
Doc Searls' IT Garage
Linux Gazette
A42
Groups of Linux Users Everywhere
General features
User management
Content management
Blogging
Platform
Administration and analysis
Community features
Performance and scalability
Everyone considering Drupal should understand that Drupal development is always about improvement and staying on the cutting edge. Each major release of Drupal offers vast, often radical new improvements. (For more information on what Drupal version numbers mean, please see: http://drupal.org/handbook/version-info.) However, while each new major release of Drupal contains the means for stable and reliable upgrade paths that preserves your data from previous releases, each new release of Drupal provides little or no backward compatibility.
Drupal founder Dries Buytaert explains:
When I first released Drupal, I chose not to preserve backward compatibility, because I was mainly interested in getting the technology right. Preserving backward compatibility often requires that you drag historical baggage along, and in interpreted languages like PHP, this comes at a significant performance cost. So it was decided that we can break people's code, but not people's data. Our mission was to make Drupal fast, small, clean and on the bleeding-edge of technology. In the early days I focused, completely and utterly, on the aesthetics of Drupal's code. I spent days trying to do something better, with fewer lines of code and more elegant than elsewhere. And with me, many others.
It was the right thing to do. Over the years, we've seen a lot of innovations happen that would not likely have happened while preserving backward compatibility (the node system being one of the most prominent examples). Developers always had free reign to implement their ideas in the best possible way. It is something that Drupal has in its favor compared to many other content management systems. It's been interesting to see how Drupal has spread and how it has grown to be more flexible and cover more niches than many other systems. If anything, this needs to be attributed to the fact that we haven't cared much about backward compatibility, and our single-mindedness to get the technology right....
...Given the fact that Drupal's main strengths have always been the agility with which it can respond to the ever-changing landscape of web development, and the almost infinite amount of flexibility and expansion it affords developers, I feel that preserving the ability to constantly innovate is of higher importance, at the present time at least, than preserving backward compatibility. None of us would be here now using Drupal were it not for this core value, and I strongly believe that it is fundamental to our future. It always has been.
This philosophy and approach to ongoing development has been embraced by the Drupal development community.
By enabling and configuring individual modules, an administrator can design a unique site, one which can be used for a combination of knowledge management, web publishing and community interaction purposes. So that you can better understand the many possibilities, the following list of features have been organized by common web platform characteristics:
For a more comprehensive feature list, consult our feature overview. For live examples of possible site implementations, see the featured sites included with the Drupal case studies. Or visit some of the many sites that use Drupal.
Some of you might consider rolling your own system instead of using Drupal. As the Drupal community is very interested in having you join us instead, we will, for your consideration, present you with some advantages of using Drupal over rolling your own system. We encourage you to consider the following before setting off on your own.
As you struggle to get your sites to fit your needs, Drupal will stimulate you in a more rewarding way than would a more low-level environment such as a plain programming language. As you go along you
will experience and learn the inner workings of a system which has proven very powerful and which has become very popular. This will be useful for you in your later projects.
Dealing with insignificant details when writing a framework can be frustrating. With Drupal, the framework is in place and you can focus on the 'meat' of your project. With Drupal, you get the job done with less pain.
I've collected some example sites to illustrate this point. Notice that they are quite diverse.
More examples can be found in case studies and in this forum for showcasing drupal sites.
Drupal is used by tens of thousands of sites on the web, and more than seven hundred people are visiting drupal.org as I write this. This gives you several advantages if you take the Drupal path:
Every installed Drupal site comes with a watchdog module. This module logs errors and report them to the administrator when she visits the administation section of her site. Furthermore it is important for all users of Drupal that their sites work as expected. Therefore users report errors to the maintainers of Drupal and her modules. To ease this process, Drupal's maintainers have created a system which keeps track of issues, showing them to interested persons able to correct them.
A reason for rolling your own system might be to have it fit your needs exactly. However, Drupal is designed to fit a range of needs, one of her key features is flexibility. Chances are you're better off towards your goal with Drupal. In addition to the already mentioned modules and their ability to be adapted to fit your special needs, it is fairly easy to roll your own modules. This is typically done by making a file with some functions implementing certain hooks in addition to other functions. The following function implements the help hook which is called by the Drupal core and possibly some other Drupal modules.
<?php
function mymodule_help($section) {
switch($section) {
case 'admin/help#block':
return 'My module will help you realize your dreams.';
break;
}
}
?>
This way modules and the Drupal core interact, and it has proved very powerful. By using hooks, modules can interact with and take advantage of the building blocks of Drupal such as her node, category, administration and user systems.
Drupal has been around for four years and continues to attract interest and active developers. With this track record, you can rest knowing it will continue to grow and be maintained in the future. Continued active development is important for site adoption and planning. With 'custom code', you need to know that someone has provided the appropriate documentation or commenting throughout so as not to contribute to "Maintenance nightmare".
The Internet is in a constant flux of new ideas and methods for communicating and Drupal is focused on growing with the future and providing standards compliant solutions. Take RSS as an example, with Drupal, you turned on a module. With the 4.6 release, RSS is now updated to RSS 2.0 standards.
While we don't know what future web standards or ideas will come often custom site updates involve a complete rewrite of your code. With Drupal you can be sure that it is flexible and modular enough to grow and easily adapt to those changes.
Information Architecture (often abbreviated "I.A.") is the practice of structuring information (knowledge or data). These are often structured according to their context in user interactions or larger databases. -Wikipedia.com
Drupal provides several ways to structure information through layout, navigation, styling, and applications. It provides a framework for managing information as content through extensible applications called modules. The modules provide user interactions with content, such as a volunteer management application. Each module provides a configurable administration interface to customize it's application behaviour. Permissions for each module are configurable for each custom user role.
There are over 370 modules currently available for the 4.6 release which allows a high degree of customization without any programming. Complete customization can be done using CSS, PHP, and AJAX. While each web site has it's own complexity a highly functional and customized site with a modified theme, permissions for user roles, and configured modules can be deployed in hours.
Layout Drupal supports the layout of content in three main ways: Blocks, columns, and menu's. Blocks have 5 default regions: left, right, header, footer, and content. These are extensible to more regions. Drupal can be themed to have a variety of column layouts with the most popular layout being the three column layout with a floating center column. Layouts can be implemented using Drupal's theme system with PHP and styled with CSS. Drupal also has configurable menu system which can be configured to provide navigation in a block.

Drupal has a rudimentary wireframe module which allows IA's to create interface components in HTML and then configure those components on a live site for user testing. The wireframe theme style which is selectable in seconds, is part of the CivicSpace theme.

Navigation Drupal supports many different times of navigation including global, local, contextual, and situational navigation. Drupal's theme system allows for configuration of primary and secondary navigation, independent of other navigation, that can be statically defined in theme administration.

Theme based navigation is often used for global navigation either in the header, tabs, or a footer. Local navigation is often implemented dynamically through the use of categories, child links in menu, or dynamic blocks. Contextual navigation such as breadcrumbs to show where in the site users are is implemented typically in the theme template. Situation navigation can be implemented through the use of response messages indicating error or success. Common situation navigation is navigation to help from inside a user form.
Styling Drupal ships with a series of default themes that are configurable for the site or selectable per users. Drupal makes use of PHP in theme templates to help with styling the xHTML about from Drupal and it's modules. Cascading Style Sheets are used to implement changes in color, color grouping, and typography. Themes can be customized to allow for special styling on site location, user status, or content types. Graphics and images can be embedded into themes or content.

Categorization One of the most popular ways IA's structure information is through the use of Drupal's categories and over 20 contributed modules for extending categories. Drupal allows you to manage categories, alternately refered to as taxonomies, using tags, flat, hierarchical, and multi-hierarchical vocabularies. Information can be structured by categorizing content which can add semantic information to content. IA's and site developers frequently implement navigating by categories using Drupal to meet the information flow or the business rules of their organization.
Applications Drupal has approximately 570 contributed applications, refered to as modules, with 360 modules available in the current 4.6 Drupal release. The modules can be categorized into the following groups:
This page was writing by Kieran Lal, from CivicSpace Labs, if you are interested in contributing Information Architecture expertise to the Drupal project or contributed to this page please contact me.
When specifying the requirements of a project most clients ask many of the same questions, whether the project is an ecommerce site or a social network. Listed below are the common concerns of most projects and relevant information available in other parts of this handbook.
Note: Information listed on this page is about a subject not a how-to for that subject, e.g. 'Scalability: Case studies' rather than 'Scalability: How to tune the server'. Some how-to links are being left in for the moment but will be removed in later revisions.
Drupal is Section 508 and WCAG Priority 1, 2, 3 compliant.
Strict coding standards have been used to keep Drupal's data, logic and presentation separate from each other. This means that the mark-up of all of Drupal's output is completely controlled by the application's presentation layer, known as the 'theme'.
The accessibility compliance of a Drupal powered site depends on which theme is being used.
Bluemarine
Chameleon
Marvin
Pushbutton
Some third party contributed modules which add extra features to Drupal might not adhere to the strict coding standards of the Drupal application, and may wrap data in mark-up, which could break accessibility. Breaking accessibility is considered a bug, and when this happens the author of the module is alerted to the issue.
Cynthia Says
Section 508 and WCAG 1.0 Priority 1, 2, and 3 tests
Bobby
Section 508 and WCAG 1.0 Priority 1, 2, and 3 tests
Vischeck
Shows what a site will look like to a user with color impaired vision
by John VanDyk and Matt Westgate.
Paperback: 375 pages
Publisher: Apress (April 9, 2007)
Language: English
ISBN: 1590597559
by Robert Douglass, Mike Little, and Jared W. Smith.
Paperback: 560 pages
Publisher: Apress (December 26, 2005)
Language: English
ISBN: 1590595629
by Hagen Graf
Publisher: Addison-Wesley, München (March, 2006)
Language: German
ISBN: 3827323215
by David Mercer
Language English
Paperback 230 pages [191mm x 235mm]
Release date Expected April 2006
ISBN 1904811809
Below are listed various RSS feeds people may find useful for tracking things on Drupal.org. Please use common sense for how often you update your feeds.
Feeds of common interest
Security
New modules
Translations
Themes
Forums
General
News and announcements
General discussion
Drupal showcase
Events
Usability feedback
Support
Pre installation questions
Installation problems
Upgrade problems
Post installation
Converting to Drupal
Hosting companies
Paid Drupal services
Module development
Theme development
Translations
Development (working groups)
Database compatibility
Documentation
Drupal core
Drupal.org infrastructure
Media and document management
Performance and scalability
Social software and communities
There are many ways to get support for your Drupal-based project or site.
The following subsections highlight people and organizations offering services related to Drupal. In addition to the listings provided on this page, there is a list of Drupal.org account holders who have indicated that they provide Drupal-related services. This list is automatically generated from user profiles and can be viewed at http://drupal.org/profile/drupal-services.
This section lists some organizations which specialize in hosting Drupal-based web-sites.
To be listed on this page: Send an e-mail to development@drupal.org with the appropriate details. The current page maintainer will then add your organization to this page.
CivicSpace has been a core contributor to the Drupal community since CivicSpace's inception with the Howard Dean for President campaign in the United States. CivicSpace focuses on delivering simple Drupal install profiles designed for civic groups through a free and open source download and through our on demand service.
CivicSpace On Demand. Get Drupal + CiviCRM in an instant, pre-configured package with fully functional CiviMail (mass email) and CiviContribute (online donations). This is a service for individuals and groups that want to get a dynamic community oriented website up quickly and easily.
CivicSpace is proud to employ some of the leaders in the Drupal community.
Kieran Lal
Nedjo Rogers
Jeremy Andrews
Robin Monks
Henrique Recidive
David Geilhufe
Managing Partner
Please edit this page and add the host, with url and a short comment to this list. For a list of official Drupal hosts look into our services section.
| name | comment |
|---|---|
| 1 & 1 Internet Inc. | This huge German hosting company has actually created a configurable, cookie-cutter account that will run Drupal with a bit of minor tweaking. They support both FTP and SSH access, as well as having an extensive control panel. One will probably need to use SSH/shell to get Drupal working well. MySQL is the only database they support. |
| bryght | Bryght offers a fully hosted Drupal service that maintains and upgrades Drupal and a bundle of contributed modules. They also offer virtual private servers for production Drupal hosting. |
| norrix | we will manually install Drupal for you, for no more then $10 per month |
| pajunas interactive | Pajunas supports a very fully-featured PHP install, and both MySQL and PostgreSQL. Drupal runs just fine. Access is through scalable WebDav accounts. This provides better security, but one downside: writable filesystem directories are a bit more difficult to set up, because the admin, owner or developer account has full access rights, while the web server does not. |
| pingVision | Hosting is part of our design and administration services for Drupal- and CivicSpace-powered website installations. |
| site5 | Site5 offers scripted Drupal installs, phpMyAdmin, and many other useful tools for managing your site, at a reasonable price. |
Originally formed as a website design group in 2002, Meant4.com quickly expanded their services to include software development, web design, technical support and website hosting. Meant4.com is leading hosting solution for Content Management System (CMS) based websites.
In case of any pre-sale questions please send us an email at info@meant4.com
Egressive is a hosting provider based in Christchurch, New Zealand, and
specialises in the implementation, customisation, and hosting of Drupal
sites - on servers with Apache2/PHP5/MySQL5/PostgreSQL8.1. Egressive
offers customised hosting solutions and peerless technical support at a
reasonable cost.
GrafiX Internet B.V. provides transit, co-location, and dedicated servers in Amsterdam and Rotterdam, The Netherlands. We are most proud to be the dedicated server provider of choice for www.drupal.org, as well as some offspring projects such as www.drupaldevs.org.
We believe in 'medieval marketing', and thus our web presence (www.grafix.nl) is fairly humble. We strive to make our combination of service and support legendary, and our name to pass mouth to mouth, spread wide and far by our many satisfied customers.
It would honor us if you will consider GrafiX Internet B.V. as a service provider for your drupal-based deployment! Contact us at sales@grafix.nl or by phone at +31-(0)180 - 450170
We can offer:
Ixis offer managed Drupal hosting for commercial projects who need scalable hosting backed by a solid SLA.
Our Drupal servers are located at the Rackspace datacentre (London, UK) enabling us to offer an enterprise grade service with
For more details on our SLA and support services for clients hosted with us visit the managed Drupal hosting page over at www.ixis.co.uk
Koumbit is a non-profit organisation whose mission is to promote the appropriation of free, libre and open software by social groups in Quebec, in Canada and abroad. We provide professional Drupal hosting & consulting, among our services.
Find out more about Koumbit at: http://koumbit.org/en/apropos
Our Drupal experience has been summarized here: http://koumbit.org/en/DrupalExperience
Koumbit's contributions to Drupal can be viewed in detail by checking our members' profiles under Track -> Track code. Their profiles are available here http://drupal.org/profile/companies/Koumbit
OpenSourceHost is a specialized web hosting company focusing on providing quality web space and support for open source content management systems, as well as other open source software systems. For Drupal hosting, we provide graphical installation instructions, and if you take advantage of our special offer at http://drupal.opensourcehost.com/ you will receive an additional 100 megs of space and 1 gig of bandwidth added to the hosting package of your choice.
Schultz Consult is a Danish company developing for and hosting Drupal sites.
Within the drupal site you would get the following:
For only 149,- Danish Kroner you would get the following:
149,- Danish Kroner is approximately 19.96 €
- Latest Drupal installation
- Unlimited use of webspace
- 10 e-mail accounts
- 1 database
- 5Gb of transfer pr. month.
- And loads of more...
At the moment the site with information about Schultz Consults Drupal hosting is in Danish, but it will soon be translated into English.
You may look at Schultz Consult for more information about our Drupal products.
Looking for somewhere to host your Drupal site? Synerger Hosting is an Australian hosting company ready and able to do it. We run linux servers with nightly backups (on and offsite) for both databases and filesystems. Our mail administration system gives you full control of your mail needs through a web interface. Including mailing lists! Yes! Including mailing lists!
We are running PostgreSQL 7.4 with PHP 4.3 giving you a stable platform on which to run your Drupal 4.6 (or later) site. We give you 1GB of space and, if that's not enough, uploaded data is free! Not to mention no extra charges for mailboxes, aliases and webmail. Mailing lists are a very low cost add-on making it a breeze to contact your customers.
Choose Synerger Hosting for all your hosting needs!
Our prices for hosting are (in Australian Dollars):
Contact us to put your Drupal site online with Synerger Hosting!
Want us to keep your Drupal installation up-to-date? Site maintenance (e.g upgrades) can be also be arranged. Get in touch for pricing.
We also design and develop custom web solutions and applications. Send an email to our sales team to find out more.
* Per domain. We will install 4.6 and 4.7 (once released) core modules. 1GB of space plus POP3 mailboxes, aliases and webmail at no extra cost (IMAP is available at extra cost).
** Free setup until 30 June 2006 for those that mention this advertisement.
vhost.org.uk is a UK-based hosting company focusing on providing
web hosting and services for open source systems. I've just
finished the first phase of setting up our site and our Drupal
service. For £5 a month (£60 a year), we offer:
- Installation of Drupal 4.6.x or 4.7
- Unlimited web space
- Unlimited email accounts
- Unlimited (and unmetered) data transfer
- MySQL database
Our servers have been reconfigured to be 100% Drupal-compatible
and, if anyone has any problems running Drupal on our servers, I
guarantee that we will either fix whatever causes the problem or we
will offer a full refund (within the first month).
More details can be found on http://www.vhost.org.uk
Oh, and vhost itself runs on Drupal. Which is nice.
A small webhosting company run from Portland Oregon, CascadeHosting offers cheap web hosting ($99/year includes free domain registration) and web programming contract services. We'll setup Drupal for free as part of our $99/year account, and answer any drupal related questions at drupal@cascadehosting.com. For more information, check their Drupal page.
This section is a directory of some of the individuals and organizations providing Drupal-related services including installation, configuration, design, module development, drupal customization, training, support and other consulting services.
Please note that the directory is sorted alphabetically, and not in an order that would imply preference or relative importance of one listing over others.
Note: We only list individuals and companies that have contributed to Drupal. Even though a "contribution" is somewhat subjective and hard to define, it is fairly easy to understand once you see it. See this discussion on the Development list for more definitions of contribution.
To be listed in the service directory:
1. Post an e-mail request to Drupal developer mailing list (subscription required)
2. Include the relevant details on your contributions to the Drupal project.
3. Include a draft of how your page would look like on the directory.
A site maintainer will then verify your data and add your draft to the directory.
Located in Waterloo, Ontario, Canada, 2bits.com offers services mainly to customers in the USA and Canada, but is available for consulting over the internet.
Using the powerful, flexible and open Drupal Content Management System and Framework for database driven backends for web sites, 2bits.com offers various Drupal services including:
2bits.com has been an active participant in the Drupal community since 2003. They have contributed patches and features to Drupal core, such as modifications to the contact module as well as the site offline feature in 4.7. They have developed many modules which they contributed back to the community such as:
2bits.com also contributes to other areas within Drupal, including the security team, and the infrastructure team responsible for the Drupal.org web site.
We have also consulted for several web sites. Please see what our clients think of our services in the testimonials page on our web site.
Please check 2bits.com company profile on Drupal.org which includes links to our people, and from there you can see an up to the minute list ofprojects we contributed, and CVS commit messages and other information.
Please visit our web site at 2bits.com.
Use this contact form to get in touch with us.
Advomatic Design is a New York City based web consulting firm. We were founded by two former members of Howard Dean For America's web team, Adam Mordecai and Aaron Welch.
Advomatic Design is here to help your campaign, organization, or business leap into the brave new world of internet strategy, grassroots campaigning and, of course, blogging. We offer multiple services, including blast email, managed hosting, custom theme integration, module development and specialize in moving companies off other platforms such as Scoop and Moveable Type.
We have contributed to and created numerous Drupal modules, including Troll, Flexinode, Roledelay, and Event.
Advomatic has numerous Drupal based clients including Air America Radio, WESPAC - Securing America, TPMCafe, Democrats.com, and Personal Democracy Forum.
If you'd like to learn more about our services, please visit our website or email Adam Mordecai.
Antinomia Solutions specializes in web development for growing businesses and Non Govermental Organizations (NGOs) with a well founded knowledge of Internet strategies, web design, eCommerce, and online community building. We believe that the Internet is a community and we develop strategies for our clients to harness the people-power of the Internet for their campaigns.
Contact Barry Jaspan or visit my web site.
I am a computer programmer and serial entrepreneur that has founded four successful start-up software companies in the Boston area. I have extensive experience with web design and e-commerce, computer, network, application, and cryptographic security, product development, and engineering management. I deliver high quality, professionally constructed code with thorough design documentation.
Recent Drupal web design clients include:
For a complete resume, references, or other information, please contact me or visit my web site.
CivicSpace has been a core contributor to the Drupal community since CivicSpace's inception with the Howard Dean for President campaign in the United States. CivicSpace focuses on delivering simple Drupal install profiles designed for civic groups through a free and open source download and through our on demand service.
CivicSpace On Demand. Get Drupal + CiviCRM in an instant, preconfigured package with fully functional CiviMail (mass email) and CiviContribute (online donations).
Turnkey site creation. We will build a complete site for you and host it on CivicSpace On Demand for a fixed fee.
Associate Services: Theming & Development. We provide services to CivicSpace Associates to increase their capacity to serve their clients. We offer full themeing services and can expand development capacity.
Custom Development. If its critical to CivicSpace on Demand or the Drupal/CiviCRM communities, we will be happy to build the functionality right and work with you to get it integrated into and used by the community.
GoodStorm. Ecommerce.
IDRC. Yahoo Groups replacement Drupal.
WhereSpot. Yahoo Groups replacement in Drupal.
Catalyst Creative. Social networking functionality
CivicSpace is proud to employ some of the leaders in the Drupal community.
Kieran Lal
Nedjo Rogers
Jeremy Andrews
Robin Monks
Henrique Recidive
David Geilhufe
Managing Partner
contAire GmbH | http://www.contaire.com/ Arndtstr. 12, D-50676 Köln, Germany
+49 221 4204757 | info@contaire.de
contAire GmbH is a consulting and software development company with a rich background in project work for e-commerce enterprises as well as media companies. Our managing directors are Dr. Olav Schettler and Friedrich Stahl.
Services: contAire GmbH realises complex web-based projects. We compose and realise the software systems that best implement the digital content processes our customers need. Often, such a system is a tightly integrated blend of both commercial and free software components. Drupal has become our favourite when it comes to implementing online community features.
Qualifications: We are an active and esteemed implementation partner of leading software companies Autonomy, CoreMedia, and Six. Our deep project experience taught us to successfully tackle complex tasks in agile environments. Recent clients include Bertelsmann AG (Guetersloh), Sanofi-Aventis Deutschland (Berlin), Roche Diagnostics GmbH (Mannheim), EUROPART Holding GmbH (Hagen), Draeger AG (Luebeck), and MDR Mitteldeutscher Rundfunk (Leipzig).
Drupal Projects: http://diabetes-world.net/ - Forum and user profiling; http://contaire.com/drupalsite - Company page + write-up; http://kgs-marienschule.de - School homepage, web-publishing workshops with teachers and pupils; To-be-disclosed site for a large + international research community.
Drupal Contributions: We contributed an early wiki.module, a small teaser.module and a new theme engine for the PHPTAL language. We also sponsored the Drupal booth at Linuxtag 2006.
Based in London, and established in 1997, Cortext Communications has been specialising in Drupal development since 2003.
Theme Design
The look of ever aspect of a Drupal website can be styled using a custom theme. Cortext creates themes which are not only designed to look good, but also comply with accessibility standards and optimised for search engines.
Programming
Additional features can be added to Drupal by installing new modules. Cortext can either locate existing modules which match required features, or if no module is available, create a module to enable new features.
Website Set-up and Maintenance
From planning a site, to implementing it, and keeping it running - Cortext Communications is a one stop solution for Drupal based projects.
Themes
Modules
http://www.cortextcommunications.com
Robert Castelo
Services Manager
Cortext Communications
services@cortextcommunications.com
Tel: +44 (0) 20 8746 0117
Fax: +44 (0) 20 8248 9565
49 Greenside Road
London W12 9JQ
United Kingdom
Development Seed Inc. (http://www.developmentseed.org) is founded with a single purpose: to bring the latest communications and technology strategy and services to progressive organizations. Development Seed also consults on specific Drupal applications, predominantly focusing on applications needed by international development organizations and projects.
Development Seed has built over 30 Drupal powered websites.
Development Seed writes and customizes modules for many different purposes and niches. Our team is made up of web strategists, application programmers, designers, web publishing experts, and above all, visionaries.
Development Seed clients range from large institutions like World Resources Institute, the United Nations Foundation, and the World Bank, to smaller organizations like Haiti Innovation and Public Campaign.
If an organization is looking to try something new and trusts us, our targeted strategy, design, and custom functionality delivers the results.
Electronic Insight Corporation is a California-based web consulting firm founded in 1997 by Rob Barreca.
Electronic Insight Corporation helps businesses and organizations create a lasting presence on the web. Our services include graphic design, managed web hosting, search engine marketing, custom theme integration, and module development.
We maintain the ChipIn, Notify, Path Filter and Simplenews (co-maintainer) Drupal modules and have contributed to Drupal core and other modules, including Actions, Tagadelic, and Workflow.
Electronic Insight Corporation has many Drupal based clients, including UC Berkeley, Qualcomm, Inc., TracerLink, General Lock, Vantage Counsel, HiBEAM, and others.
To learn more about our services, please visit our website or contact Rob Barreca.
gerhard@killesreiter.de
Freiburg, Germany
Gerhard is a freelance Drupal IT consultant. He has closely followed and participated in Drupal's development for over four years.
Services Consulting on Drupal setup and training, custom extensions to existing and development of new modules according to the client's specifications.
Qualifications During my work with Drupal I have implemented solutions for a variety of problems including - but not limited to - an access control module, a remindme extension for the event module, which I also maintain, and the listhandler module. In the past I managed to reduce Drupal's execution time by improvements to the database queries. Recently I have been successfully trying to decrease Drupal's page execution time even further by caching some data structures. I have also been successfull in getting a significantly improved locale.module into the Drupal core for the 4.5 release and worked on PHP 5 compatibility for the 4.6 release. A pending project is the improvement of the Drupal's revisioning system.
Recent Clients
m3m (modern media muse) is a small consultancy based in Dublin, Ireland & Manchester, England that has over 14 years experience dealing with small and large organisations (Client list), in particular music industry clients (Record Labels, Artist management, publishers etc.) and clients from other sectors, including; banking, financial services, software companies, conferences, government, universities, training and localisation to name a few.
m3m's lead consultant - Gus Geraghty (Dublin Drupaller) has been working with Drupal since 2004, contributing modules, documentation and support and is equipped to help advise, structure and build a Web 2.0 style site using Drupal on a freelance/contract basis.
Key services would include:
For more details contact, Gus Geraghty (Dublin Drupaller)
m3m - modern media muse
1 Church Lane
Rochdale
Greater Manchester
England
OL16 1NR
t. (Manchester): +44 (0)161 408 4300
w. modernmediamuse.com
e. email Gus
gordon@heydon.com.au
Melbourne, Australia
Services: Consulting, Drupal implementation, Customisation of modules and core to allow for a best intergration into your business. The creation of plugins for HTMLarea module to allow for better intergration, and not to disadvantage uses who are not using HTMLArea.
Qualifications: Gordon has been an active member of the Drupal community since 2001, by first maintaining and contributing to existing modules. Later developing several modules such as the HTMLArea intergration module which allows for <textarea /> tags to be converted into a WYSIWYG. editor. Other contributed modules include the filestore2 module and an extensive modification to the image module. In addition to the contributed modules, their has also been a number of contributions to core in the form of new APIs and extensions of existing functionality.
Heydon Consulting is dedicated to the ongoing development of drupal, and working with customers to create a CMS that will fit your needs now and into the future.
For more information see http://heydon.com.au/consulting
john@handelaar.org
Based in Cork, Ireland
I build Drupal sites in general, but also have extensive experience in porting your existing data (even if there's a lot of it) into Drupal from wherever you have it right now. I'm based in the Euro zone and have business facilities here in Ireland, as well as in the UK and the US.
You'll find me looking after the Performance and Scalability Forum, and maintaining some modules, including Whatsrelated and the CV Builder suite.
...are on my personal site's contact page.
Koumbit is a non-profit organisation whose mission is to promote the appropriation of free, libre and open software by social groups in Quebec, in Canada and abroad.
More about Koumbit at: http://koumbit.org/en/apropos
Our Drupal experience has been summarized here: http://koumbit.org/en/DrupalExperience
Koumbit's contributions to Drupal can be viewed in detail by checking our members' profiles under Track -> Track code. Their profiles are available here http://drupal.org/profile/companies/Koumbit
Leafish is a UK-based web design, development and hosting company, founded by Paul Byrne and Dylan Sides. We provide dynamic, CMS-driven sites built on Drupal. We have had several years experience in using Drupal and many of its contributed modules. We have made contributions to core code, and have written several custom-built modules and themes for our clients.
We provide Linux-based hosting, with all the necessary features required to run any kind of Drupal site, from simple static sites, through blogs and community forums, right up to e-commerce sites. Our hosting comes with POP3, IMAP, SSH, PHP, MySQL, Majordomo mailing lists and is fully managed, should our clients wish.
We can also provide Drupal consultancy for existing sites and projects. For example, custom themes, additional custom modules and administration of Drupal sites.

Lullabot provides Drupal consultation and training services to customers who want to quickly and fully harness the power of Drupal while avoiding the pitfalls along the way. We have immense experience with Drupal and other open source software and stay abreast of the latest developments, trends and technologies.
Lullabot.com provides Drupal-centered resources and education for developers and end-users alike. We regularly publish video and audio podcasts with Drupal-related interviews, news and tutorials.
Contact Moshe. He lives in Boston, MA USA.
Moshe has been a consistent contributor to Drupal core and Contrib since November 2001. As such, he has pretty much touched the whole core code. He maintains the user.module, the bootstrap code, and the groups.drupal.org web site. He is also a member of the Security team and a Permanent Member of the Drupal Association.
Services: Consulting services include site planning, information architecture (i.e. wireframes), installation, training, and ongoing support. Custom Drupal software development my specialty.
Moshe is intimate with Drupal's inner workings, and can complete custom projects with speed and quality. He is maintainer of the folliwng Drupal areas:
Recent Clients
Ontwerpwerk is a multidisciplinary design agency based in The Hague (in the Netherlands). Our interaction design team is committed to designing and developing Drupal powered websites with custom made designs and custom made functionalities. Ontwerpwerk creates corporate websites, intranets, ecommerce sites, online communities and webapplications. As Ontwerpwerk is a full service company, we take care of hosting and support as well.
See www.ontwerpwerk.nl/drupal for examples of our Drupal websites.
We contribute to the Drupal project by providing support in the forum, maintaining modules and by running workshops and hosting Drupal Drop In's.
Please contact Emil Heijkants.
Ontwerpwerk
multidisciplinary design
Prinsestraat 37
2513 CA Den Haag
Postbus 45
2501 CA Den Haag
Nederland
T +31(0)70 313 20 20
www.ontwerpwerk.nl
pingVision, LLC is an interactive media and design company based in Boulder, Colorado. Since its transition from an informal partnership headed by founders Laura Scott and Kate Lawrence into a limited liability company in January 2006 as pingVision, LLC, pingVision has designed and developed websites for corporations, non-profit organizations, educational institutions, online media ventures and virtual communities.
With strength in design and coding, we bring to every job experience and expertise in Drupal-based web development, PHP, MySQL, Flash, video production, postproduction and encoding, DVD authoring, and interactive design.
For more info, please visit the pingVision website: http://pingv.com
We are US/West-Africa-based company looking to expand our experience with the Drupal platform by offering maintenance services for already installed Drupal bases.
Here is a link to our Drupal.org profile: http://drupal.org/user/23178.
Please consider working with us when looking for affordable support [http://sbs.suuch.com/drupal/basic] for your Drupal projects.
Sympal uses Drupal, but has a new view on this application: simple.
We are based in the Netherlands and our site is entirely Dutch, so please just mail us any requests or questions you have, if you do not speak Dutch. Requests are also very welcome, when you just wish to receive more information in Dutch.
Sympal: Your site is made ready and delivered to you, completely preconfigured and optimized for your wishes and ease of use. Hence our name: simple.
Drupal and our servers are always kept up to date with the latest security patches and latest stable Drupal release. On top of that, our configuration comes with a lot of intersting preconfigured modules and themes. So that we can get you rolling quickly.
No more fiddling with install manuals, no more wading trough spaghetti admin interfaces. We quickly allow you to work on your site, not make you work on Drupal, but on your content and your website.
Teledynamics Communications Inc is an internet and open-source consulting company based in Sauble Beach, Ontario Canada. Established in 1983, TCI has been involved in large-scale Internet portal research for over 10 years. Our portfolio includes community sites for military, manufacturing and emergency response applications, Sympatico-Lycos and the Canadian Broadcasting Corporation. For more information, visit Teledynamics Communications' Drupal services page or check their Drupal related information.
Trellon, LLC, established in 2004, is a political consulting firm specializing in the Internet and New Media. Our core competencies include building online communities, contact relationship management, volunteer and grassroots mobilization, advocacy campaigns, fundraising and constituent intelligence. We help our clients develop strategies to advance their policies and agendas by leveraging technology solutions focused on outcomes.
Trellon has created and contributed to numerous Drupal modules - EventFinder, Petition, and Volunteer - just to name a few.
Operating out of Washington DC, New York City, Chicago, San Francisco and Las Vegas, Trellon is a steadily growing, and our team of experienced professionals possesses a diverse background including work in political campaigns, healthcare, government and non-profit sectors.
A few of our clients include Moms Rising, Sunlight Foundation, Alliance for a Better California, IronWeed Films, alonovo.
If you have any questions, please feel free to contact our business team at Trellon.com.
webschuur.com is a small scaled company that builds content management system (CMS) driven websites. We can provide the help and advice to create a dynamic website, from scratch or from an existing site. Whether you are looking for cutting edge technology for your organizations web-based communication, or for solid solutions for your companies web-presence: we can offer it!
For more details please do not hesitate to get in touch with us.
Bèr Kessels (ber@webschuur.com)
Turnhoutsebaan 34/3
2140 Antwerpen
België
Telephone ++32 (0)3 6632292
www.webschuur.com
When hiring a Drupal site developer it's important to understand what you need and where you can find the service provider with that set of skills.
There are four sections to this document: Define the Scope of the Project, Define the Budget for the Project, Match The Desired Skill Level to the Task, Advertise the Job.
Before you try to hire someone, you may want to define what the project would entail. Most developers like to work from clear requirements to achieve well defined goals. Having vague requirements and shifting goalposts is very frustrating for you, the client, and for the developers.
Remember that different skill sets are required for different projects, as well as for different parts of the same project, depending on size.
You may not have the answers to all the above, but it helps a lot if you have some idea of what you need.
Having a budgetary figure will help bring the scope down to earth in many cases. For example, your wish list may need to be trimmed back if you do not have enough budget to implement all of it.
Once you do that, you can now break the project into tasks (e.g. installation, theme design, programming).
Consider reading the relevant portions of the handbook page with common uses of Drupal and required skills.
There are several listings of Drupal service providers. After your needs analysis, if you determine that you need a Drupal consultant--as opposed to a PHP or CSS consultant-- consider the following resources. These lists also contain qualified PHP/CSS consultants, but you may have a relationship with such a service provider or be able to find a PHP/CSS provider somewhere else.
Drupal uses the FreeNode IRC network, irc.freenode.net, and occupies the following channels:
#drupal for Drupal Development Chat
#drupal-support for support
#drupal-themes for theme support
#drupal-dojo for the Drupal Dojo group
#drupal-consultants for Drupal Consultants
#drupal-ecommerce for the E-commerce Group
To learn more about how to actually get connected to IRC, there is a good write up on finding a good client and connecting to IRC at http://groups.drupal.org/node/2326. The intention of this book page is how to interact once you get connected to IRC.
There are a few simple IRC comands that should be used to allow best use of the IRC channels.
When you log into IRC you're going to want to register your name with NickServ so no one else can use your nick, and others can gain familiarity with you by you using the same nick. Learn how to register your nick at http://freenode.net/faq.shtml#nicksetup
Most people use their drupal username as their nick in IRC. If that name is already taken on freenode, then append an underscore to the name. For example my drupal username is tomf, but that was not available on freenode. I've registered my IRC nick as tomf__ (two underscores, my nick with one underscore was not available either). Having a familiar nick allows for consistency between IRC and the drupal sites.
You'll often see people performing actions in IRC. Unlike talking normally, actions say to the IRC channel something that you're doing. You precede the action with /me. For example: "/me shakes fist in the air in frustration about learning IRC".
If you're going to step away from your computer for a bit, but want to keep IRC open so you can scroll back to see the message log, you should set yourself to away. You precede your away message with /away to set yourself away. For example: "/away I'm out to lunch for a bunch of munch". To come back from away status just type "/away" with nothing after it.
If you want to message someone directly within the channel, precede your message with their nick:. This will alert the person that they have a message especially for them, and makes it easier for the person receiving the message to read it in a busy channel. For example: "tomf__: I'm speaking directly to tomf__". You can also use tab completion when typing in an IRC nick. Type the first couple of letters in someone's nick and then hit <tab>, and voila, your IRC client has finished typing the rest of the nick. If there is more than one nick that contains the first couple letters you typed in, keep hitting <tab> until you find the nick you want.
If you need to message someone directly, outside of the channel, precede your message with /msg nick. You should only message someone privately if the conversation does not concern the rest of the channel. Do not message anyone privately for support. To message someone privately you type: "/msg tomf__ you screwed up drupal.org by installing such and such module before testing it". Messages like this shouldn't go to the whole channel, because this message does not benefit anyone else in the channel.
There are two bots in the drupal irc channels, bot_module and Druplicon. Both bots are run by Morbus, and if there are any weird problems, contact him. bot_module will eventually replace Druplicon. You can read more at http://drupal.org/project/bot. You can use these bots to answer questions for you. These bots will automatically look up a node for you on drupal.org if you type a node id such as "#12345" or "4321", but only if that is the entirety of the message and the number is at least 4 digits. Popular and recent URLs are tracked at http://feast-or-fa.mine.nu/drupal/?q=bot/drupal_urls.
You can also ask the bot the last time someone was seen. If someone asks "seen peter", "seen peter? seen lois?", "have you seen sbippy?" or similar questions, the bot will report the last time they've been seen, where, and what their last known message was. They will only respond if the "seen Name" trigger is followed by a question mark or if the message immediately ends thereafter.
You can also have Druplicon remember definitions for you. If you constantly are saying the same thing over and over in the support channel, and don't feel like typing the same response over and over, have Druplicon remember the answer. You set this up by typing "keyword" is "definition" to Druplicon . For example: "Druplicon: irchelp is You can find a very informative book page about IRC help in the handbook."
Now if some one were to ask about irc help in the channel, one would only have to type "irchelp?" to have Druplicon automatically answer with "You can find a very informative book page about IRC help in the handbook." To have Druplicon forget about that definition just tell Druplicon to forget about it by doing by "Druplicon: forget irchelp"
To view any recent IRC logs go to the following url: http://feast-or-fa.mine.nu/drupal/?q=bot/log
IRC is a great place to feel like you're part of the community, and you can learn a lot by just lurking in the channels to start with.
Drupal.org naturally runs on Drupal. The theme for Drupal.org is called Bluebeach. You will notice that it is not available on the theme's download page. Visual identity brand is very important and to see from various past forum requests, many people believe that the current theme is striking. In order to preserve that 'brand' identity, Bluebeach will not be made available. There are several long threads in the forums that cover this discussion in more depth.
Note: If you are looking for a similar theme, check out Friends Electric . It was written by the same person and is a more generic theme with many of the same techniques as Blue Beach.
As everyone knows, designing a theme that looks the same across a wide spectrum of browsers is a challenge, especially when one considers the diversity and content on this site and platforms browsed from. In several cases the decision was made sacrifice compliance for consistency across browsers.
The front page of Drupal.org is a fairly standard use of Drupal with a minor addition. The orange box is the standard mission statement (admin >> settings). The rotating image to the left is a php script that displays a banner image from a directory. The green download box is also part of the theme template. The remaining blocks in blue are standard blocks. The grey box is a standard forum post from the news and announcements section, generally with coments disabled, 'Promoted to front page', and 'Sticky at top of lists' set.
The font used for the Drupal logo is known as FF Max.
We use a variety of core and contributed modules, which has resulted in some confusion about why some features are apparently 'missing' from a default Drupal install and how you could get a similar site going.
Drupal.org uses the following modules (not including required modules) from core:
and the following contributed modules:
In addition to core and contributed modules, there are also several custom php pages (handbook) (code) and blocks.
Note however that Drupal.org tends to follow the development version, so it may have functionality which is not yet present in the latest major release. It is a good idea to check the log of changes to see if the feature you want is only present in the development section (marked as version Drupal x.x.x, xxxx-xx-xx (development version)).
There are several blocks on Drupal.org that are throttled during high traffic. Not all blocks appear on all pages.
The following best practice tips can make participating in the forums a more pleasurable and productive experience for everyone:
Additional reading:
It is recommended that you run the most current stable release. This can always be found at the Drupal Project page. However, if there are no compelling features in the latest version, a contrib module that is important to you isn't ready or you don't have time, there is no need to rush your upgrade as long as security updates are available for the version you are running.
The current stable release is Drupal 5.1. The next version of Drupal, 6.0 is in development and not fit for production use. Drupal 4.7.6 is still supported but if you are just starting your site you should begin with the latest stable release.
When is the next release? Per the Open Source tradition, when it's ready. When sufficient testing of fixes of bug reports is complete. More attention is given to a rapid release of security issue's. The more people involved in fixing and testing reported issue's, the faster a release is likely to come out.
If it's available, go to administer >> logs >> status report. This will list your version number if you have Drupal 5.0 and above.
Failing that, look for the file called CHANGELOG.txt in the root of your Drupal directory and open it up to find the version you are running.
If CHANGELOG.txt is missing, you can also check in system.module for a line at the top like:
define('VERSION', '5.1');
If this is present, it will tell you which version of 5.x you are running. If not, you have a version earlier than 4.7.0.
Supported versions for security patches and availability for download are the current stable release and one version previous. Running unsupported versions may expose you to unknown security risks and you are strongly urged to remain updated to a supported version and sign up with the security notification list.
For more details read this overview of the Drupal's philosophy on backwards compatibility.
In Drupal 4.7.x and previous, the first two numbers indicated the Drupal version number, while the last indicated a "point" or bug-fix release with a specific "patch level". For example, "4.7.3" means "the third bug-fix release (patch level 3) of the 4.7 version of Drupal."
This was frequently confusing for people who expected 4.7.x to be a minor update of 4.6.x, when in fact this was far from the case. Different versions of Drupal often break API compatibility with one another, and require contributed modules to be upgraded.
Starting with Drupal 5.x, the "5" indicates the major version of Drupal, and the .x is the bug-fix release or patch level. That means that 5.0, 5.1, and 5.2 all have the same underlying structure and modules for 5.x are all compatible with each other. However, modules written for Drupal 6.x will not work with 5.x and vice-versa.
A release with "-dev" at the end of the version indicates a development snapshot from the end of a CVS branch (as opposed to an official release from a CVS tag). These snapshots, by their nature, include changing code. It is therefore hard to know exactly what revisions of each file they contain, even if it is a snapshot of a stable branch where only bug fixes and security enhancements are being made (such as the 4.7.x-dev snapshot release of Drupal core). This makes them more difficult to debug and the should generally be avoided for production sites. Development snapshots also use "x" for the patch level to further indicate the variable nature of the code they contain. Both Drupal core and the contributions can have development snapshots.
Now that the new system for releasing Drupal contributions has been installed, contributions have a more elaborate version string. The new strings indicate the version of Drupal core the contribution is compatible with, whether it is a stable or development release, and what specific "patch level" of the code it represents. These strings have the form:
CoreCompatibility-Major.PatchLevel[-Extra]
Versions with extra tend to be less stable (development snapshots in particular are inherently unstable) so they should be avoided for production sites. Official releases uniquely identify an exact set of revisions of each file in a contribution. This identifier can be used in many places: the issue queue, the CVS repository, in forum posts, emails, and so on.
Some example version strings and what they mean should help clarify:
4.7.x-1.0 The initial (patch-level 0) stable release (major revision 1) of a module compatible with any version of Drupal core 4.7.*.4.7.x-2.1 An updated (patch-level 1) new-feature release (major revision 2) of a module compatible with any version of Drupal core 4.7.*.5.x-1.0-dev A nightly development snapshot ("-dev") of a stable release (major revision 1) of a module compatible with any version of Drupal core 5.*.If you happen to have an older "release" of a contributed module, the version numbers are different. Prior to 2006-11-11, the version numbers for contributions where of the form "X.Y.0".
Due to code changes in major Drupal core versions, modules are not expected to work with newer Drupal versions. If you wish to test, please do so on a test system. Otherwise, feel free to help the maintainer by submitting patches to update the module. If a maintainer is unavailable, you can apply to become the maintainer. (See the developers guide for more information).
Before every official ".0" stable release of a new major version of Drupal core, there are usually a handful of beta releases and release candidates that are made available. These releases are not yet stable enough for production use, but are essential milestones on the way towards the official release. They allow a much wider pool of users to test the latest code and provide feedback before the official stable release. These releases should only be downloaded and used by developers very familiar with Drupal or those wishing to help find bugs in the software.
These are the first to come out, and are therefore the least stable. During the period of beta releases, usability features are still considered, the translatable strings (help texts, words in the interface, etc) might be altered, and if absolutely necessary, the API or database schema could change (to fix a critical bug). Of course, other kinds of bug fixes are always applied.
Release candidates are usually only created once no more critical bugs have been reported in a given beta release. These are considered nearly stable code, something the Drupal development community is considering as a candidate to be released as the official .0 version. No more usability changes are made, and the translatable strings are usually unchanged at this point.
Some maintainers might choose to provide beta releases or release candidates of their contributed modules and themes (though this is not required). You should read the release notes carefully in these cases, since the details might vary across projects, though the basics explained here should hold (a "beta" is less stable than an "RC", etc).
Once a feature freeze is announced, no new features will be added to that version of Drupal. That version of Drupal's feature set is locked and any new features or change of behavior will need to go into the next release version.
In the forums you will see references to Drupal HEAD or just HEAD. You will also see references to Drupal CVS which is often the same thing. The name comes from the fact that Drupal uses the CVS version control system to track changes to the code, and in CVS, "HEAD" refers to the main development area (also known as "the trunk").
HEAD is the name given to the version of Drupal core being worked on by developers right now. However, now that core is only using two digits for the version number (starting with the 5.0 release), there's no longer any ambiguity about what the next version of core will be called, and the use of "HEAD" to identify a release is no longer necessary. For example, as soon as the official 5.0 release of Drupal core is out, everyone will know that the next version of core under development will eventually become the 6.x release series, so the nightly snapshot releases will be called "6.x-dev", not "HEAD". It is a moving target, and prone to serious bugs and even security holes. The HEAD is not meant for use by regular users on production sites and should only be downloaded and used by developers very familiar with Drupal or those wishing to help find bugs in the software.
Note however that a module, theme or other file tagged with HEAD only means that it is the latest file. But latest can be anything, sometimes over a year old! When a file was made for Drupal 4.3.x, it is HEAD, but it does not mean you can run it on 4.7.x, or some other HEAD.
With the new release system, there is no good reason anyone should have to use a HEAD release of any contribution. Furthermore, contributions added after the new system was put into place will require that even their HEAD release will have version information and indicate what version of Drupal core the release is compatible with. Therefore, in general, production sites should never use HEAD releases, and should always use official releases with real version numbers if available. A contribution without any official releases is an indication of a contribution maintainer not being very responsible, so you should use these contributions at your own risk.
To celebrate and promote the Drupal 5.0 launch, we present three videocasts that explain the ins and outs of the new Drupal version.
These were made by the generous folk at Lullabot. Big thanks go out to them!
This video provides a 22 minute overview of the features you will find in Drupal 5.
Recorded by: Robert Safuto of Awakened Voice.
View at: http://ftp.osuosl.org/pub/drupal/files/videocasts/5-tour.mov
Requires Apple QuickTime 7.
This complete Drupal 4.7 basics course from the University of Michigan assumes that you have a clean Drupal install (if you don't have a clean installation of Drupal 4.7, check out Installing Drupal 4.7 in 3 minutes). The following four areas of Drupal are covered.
There are lots of videocasts there, but you need to click about a bit to find them. Search for the heading Contents and the screencast link underneath. Click the screencast link to watch the videos. There are also powerpoint-slides for you to download.
Flickr stickr module | Download
Actions and workflow module - Creating e-mail announcements for every new node | Download
Zacker on Organic Groups | Download
Drupal Mashup Machine using the modules: Google maps, Content Creation Kit (CCK), Views, Node Import, GMaps, Location | Download
Installing Drupal 4.7 in 3 minutes | Link 2 | Download
The Dudertown Drupal Classes are basically designed to discuss various aspects of Drupal, ranging from installation to managing themes.
Dudertown Drupal Classes Overview | RSS Feed
Lesson 001: CPanel Installation | Download
Lesson 001.5: Manual Installation | Download
Lesson 002: Creating Content Part 1 | Download
Lesson 003: Creating Content Part 2 | Download
Lesson 004: Enabling Modules+More | Download
Lesson 005: Installing Themes | Download
Lesson 006: Building Themes Part 1 | Download
Lesson 007: Building Themes Part 2 | Download
Lesson 008: Setting up a Localhost Part 1 of 3 | Download
Lesson 009: Setting Up a Local Host Part 2 of 3 | Download
Lesson 010: Setting Up a Local Host Part 3 of 3 | Download
Lesson 011: Themes: Understanding Each Other (CSS+XHTML+Drupal Variables) | Download
Lesson 012: Porting an XHTML Template to Drupal (Demystifying Drupal Themes) | Download
Creating a Static Site in Drupal with a Menu (Drupal 4.6.6) | Download
Boris from Bryght on the CCK | Download
Boris from Bryght User meeting | Download
Drupal repositories you may find useful to find future screencasts and videocasts.
Perhaps the Drupal community can agree on a common tagging term that would allow all screencasts to automatically be listed in a Drupal screencast directory even when the screencast are not hosted on Drupal?
The audio and video recordings of the 2005 Drupal conference are all BitTorent downloads for which you need to have BitTorent installed, which can be downloaded for free at http://www.bittorrent.com/.
Overview page of 2005 Drupal conference
The state and future of Drupal - Dries Buytaert (42.3 MB)
Theme development - Steven Wittens (41.5 MB)
Metadata-driven workflow & the Content Construction Kit - John VanDyk & Jonathan Chaffer (65.3 MB)
Multimedia in Drupal - James Walker (47.6 MB)
Drupal as an e-commerce platform - Matt Westgate (30.8 MB)
100% availability, scalability and security with Drupal - David 'Kat' Monosov (63.4 MB)
Drupal as a contact relationship management platform - Neil Drumm (40.9 MB)
The overview above has been cross-posted and expanded and is based on a previous discussion about videocasts. This page has been maintained and updated a few times since the original posting.
What's new in Drupal 5
Overview of Drupal 5
Installing Drupal 5
Upgrading to Drupal 5
Drupal basics screencast overview | RSS Feed
Drupal 5.0 install script | Download
Drupal 5.0 first user account | Download
And this forum thread links an good overview of getting started.
This videocast takes you on a tour of the new features that Drupal 5 offers.
Written and recorded by: Jeff Robbins of Lullabot
Requires Apple QuickTime 7.
This tutorial covers the installation of Drupal 5.
It outlines the basic requirements and then goes through each of the steps needed to properly setup Drupal. It also covers common mistakes and the proper actions needed to remedy these problems.
Written and recorded by: Jeff Robbins of Lullabot
Requires Apple QuickTime 7.
For all of you out there with existing Drupal 4.7 sites, this tutorial is for you. It covers the necessary steps to convert your current Drupal installation to Drupal 5.
Written and recorded by: Angie Byron and Matt Westgate of Lullabot
Requires Apple QuickTime 7.
If you would like to contribute a videocast to the community here are some loose standards we recommend.
1. Make sure that the format of the videos is an open standard! WMV is a closed format that can only be watched with a Microsoft software. We recommend Quicktime which is available on Windows, OSX and Linux based systems.
2. Add a Creative Commons license to your video. Without a clear license, we can't be sure whether it is "safe" to host these videocasts for you.
3. Use a resolution of 640x480 or higher. With smaller resolutions it becomes difficult to read text in the movie. When trying to resize your browser in preparation for recording, you can use a javascript snippet to resize your browser. Save the following as a bookmark:
javascript:self.moveTo(8,28);self.resizeTo(640,480);
4. The lullabot videocasts use the following settings:
Compression: H.264
Frame Rate: 10
Key Frame Rate: 500
Encoding mode: multi-pass
Internet Streaming: yes
We use Snapz Pro for recording the screenshot portions of our videos. Other screen recording software can be found on wikipedia.
Feel free to use these slides in your videocasts.
1. Creative Commons slide
2. Drupal Videocast bumper
Drupal currently uses PayPal for receiving donations. Click the Paypal button below to donate money.
If you are inspired to donate something, but do not want to use PayPal, please see this excellent HOWTO on donating to Open Source projects. If you are willing to pay for particular enhancements, consider contacting someone listed on the services page.
Your donation will be used to help the Drupal project. For example, by paying for:
If you donate money using PayPal, you are automatically added to the list of donors. Drupal will try to connect your PayPal and Drupal accounts using your e-mail address. If Drupal fails to connect both, update your drupal.org account so your e-mail address matches the one registered with Paypal.
The table below provides an overview of the people who recently donated money to Drupal. The numbers represent the net amounts after subtraction of transaction fees.
| Name | Amount | Date |
|---|---|---|
| pauligree | € 47.95 | 3 hours ago |
| Xandrian | € 9.31 | 1 week ago |
| jstanley70 | € 38.09 | 2 weeks ago |
| Hone Watson (Majestic Ventures Holdings Limited) | € 4.45 | 5 weeks ago |
| Scott Gingrich (The Gingrich Group) | € 4.45 | 5 weeks ago |
| Jack Zimmermann | € 9.31 | 5 weeks ago |
| Matt Petersen | € 47.70 | 5 weeks ago |
| Albion_Arg | € 4.45 | 6 weeks ago |
| lerakomm | € 9.31 | 8 weeks ago |
| mcncyo | € 9.26 | 8 weeks ago |
| gmak | € 47.95 | 9 weeks ago |
| ufku | € 9.26 | 9 weeks ago |
| hoshinator | € 9.26 | 10 weeks ago |
| SilvioTO | € 28.63 | 11 weeks ago |
| alldirt | € 241.15 | 12 weeks ago |
| OSH | $ 23.72 | 12 weeks ago |
| lucyconnuk | € 28.63 | 12 weeks ago |
| gollyg | € 47.70 | 13 weeks ago |
| ambereyes | € 17.77 | 13 weeks ago |
| Paul Brewer | € 47.70 | 13 weeks ago |
| ehamburg | € 37.13 | 13 weeks ago |
| Chris Bryant (Alian Design) | € 47.70 | 14 weeks ago |
| tsweinberg | € 11.18 | 14 weeks ago |
| OSH | $ 13.83 | 16 weeks ago |
| Alberto Ramallo | € 14.14 | 16 weeks ago |
Thanks for your interest in sponsoring the Drupal newsletter!
The Drupal newsletter is a monthly newsletter about Drupal usage and development. It's published via email or online on drupal.org.
The Drupal newsletter advertising Program is an advertisement service offered to businesses in general interested in offering their products and services to Drupal newsletter subscribers.
Advantages
Ads format
An ad can have a maximum of 4 lines, each line a maximum of 70 characters, plus a link in a separate line. Links can also be included among the first four lines.
Space available
Up to two ads can be placed per Drupal newsletter issue, placed throughout the issue as deemed by the editor.
Fees
Placement fee is $50USD per ad per issue. You may contract multiple placements at a discounted fee. All income generated by the advertising program goes directly to support the Drupal project.
Please contact us at newsletter-owner@drupal.org for more information on this service.
This section provides resources for people who want to market Drupal.
Whether you want to publish a story with a logo on your website, print a leaflet or need some texts for a report, this might be the place to look.
If you are a designer, marketeer or a writer you can be of help here too. If you think you can write a nice text on why people should choose Drupal for their IT solutions, or if you have a nice Drupal logo you can create a book page here.
Please note that if you have questions concerning any content in this section, you can ask those in the forums. The comments under the bookpages can be used to discuss the contents of that page.
If you wish to display the Druplicon on your Drupal website, you can use the following buttons, with a link to drupal.org.
There are several other banners hosted on other sites that you might find appealing.
If you have more, please feel free to submit them to the contributions repository.
For special events and holidays, special banners are often created. These are often featured on the Drupal.org front page.
A template for these logos is available in Paint Shop Pro and Photoshop format (note the PSD's mask layer needs to be applied manually).


















For DrupalCON 05 in Amsterdam there are various banners available from webchicks site.
Here you can preview and download a Drupal PDF booklet, that can be used for promotion of Drupal. If you want to acquire printed paper versions, you can get in contact with Drupal on info@drupal.org to discuss the use, amount and shipping costs.
Druplicon history is here
If you wish to use or edit the Druplicon, you can use following logos (all logos use RGB color):
If you can provide other useful formats, please add an issue.
Web color
Main drop color: #0077C0
Light-shade color: #81CEFF
RGB color
Main drop color: 00, 119, 192
Light-shade color: 129, 206, 255
CMYK color
CMYK color is used in 4-color printing and prepress industry. There's no 1:1 match in RGB and CMYK color, so it's difficult to bring out corresponding color values. One combination to try is CMYK 91,27,2,0 for main drop color and 47,3,3,0 for highlight.
In case anybody wants it... Here is the Montreal Drupal Meetup logo without the text.
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
When used with the Drupal icon the word 'Drupal' is always formated with the font FF Max, which is available under a commercial license.
A SVG file of the word 'Drupal' is available which has been formated with the FF Max font and converted into a graphic, so that the font is not required. As it is a vector graphic it can be scaled up or down without loss of quality, and is suitable for creating both print and web marketing material.
Thanks for your interest in Drupal. We can not answer this question in an unbiased fashion, so we recommend the following steps:
First, visit http://www.cmsmatrix.org/ and http://www.opensourcecms.com/. The first site attempts to compare content managment systems by a feature comparison matrix; the second allows you to try various CMS software packages 'live'.
Second, you may want to use the usual support channels to get information on how to do X (you know what you want to achieve) with Drupal. Repeat this with whatever other CMS you may want to compare Drupal with -- at the appropriate place, of course, which is definitely not Drupal.org.
Finally you will definitely want to download and test Drupal and whatever other CMS systems you have in mind. We will be there to help with Drupal.
Vancouver Drupal presentation (Open Office Presentation File)
Portuguese translation of the Vancouver Drupal presentation (Open Office Presentation File)
Translation by: Carlisson Galdino.
Drupal - gluing people and code together - Presentation by Gabor Hojtsy at Open Source Content Management
A presentation titled Building Drupal Community Web Sites was given by Khalid Baheyeldin at the Toronto Drupal Camp in May 2006. Open Office 2.x format (.odp)
The Fosdem 2005 presentations will soon follow. For now, we invite everyone to collect the various bits and pieces of information and list or post it here.
A drupal presentation at an open source fest in Tilburg, the Netherlands. it is a presentationn in Dutch, about Open Source communities and how Drupal can help you with your communities.
Future Drupal Presentations can be found in the CVS Presentations Folder.
A presentation in Arabic by Ayman Hourieh made to the Syrian Computer Society is attached below.
External reviews of Drupal
Business Blog Journal Review
Very informative and generally positive review by Harold Jarche and Cameron Bales
About.com's Review of Drupal
4 of 5 star review. A short review but true and positive.
If you read or write a review of Drupal elsewhere, please post the URL and a short description of the review. You might post some information about the site it was posted on (language, influence, etc) and your opinion about the review.
Drupal has some nice looking posters that can be used for promotion of Drupal. Feel free to download them in PDF format. And if you are able to modify, translate or improve the poster, feel free to do so and of course give feedback, so that we can add those modifications here.

Linux Tag poster in EPS format (default)
Linux Tag poster in EPS format (small)
Linux Tag poster in PNG format

Wing poster in Gimp XCF format
Wing poster in EPS format
Wing Poster in PNG format
Drupal does not have any official merchandise; however since the Druplicon logo is licensed under the GNU GPL some people have taken it upon themselves to make their own.
Profits should be donated back to the Drupal project, Cafe Press does take a significant portion of the price. If you have printable iron on transfers handy consider grabbing a high resolution Druplicon and making a donation.
High resolution versions are availiable.
For journalist who want to write a piece about Drupal (either the community, the code or the site), there is a lot of information about the history, mission and community in the handbooks. In case you want to write an article and have specific questions that are not answered in our handbooks, make sure to search our site. If you cant find the answer, you can address your question in English to press AT drupal DOT org (ASCII mail preferred). We will answer these e-mails usually within one day.
Make sure you include the name and type of the medium you are writing for, the target audience and the language you will be writing in. By adding this information, we can not only help you with your answer, but we might have a local contact as well who you can help you out on a face-to-face basis.
Also make sure to capitalize Drupal when you talk about the community or the product and use lowercase when in an URL as drupal.org. Our official logo is called “Druplicon” and images are available online in high resolution (vector and bitmap). When copying larger pieces of text out of the handbooks instead of quoting them, please make sure to read our copyright policy.
In case you have already written an article about Drupal, we would like to hear about that as well. Please include an URL or if possible a PDF scan and mail this to press AT Drupal DOT org.
--
The Drupal marketing team
To report any issues/spam on Drupal.org, see the support page for instructions.
Below is an alphabetical list of users who have additional permissions to help maintain the drupal.org website, please do not contact them individually, use the issue tracker instead.This page lists some guidelines for Site Maintainers on Drupal.org.
You should only unpublish a post if you can conceivably imagine it being re-published in the future. This should only be for very rare cases. A good example is an unmaintained project (someone might take over development later): unpublish, don't delete (*). On the other hand, spam can be deleted immediately.
Content that has is outdated by another page should also be unpublished with a comment in the revision log linked to the newer page. After some time goes by it can reviewed again and deleted.
(*) Actually, old projects are automatically unpublished by the cvs scripts, so this is not something you need to do.
Deleting users is a very destructive action, as it makes all their content inaccessible in most places, even to administrators. It should not be done. If a user is a troublemaker, just block their account (click username -> edit -> status: blocked). Of course, you should not block people just because they say unfavorable things about Drupal. Here are good reasons to block someone:
When you spot something out of the ordinary, we suggest these steps:
Your post Foobar on http://drupal.org/node/1234 was inappropriate because it contained flaming. Please be nice to your fellow visitors on Drupal.org, or your account may be blocked.
If you see a post with bad formatting which messes up the page's layout, please edit it. A common mistake for newbies is to use two opening tags rather than an opening/closing pair. Tags like bold and italic can 'bleed through' beyond the post, while unclosed block-level tags can mess up the positioning of the sidebar.
If someone made a serious mistake while posting a forum topic and posted a correction in a comment below, try to update the original post and delete the correction.
If you see duplicate posts in multiple forums. Choose the best forum and remove the remaining duplicates unless they have already been responded to. If they already have commnets, make a polite note about duplicate posts referencing the other.