 Thanks for sticking around till five o'clock for the very last session. I'm gonna be doing contributing without code so this session just to make sure you're in the right place is for people that Have been using Drupal for a while kind of know how Drupal works I kind of know what is going on with Drupal But haven't become an active part of the community kind of had sat on the sidelines watched everything else go on and you know Trying to figure out a way to you know jump in with all those people They're so passionate about Drupal and figure out why they're why they're passionate and why they get so excited about Drupal So a little bit about me You can find me on Drupal.org if you want to get in touch with me Twitter is also a great place to get in touch with me and As far as work goes I worked for a small Drupal company in San Francisco We do almost all Drupal development besides a few really old legacy sites and We do a lot of Drupal 7 sites now we move pretty much entirely to Drupal 7 So if you custom Drupal 7 modules that kind of thing, that's that's what we do So the motivation for this Presentation I've been doing Drupal for almost five years now and when I started I just showed up at a job one day I said I know HTML and CSS and they say do you know Drupal and they say and I was I don't even know what that means and they pointing me to the handbook pages That was Drupal 5 day a Drupal 4 days actually so the handbook was it that was my only source of information So I just jumped in started reading every page of the handbook and tried to teach myself Drupal So over the course of five years I went from just a person trying to put together Drupal sites to a themeer and now I'm pretty much doing all module development So it may seem intimidating now, but over over time you can learn a lot with Drupal and through Drupal So Learning Drupal can be extremely hard and people used to talk about a learning curve and lately have been talking about a learning cliff so Getting from the point where you first understand Drupal first introduced Drupal to the point where you can actually do something really effective With Drupal can be really difficult, you know a lot like climbing up a big cliff But the good part is we have a giant community probably one of the biggest open-source communities that's out there And there's a lot of help out there And the great part is is you can also be part of that help Anybody that's just one step behind you coming up that cliff one step behind you on that ladder You can help that person on on the next step and you know help out the rest of the community along the way And so the biggest thing to remember when you're working with Drupal when you're working within the community is just to stay Positive it's really easy to get really frustrated. You saw me slouch down in my chair in that first slide It's it's a frustrating piece of software to work with you know It doesn't always work as advertised it doesn't always work as you intend it So if you can keep a positive attitude anytime you're interacting with other people from the community instead of you know Going on the attack you're always going to get better results So some people you know jump in immediately saying you wrote this API totally wrong You know rewrite it from scratch you guys don't know what you're doing those zen guys over there with their framework They know what they're doing and that's that's not going to get you anywhere So stay positive and the interactions you have with the rest of the community and That's because right now while we're talking a lot of the core contributors are over in a session talking about burnout It's it's easy with all the requests that are coming in all the people that are asking you questions to get really burned out with your Contributions to Drupal, but with one positive comment one positive action from a user You know one person offering to help you out might be all it takes to you know Push you past that and keep doing effective contributions to Drupal So to get started you're in the best possible place to get started one of the You know initial points for me to get involved with the community was Drupal con Boston back in 2008 You come to an event like this. You're gonna meet lots of people. You're gonna find lots of different Nishes and Drupal that you can contribute to you can find lots of different parts of the community You can meet a lot of people from the community When you're online Everybody's just a username and it's easy to dehumanize that and think this person's just a coding robot that codes in their sleep And puts all this stuff together and you come to one of these events And you realize that's just a person that you know doesn't have a lot of free time left But they you know are really passionate about Drupal. They love writing code and that's that's what they do The next thing you can do is sign up for a Drupal org account I think you had to to register for London. So you guys are all are all set there and So I go through the steps on how to do that, but you're all set And so then the next step you come to is well wait a minute isn't you know Drupal written in PHP and JavaScript and HTML I don't know how to do any of that. So where where can I get involved? You know where can I Step in to help people out the vast majority people that use Drupal are just like that. They Don't know any of the coding languages. They don't know any Code at all. They just want to piece together a site with all the modules that are out there They come to Drupal because it you know advertises on those pages It can do this it can do that and all you have to do is download it and unpack it in a directory and you're done so Those people every single person if they've successfully set up a Drupal site successfully installed a module Successfully done anything with Drupal. They can help somebody else out. They can't even figure that much out So the areas I'm going to cover are advocacy design documentation project management support testing the translation So those are a lot of things you hear in any sort of software development process And a lot of people take it for granted in the Drupal community when I was just starting out I kind of just figured that stuff just happened on its own nobody spent time on it But a lot of times what happens is the coders that are writing the best features for Drupal the coolest modules working on You know contributing to core are also being their own project managers are also offering support to all the users and that's You know a burden that other people can take off their shoulders because it's work that you know can easily be done by somebody That doesn't know how to write code So to help advocate for Drupal you can join a group near you There's a lot of local users groups and there's new ones every week every day almost Go to groups dot Drupal org You can also just go to an outside group You know if you're really passionate about Drupal if you really love Drupal You just go to a PHP group or a JavaScript group and you know a lot of times I think there's a general attitude and outside software community. They look at the code behind Drupal It's ten years old It's got a lot of legacy stuff in there and they kind of think you know why would anybody want to use this So it's good for them to hear you know I like using Drupal because it offers me all these features or I like using Drupal because of this So just keeping that you know those words out there, you know keeping people excited about Drupal is a good way to Kind of change that perception because it's not all about how pristine the code looks on the back end It's also about the experience you get using the software and that's a good way to also introduce new people to Drupal I think a lot of people have heard about it by now You know there's very few people that haven't heard about it But you can bring somebody in that maybe wouldn't have tried it out otherwise would have used it competing system So here's some pictures of you know different types of events Bottom left is Drupal con San Francisco where you know have almost 3,000 people and you know that's it's been feeling like that in here Today, I'm sure you guys have felt the crowd and but you can also you know Just have six people around a table with beers talking about Drupal So the size of the vent the type of the vent isn't really it's just up to the organizers and up to you in terms of Like how you want to interact with the rest of the community so an Area of Drupal that people probably don't know about that needs a lot of help is designed Drupal events like these if you've been noticing the posters the t-shirts the stickers the buttons the logos all over the place Somebody probably volunteered their time to design that if you know They weren't working for a company that got contracted to do it And that's a good way for a designer to get their name out there get some good Material for their own portfolio. So that's a good way for designers to jump in to the Drupal community Another place where we need a lot of designer help is their expertise in usability user interface and interaction Developers tend to write whatever is quickest and easiest when it comes to an interface and As long as the checkboxes are there as long as that menu is there the feature is done in their mind But if the checkboxes could be switched for a drop-down menu and it would make it ten times easier The developer may not think that way may not notice that and so all it takes the designer coming in with one issue Same can you switch this from a checkbox to a drop-down menu that developer changes one line of code? And it makes the module infinitely easier to use so Don't be shy if you're a designer to speak up on issue queues with specific suggestions about what can be changed sketches Wireframes any of that kind of stuff is it's immensely helpful for developers that don't know that information themselves and also Drupal if you compare it to WordPress and the number of themes that you see in the theme directory If a designer really wants to make their name stand out they all they got to do is put a decent Drupal theme up there and Immediately they're gonna get job offers from 20 people. It's it's Finding a good Drupal theme or is, you know, extremely difficult and that's a great way to get your name out there So here's some examples of some of the logos and collateral that people have created so It's also a nice spot. You know a lot of times as a designer. You're working on client work They're telling you what to do and if you notice the Drupal community isn't gonna tell you what you can and can't do You can get pretty creative and crazy with whatever you want to do So it can be a fun thing for a designer to design a logo for a Drupal camp or a Drupal meetup This is a great place to get involved in usability with Drupal I know the page itself probably isn't very appealing to designer aesthetic, but you the prairie initiative is trying to Lower, you know barriers to contribution on Drupal org itself. So There's a lot of Discussions around the usability of the issue queue on Drupal.org the usability of the Drupal.org It's site itself the usability of all those features on there And so it's you know an extremely high-profile site Drupal.org gets a whole lot of traffic So you get an opportunity as a designer, you know as a usability expert to work on it a large site and help push forward some of those features there's the theme directory for anybody that doesn't know where to find that and All you need to do is you have to go through the same process as a coder But it's much easier to get approved you create your theme you create an issue saying I want to contribute to Drupal.org Somebody'll look through the code make sure you know you don't have JavaScript bugs in there that are gonna open up cookies or some security issue and You'll probably get approved pretty quickly Documentation is another place where anybody that's learned Drupal knows there's a lot of room for help Anybody can jump in if you guys all have your Drupal.org accounts So you all can go in right now and edit 90% of the documentation on Drupal.org yourself All you need to do is head to a documentation page Click that edit button that you'll see when you're logged in and immediately you get a node edit form Which every Drupal user is painfully familiar with and you can scroll down and start making the changes The only required field is you have to give a log message saying what your motivation was for making the change Just so somebody can go through if they didn't like the change that you made they can revert back to a previous version Project management is for me when I when I started contributing it took me a long time I used Drupal for three years before I even made any effort at contributing anything back and This was probably the most surprising for me once I did start contributing some code to Drupal the amount of effort that is involved If you run a reasonably popular contributed module, you can get 10 20 issues a day on on your issue queue so Project management is needed just to keep track of all those feature requests that are coming in seeing where there's duplicates seeing where they Where there's new problems that are coming up that are actual bugs versus problems that are just problems with documentation that need need to be cleared up So if you if you look on any projects just to introduce you to the issue queue a little bit This is where most of the work in Drupal happens both in contributing modules in a Drupal core So there's recent issues as well as an issue search box on every project You go in and you have ways to break down these issues by versions of Drupal as well as you know the component of Drupal and You'll those be sorted by most recent and so if you look This is an example of just some issue. I helped out with the user has a pretty simple request You know it's pretty much just a documentation request But the module development developer doesn't have to answer this question anybody that knows how to use the module You can go in and answer the question and the vast majority of issues on almost any issue queue are that kind of thing It's anybody that's successfully installed the module can probably help out. Maybe it's a little more complicated But it's a lot of times. It's just parsing what is a pretty complicated explanation and turning it into a decent answer Another way you can help people out is just by offering support Anybody that was just in the previous session down in the main concert hall There was some talk about the forums being pretty much abandoned So it's a lot of users helping out each other But that's not necessarily a bad thing because if a developer goes in with an explanation about how to do something in Drupal They're thinking about the code that underlies that feature not that the steps a beginner would take to check the checkboxes and make it happen So the forums is a great place to jump in as a new user and help answer other people's questions And you'll end up learning a lot just by answering those questions The issue queues like I said in the previous slide just jump in answer a question, you know Read through other people's questions if you don't know the answer and you can give half an answer That's better than nothing because then the person filing that feels like they're getting a response back And it's not just a black hole where they send their questions IRC is another place where you can get support if you're not familiar with IRC It's a giant chat room where everybody working on Drupal everybody looking for Drupal support They all pile into a couple of different chat rooms and ask each other questions right back and forth rapid fire So if you have something, you know, I just took down my client site And I have no idea how to fix it kind of issue that you need to get answered right away Then IRC is a great place to jump in if you just do a Google search for IRC you can find an IRC client client for whatever type of computer you have and On Drupal.org the IRC chat rooms for Drupal are all listed there And you can also just offer support in real life Something we've started up in the local community as we have users helping users session where a bunch of people sit up sit around a take sit around a table and Ask each other questions and if nobody knows the answer you can at least point them to the right place to find documentation But a lot of times if you get 10 Drupal people together Somebody's ran into the same problem before and you can help regular users out and then you just get a socialize a little bit It's a little bit less impersonal than some of these other areas This is an example of what you get in the forums just a typical forum But if you look at the number of posts and some of those forums and the number of new posts You can get an idea of how much stuff is pouring through there This is probably the number one place new years new users to Drupal hit And it's also almost completely ignored by existing Drupal users So as a beginner it's a great place to go help people out that aren't gonna probably get help otherwise And this shows you what you get with IRC and you know There's a lot of talk and Drupal contribute you can see there Which is where a lot of the core developers hang out It's a good place if you're interested in PHP development just to watch what they're talking about see what's going on with Drupal 8 and You can learn a lot just by sitting there and reading through it There's also the Drupal support if you see down in the bottom. So that's Dedicated support channel. There's people there that are you know in there just to answer questions And then they're just plain pound Drupal, which is just You know kind of a lot of support questions That's probably the one people type in that don't know where any of these channels are don't know which ones are for which And they just end up there by default Here's an example of somebody getting support in real life. I think this was at a Drupal con a few years back but that's probably the number one way so if you have any way to Build a local community if it doesn't exist already or get connected with your local community That'll help you climb that Drupal learning cliff a lot faster than probably any of these other methods Testing is a great way to help and it doesn't have to be as complicated as you think it is a lot of times with Drupal You're doing testing for module developers Even if you don't know it as soon as you download a module and install it if there's a bug there And you're the first person to find it. It's great if you have the ability to Quickly and clearly say exactly what happened what went wrong and post that on that modules issue queue Because if ten people find that bug and nobody reports it, it's probably gonna go on patch for a really long time Explaining yourself well is really the best part One thing I like to encourage new people to do if you haven't tried this already for Drupal 6 Anyway, you can go download a compete complete package where you run a copy of Drupal locally From this aqueous site so you can download a complete web server with Drupal inside it This is a great place to test modules because When you install a module in here it removes all the dependencies that you have on your existing site So if you have a large complicated existing site You can bring the module in here by itself and test it by itself so you can you know Replicate the issue where somebody else could because module developer isn't gonna have access to all of the sub modules and Conflicting modules that you have on your site So if you can confirm that the issue happens on a standalone site like the aqueous installer Then you'll get a better idea of if it's a real issue or not Another thing you can do if you're a little bit more advanced or you just you want to get more advanced is Learn how to apply patches a lot of times Issues will get fixed in an issue queue and somebody will attach a patch to that issue queue for that specific thing And so if you're really frustrated with the module you can't get it working you can't Get it working with the code that's there in the package release a lot of times You can find the answer in an issue queue and if you learn how to apply patches with get there I think there's a couple sessions on that here And there's a lot of really good instructions on Drupal org as well That allows you to test out cutting-edge brand new features cutting-edge brand new patches to bugs and really move the development of that module along because if you're a module developer you're working on a bug or You have no real sites to test it on usually you're just testing on a local copy And so if somebody can download it install it and test it on a development copy of a real site that can help out a lot another area that Is it's completely detached from what you would think of when contributing to Drupal is translating All the content in all of these modules and Drupal core if you go to localize dot Drupal org There's a whole Subsite set up just for contributing back translations of all the strings in every Drupal module So there's a function called the t function in Drupal and every string in Drupal Should be if it's not wrapped in a t function And that means all those strings are available to be translated into one of these 250 some languages that are on localize dot Drupal at org But if you see the number of contributors and also the progress for some of these languages is extremely small So if you speak an obscure language or know somebody that does It's it's probably a pretty quick and easy task to go in and translate some of these strings And the more of that that gets done then it opens up Drupal to a whole different community of users because they can then Download Drupal out Download a copy of Drupal download the translation and immediately their copy of Drupal will have all of the buttons All of the text all of the help text translated into their own language So why would you want to go through all this extra work? You know spend your spare time working on Drupal? Spend you know a lot of extra effort, you know engaging with the community The first benefit is really a greater and an understanding of Drupal There's just a lot of parts of Drupal that you're not going to understand unless you dive in and are actually working on them and The next time you have a bug with that area of Drupal You're going to be figuring it out twice as fast as you would have previously The second big benefit is you build a network of people that are going to want to help you out with your own issues So if you jump into somebody's issue queue and start answering a bunch of support requests And then you file your own feature request for a new feature on that module nine times out of ten That maintainer is going to really take your feature request seriously Whereas if you come out of the blue into somebody's feature requests They're going to just click the postpone button and you might not hear anything else about that feature request So it's a good way to build up a network of people that are going to help you out and It makes using Drupal a lot more enjoyable. You kind of get a more When you're outside of the community you keep thinking of they they're going to fix that They're going to work on that they're going to get that done And as soon as you jump in and realize that this is all happening with just regular people either in their spare time or at work You realize that it's a more of a we question And it feels a lot more sort of attainable to get your problem fixed or get your problem worked on So everybody needs to grab a shovel because there's a lot of work ahead of us Here are a bunch of additional resources. I'll post the slides right after this This links off to pretty much all the handbook pages a couple of articles people have written about this Some of the some of the information covered in earlier slides and a lot of a lot of this is on drew blood org itself So that's the first place to look if you want to find guides for contributing So that's it. That's What I have for my talk if anybody has questions. I won't drag you drag it out that much longer. Yeah, that's good Yeah, that's really good So is everyone going to run out and try to jump in it's the first few issues the first few Patches the first few, you know documentation edits are the hardest and then you realize every time you see a you know See something needs to be changed every time you see something that needs to be worked on You just jump in and start doing it and it just becomes second habit So don't don't slow down as soon as you get started just keep plowing through and eventually you'll make a real dent All right, thank you. Thank you for coming