P A R T  III

images

Making Your Life Easier

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.

C H A P T E R  9

images

Drupal Community: Getting Help and Getting Involved

by Ben Melançon and Susan Stewart

“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.

How to Get the Most from Your Participation

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.

Where to Find the Community

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.

Reading, Listening, and Watching

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.

Drupal Planet

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

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 (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 (drupaleasy.com/podcast) brings long-form but more focused interview-style discussions on topics relevant to the Drupal community.
  • Acquia (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.
  • Geeks&God, a podcast helping Christian ministries use technology, has long discussion podcasts that include a Drupal spotlight. These podcasts may be of interest for their attention to applying Drupal solutions for specific communities: 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.

Drupal.org Forums

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

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.

Mailing Lists

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.

Face to Face

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.

DrupalCamps

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.

DrupalCons

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.

Drupal Meetups

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).

images 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.

IRC

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:

  • Ask your question in the right channel. #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.
  • Don't ask permission to ask a question; that's what we're here for. Don't ask who uses a module or if someone can help you with a problem. Do ask a specific question like “I have a view in a panel; how do I pass it an argument?” Assuring people that it's okay to ask or giving our resumes to every visitor is seen as a waste of time—and is disrespectful to the work our volunteers do.
  • Ask your question to the entire channel. Only highlight someone (by saying their nickname in full) after they have begun to help you; this helps them easily follow the conversation.
  • Do not pm (private message) any user without first asking and receiving permission in the channel. Support is kept in the channel so that everyone can participate and so that volunteers have one place to track all the people they are helping.
  • Never paste large amounts (over a line or two) of code, log entries, or other text into an IRC channel. Instead, paste it into a pastebin (such as drupalbin.com) and provide the channel with a link to that paste.
  • Do a quick Internet search before you ask a question. Chances are someone has already written documentation about your problem, and it will probably be more detailed than what you can get on IRC, or at least it will give you the information you need to ask a more informed question.
  • Don't repeat your question, especially to multiple channels. If anyone who can help you is watching, they will help you. If not, you should consider posting your question on the forums or mailing list. Repetition harms our volunteers' workflow because it interrupts other conversations; in an empty channel, it alerts everyone to new conversation when there is none. (Trying again after half a day, or a different time of day, is reasonable, especially if you have refined your question and have an issue or forum post to which you hope to draw someone's informed attention.)
  • Do be polite. Everyone on Drupal IRC is there because they enjoy the support side of the Drupal community. When people are rude and disrespectful, volunteers get frustrated and burn or leave. Keeping a pleasant atmosphere makes more people want to volunteer their time.
  • Use correct English (or the appropriate language for non-English channels). Txtspk and 13375p34k (modern variants of the English language used for mobile and online communications) are obnoxious to some and completely incomprehensible to others. It only takes a few more keystrokes to use proper English and it makes your questions much more likely to be answered.

“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.

images 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.

The Issue Queues

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:

  • You do not have to be an expert to contribute in the issue queue. Issue triage (marking duplicates as such, asking for more info in vaguely-worded bug reports, and so on) is a huge help, as is testing the patches that others have written. These activities are also great ways to get to know other Drupal coders and become familiar with the code base. You can learn more about patch testing from Angela Byron's excellent blog post at webchick.net/6-pass-patch-reviews.
  • Before filing a bug, search the bug tracker to see whether someone else has already filed it. Duplicates hamper progress because at best someone has to take the time to mark duplicates; at worst, no one notices the duplication until after energy has been expended on more than one copy of the same problem in parallel.
  • When you write a bug report, be as specific as possible by including relevant information about both your Drupal install and the environment in which you are running it.
    • Describe the symptoms of the problem or bug (or missing feature) carefully and clearly.
    • Describe the environment in which it occurs (Drupal version, browser, server, operating system).
    • Describe the steps you took to try and pin down the problem yourself before asking the question.
    • Describe any possibly relevant recent changes in your server setup or web site configuration (even if it doesn't seem possibly connected).
    • Most importantly, provide everything others need to know in order to reproduce the problem.
  • When you file a bug, follow up on it. Oftentimes, the people fixing issues need more information in order to reproduce the problem (and start fixing it).

Summary

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:

  • Sharing a module or theme with the world on Drupal.org.
  • Suggesting a line of code for someone else's module or theme.
  • Providing a one-word correction to a comment that explains a line of code in Drupal.
  • Calling a Drupal meetup in a local café or library–or simply showing up at one.
  • Writing a blog post anywhere on the Internet about a Drupal problem solved or a cool thing done with Drupal.
  • Giving a useful response to someone's question on any of a dozen means of communication.
  • Discussing business practices and Drupal 8 settings API (Application Programming Interface) improvements while riding in the back of a pickup truck on a side trip to go skydiving during a Drupal conference.
  • Demonstrating a site or asking a question (or responding to someone else's demonstration or question) in person at a Drupal event anywhere in the world.

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!

images 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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.83.126