Chapter 9 is perhaps the most important in the book: how to engage with the Drupal community.
Chapter 10 brings some more advice to bear on the critical and unavoidable practice of planning and managing projects.
Chapter 11 is about documenting your work for clients and colleagues, because it is only useful when understood by others.
Chapter 12 is all about getting your computer set up to help you in configuring or coding your projects.
Chapter 13 tackles the matter of getting your site online and then touches on how you can continue.
Chapter 14 carries a message of attaining joy from your coding or contributing by removing obstacles to unrestricted effort.
“Drupal: come for the software, stay for the community.”
—Dries Buytaert, Drupal founder
You might be wondering how Drupal is made and where its thousands of contributed modules, themes, features, profiles, and other resources come from. The Drupal community is a somewhat nebulous concept from an outsider's perspective. Who are these people?What makes them part of the community? What's in it for me?
The Drupal community is anyone who has made Drupal better—through code, theming, translation, support, organizing, or other avenues. Becoming a community member is easy: hang around Drupal IRC, forums, or mailing lists and help people solve their Drupal problems. Hang around the issue queues on drupal.org
and do bug triage, test patches, or contribute fixes. Create your own Drupal modules or themes and share them on drupal.org
. Learn how to do something with Drupal, then write or improve the documentation on it.
There's a lot more to Drupal than the files delivered in one of its core downloads. Drupal 7 is great. Drupal 5 was great, too—back in 2007. Great software is constantly evolving to meet new demands. Powering Drupal's evolution is a living, breathing community that you can be part of.
There is no Central Authority assigning tasks in the Drupal ecosystem; thousands of individual Drupalistas find their own niches, all of which grow Drupal in some way. Documentation, support, issue queue triage, patch testing, bug fixing, bug reporting, test writing, and contrib module/theme maintenance are just a few of the many ways that Drupallers make Drupal better.
To the new Drupalista, or the Drupal user who is looking to contribute for the first time, this may seem like chaos. How could a bunch of strangers with different opinions, backgrounds, and motivations come together and build something as complex as a CMS—and succeed? There is order to the chaos, and this chapter intends to help you understand it and find your own niche in the Drupal ecosystem.
You'll find that during the support-giving, documenting, bug-fixing, code-writing, theming, patch-testing process you evolve from a mere consumer to a full-fledged community member. You will understand Drupal's development cycle better than a mere observer could. You'll know what to expect as Drupal's next version evolves because you are in the thick of getting it out. You'll become a more skilled, more aware, and more marketable Drupaller. You'll also be a more influential and efficient Drupaller; when you're the one reporting bugs and helping to fix them, you can draw attention to the ones that bug you the most. When you contribute code to the community, you get the eyes of other Drupallers on it; those who want to use it will help improve it and you get more return for your time invested.
In short, the community member's Drupal-foo is always greater than the consumer's—not because you have to be awesome to be part of the community, but because being part of the community grows your awesome.
While there are many places to get your feet wet in the Drupal world, the fastest way to get into the thick of things is via our IRC (Internet Relay Chat) channels. The #drupal channel is something of a free-for-all while #drupal-contribute is dedicated to community activities—core development, contrib development, drupal.org infrastructure, and so on.
Perhaps the best way to get a feel for the drupal community is to idle in our IRC channels and watch the goings-on. Most of us multitask while chatting, or leave our clients logged on while we are gone, so no one minds folks who are in the channel but don't say anything, or who only chime in every now and again. It's a great place to ask questions and an invaluable resource when one begins to wander about the issue queues for the first time.
There are literally hundreds of places to find the Drupal community. While some venues (such as the drupal.org
web forums) are decidedly newbie-oriented, most cater to the entire breadth of Drupal experience. Because this book is written in English, we'll focus on English-language resources. Speakers of other languages can check drupal.org/language-specific-communities
for resources in their preferred tongue. Chances are someone who speaks your language is already doing Drupal.
There's a great deal going on in the Drupal community at any given moment. One great way to keep up on it all is through the blog posts, podcasts, and videos of your fellow Drupallers. Reading and listening aren't, strictly speaking, interacting with the Drupal community (unless you write or call back or post your own), but it's an easy way to keep up on things, learn new skills, and get into the community vibe.
The Drupal Planet aggregator (drupal.org/planet)
collects Drupal-related blog posts from feeds submitted by community membersto provide a central source for news and ideas from the wider Drupal community. Here you can read how-tos, announcements, wrap-ups of meetups and conferences, don't-do-what-I-did warnings, well thought-out questions, musings on Drupal's future, and reviews of Drupal distributions. In other words, you can read or watchwhatever someone felt like posting that day.
Podcasts (lightly edited audio recordings of discussions made easily available online) have for several years been a popular, informal way for people interested in Drupal to keep up on goings-on in the community. Drupal podcasts (so far) are recorded, not done live, so you can't call in and ask questions. Nonetheless, and in part because you don't have to respond, they are a fantastic low-commitment way to get oriented and catch some of the excitement—and downright giddiness—people have about Drupal. Each episode also usually has a comment thread with links and follow-ups from the podcast.
lullabot.com/podcast
) is a high-profile Drupal consulting and training shop that has been doing podcasts since the beginning of 2006 without fail (if not quite on a regular schedule). These tend to be more than an hour long and cover a lot of ground with five or more Drupalistas participating. While at lullabot.com/podcast
, be sure to check out Kent Bye's excellent Drupal Voices series in which he interviews a different person from the Drupal community each time; these podcasts are usually about five minutes long.drupaleasy.com/podcast
) brings long-form but more focused interview-style discussions on topics relevant to the Drupal community.acquia.com/podcasts)
, a company co-founded by the founder of Drupal, is focused on bringing Drupal to enterprise projects. It does short podcasts that usually feature a person currently making significant contributions to Drupal code.geeksandgod.com/podcast
Each of these sites are listed because they have a track record of releasing episodes up to the time of this writing. The authors will try to keep a current list of Drupal-related podcasts at dgd7.org/podcasts
.
While most veteran developers don't frequent them, the forums at drupal.org/forum
are extremely active and focus mostly on issues facing new users. The forums include places to post advertisements for paid gigs, places to get help with your Drupal questions, and more.
Groups.Drupal.org
(often abbreviated g.d.o) lets Drupalistas create groups around an interest or geographic area, so that it's easy to share news and information with others who want to hear it. So, if you are passionate about accessibility, live in the greater Indianapolis area, or want to use Drupal for your newspaper's web site, there is a Drupal group for you. If something else is your cup of Drupal tea, you can start your own group.
If you prefer to get the Drupal community delivered to your inbox, join one of Drupal's mailing lists. You can find a list of Drupal lists at drupal.org/mailing-lists
. Lists are pretty straightforward: send an e-mail to the list address (be on-topic, please!) and it will go on to everyone subscribed to that list. You can read and reply to list messages just like any regular e-mail. Most people find it helpful to tell their mail client to sort e-mail list messages to specific folders to lessen inbox clutter.
Drupal has two large conferences per year, many well-attended but less formal and often free Drupal Camps, and innumerable meetups around the world. DrupalCons are always announced on the front page of drupal.org
, among other places. The best place to find your local Drupal Camps and meetups is the groups.drupal.org
group for your region.
Drupal Camps are perhaps the most newbie-accessible of in-person Drupal events. Camps are held in many locations throughout the world and are usually free or exceptionally low-cost to attend. Camps are generally put together by volunteers from the local Drupal group and you don't need to be a Drupal expert to help out at a camp. Help is always needed with setup and take-down, handing out lunch, recording sessions, or checking in the attendees.
Attending a Drupal Camp is a fantastic way to learn new things about Drupal on a budget; working a Drupal Camp gives you all that plus a chance to network with the local Drupal community and to become an active contributor yourself.
DrupalConis the Drupal community's twice-annual conference held in North America each spring and Europe each autumn. Thousands of Drupallers from scores of countries come together in one place, and the results are consistently astounding. DrupalCon has grown from about 300 attendees in 2007 (Sunnyvale, CA) to about 3,000 attendees in 2010 (San Francisco, CA), and even more attendees in 2011 (Chicago, IL). DrupalCon offers dozens of sessions on everything from community participation to the database abstraction layer, presented by people who create and maintain Drupal.
However, if you only attend formal sessions at DrupalCon, you are missing out. Smaller “BoF” (Birds of a Feather) gatherings provide opportunities for greater interaction while learning, and impromptu “hallway track” gatherings are just as valuable. Moreover, each night after hours, a ragtag bunch of Drupal hackers gather in the Chx Coder Lounge for all-night development. The coder lounge is a fantastic opportunity to get a little face time with some of our most prolific contributors and/or get help in making your own contributions come to life.
If DrupalCon or DrupalCamp feels too big for your first foray into the face-to-face Drupal world, or if you need that Drupal fix more often than these events are held, the answer is your local Drupal meetup.
The most comprehensive list of Drupal happenings can be found on g.d.o at groups.drupal.org/events
. This is a great way to find out where events are on a particular day, but unless you're prepared to perhaps fly thousands of miles to Mumbai for a Drupal meetup, looking up events by the day may not be the most practical way to go. Instead, take the time to join your local Drupal group(s).
Tip No authority bestows the right to call Drupal meetups. Anyone can do so. If you are in a place without a meetup group, even a neighborhood of a city, or a suburb, or just between regularly scheduled meetups, you can call one yourself. This is the other trick about meetups: you don't need to know any Drupal to call or help with them, let alone attend! It's better to do meetups with planning (line up at least one Drupal guru) and some promotion, but longtime Drupalista Cristefano set a responsiveness record by showing up at a Cambridge, Massachusetts, Drupal meetup called by this author with only a half-hour's notice. More on organizing and hosting meetups is in Chapter 38.
Knowing that it brings in people who may not have even seen g.d.o yet, some Drupalistas use their own funds to maintain Drupal groups on Meetup.com
. In addition to true local Meetup.com
groups, there is a Drupal Meetup group that tries to track Drupal events internationally (meetup.com/drupal-worldwide)
. However, anyone who posts a Drupal event on Meetup.com
, Facebook, or any other service is encouraged to post to the appropriate groups.drupal.org
group.
For the most immediate Drupal community involvement, head on over to IRC (Internet Relay Chat). You can find setup instructions and a full list of Drupal's IRC channels at drupal.org/irc
. All the main channels are on irc.freenode.net
: support questions are taken in #drupal-support, general discussion happens in #drupal, and anything involving community contributions can be discussed in #drupal-contribute. There are dozens more specific channels and language-based and regional channels as well.
IRC, like any other meeting place, has its own customs and courtesies. To help you jump in without feeling or looking like an outsider, here are some of the most important points to remember:
#drupal-contribute
is not the place to ask for help with your site; #drupal-support
is. See the list at drupal.org/irc
for info on all of Drupal channels.drupalbin.com
) and provide the channel with a link to that paste.“How to Ask Smart Questions” (catb.org/~esr/faqs/smart-questions.html
) and “The Anatomy and Habits of the Common Support Leech” (binaryredneck.net/support-leech
) are must-reads for learning what to do and what not to do.
Newbies often find that IRC requires a bit more getting used to than the web forums. This is true, but the effort is certainly worth it. In return for taking the time to learn IRC customs, you get the chance to have your questions answered by any of the hundreds of experienced Drupalistas inhabiting these channels, including some of our most active contributors.
When you aren't asking a question, please idle (hang out) in the Drupal channels anyway. You may be able to help someone else with their questionor even participate in a deep discussion about Drupal's future. You will certainly learn something new pretty regularly.
Tip Have a thick skin. When the talented Amitai Burstein converted the popular Organic Groups project to take excellent advantage of Drupal 7's new capabilities (see Chapter 5), he also changed the name and asked the community for its input. A respected core contributor (and by many accounts a very nice person) advised against the name change in no uncertain terms. Amitai noted the harshness and received this reply: “Yes—I am being a bit harsh to try to make clear that I think it's really a bad idea.” If every person with something to offer the community (or gain from the community) left and disengaged the first time someone was unreasonably (or reasonably) severe in critique, we wouldn't have anyone remaining here.
There are many great places to find the Drupal community, but at the center of it all are the Drupal issue queues. An issue queue is basically a collaborative to-do list where contributors come together to get things done. Drupal core and each contributed module and theme have their own issue queues on drupal.org
.
Drupal core's issue queue can be found at drupal.org/project/issues/drupal
, you can find a project's queue at drupal.org/project/issues/projectname
where projectname
is the name of a module or theme project or from the link on its project page on drupal.org
.
Most of Drupal's major core code and community infrastructuredecisions happen in the issue queues; the same goes for modules and themes. The issue queues are how Drupal gets better by thousands of incremental improvements. Someone posts a task, bug, or feature request. Others confirm, comment, etc. Someone posts a patch, others test it.
From your profile's edit page on Drupal.org, you can check Contributor Links under Block Configuration to give you a list of useful links for participating in Drupal development, including several ways to see different kinds of issues being worked on. Chapter 38 covers a little on how to use the issue queues, to review or submit patches, and Chapter 37, on maintaining a project with Git, covers how tosubmit your own project to drupal.org
so that others can find it (and participate on its issue queue). Here are some tips worth knowing before you jump in:
webchick.net/6-pass-patch-reviews
.The Drupal community includes site administrators, programmers, designers, and themers (or front-end developers), site owners, project managers, system administrators, community organizers, jacks of all trades, documentation volunteers, instructors, and even marketers spanning all six regularly inhabited continents. (“Noneck” Noel Hidalgo made a valiant attempt to bring Drupal representation to Antarctica as well, but he couldn't hitch a ride from the Southern tip of Chile.)
Most people fall into more than one role and often define new categories (like Noneck Noel, an “advocate for open communities, free culture, and transparent government”). The non-Drupal interests of those in the community are diverse and not cohesive, especially as many people discover Drupal when looking for an online platform for their own community of interest. (Indeed, Dries Buytaert initially created Drupal for people who wanted to talk to each other about new Internet technologies.) Although there is a strong sentiment that anything in a Drupal channel should be about Drupal, Drupal people's other interests and qualities are being increasingly accepted as part of their Drupal identities. The common thread in the Drupal community is doing things with Drupal—in particular, in the words of Drupal's founder: “innovating, collaborating, sharing, striving toward simplicity, and having fun.”
What makes one a part of the Drupal community? It's not simply using Drupal. Even some site administrators and Drupal programmers may not play a significant part in the Drupal community, and of course site visitors and participants may never even know they are using a Drupal site.
The Drupal community is the people who participate in the Drupal community. This sounds tautological, yet it is the act of participation, of bringing something back, that builds the community. The something that we bring back does not have to be a contribution in the sense of something material; it can simply be our presence. Being part of the Drupal community might take the form of:
Membership and status in the Drupal community is not based on anything like the academic concepts of merit or a professional certification. It's not what we know or what credentials we have that matters to other Drupalistas. What matters is what we do. Chapter 34 covers some of the many ways we can contribute back to Drupal (which includes much more than code).
Reading this book doesn't make us part of the Drupal community, either. Going and doing something with or for the Drupal community makes us part of the Drupal community. Seeking knowledge from others and sharing knowledge with others, building something and bringing something back, both makes the community and makes us a part of it. Welcome!
Tip While most Drupal participation should revolve around the
*.drupal.org
family of sites, feel free to look for more help in getting involved with the Drupal community at this chapter's online home, dgd7.org/participate
.
3.147.83.126