Project

It’s easier than you think to publish your module on Drupal.org. This is my experience going through the entire process. Sharing this experience I hope to convince you and others to do the same. Contributing back to the community that gives all of us so much, to many of us our livelihood.

  • When Doug first recommended that I talk to you about this, I wasn’t really thrilled. But, I took a look at your slides, and thought that it actually looked like really good information. So, what made you decide to put together a presentation on the project application process in the first place?
    1. My “Why”
      a. Finally published a module to help solve my own problem
      b. My project that took me through this process is Display Suite Extra Layouts (https://www.drupal.org/project/ds_extra_layouts)
      c. Projects don’t have to be the 100% perfect solve for everyone, everywhere
      d. It’s more about: Giving back, centralizing code, helping others make great projects too.
  • So what are the steps to getting a project reviewed and accepted?
    1. Where to start and basically the entire guide to submitting a module
      a. “Apply for permissions to create full projects” https://www.drupal.org/node/1011698
      b. Some things to know
      - One time process
      - Reviews are primarily by your peers
      - Learns/reiterates code standards and best practices
    2. Do your Research First
      a. Check if your idea exists already
      b. Combine efforts where you can
      c. Volunteer as a co-maintainer where needed
  • Okay, let’s get down to the nitty-gritty. What are the technical steps you need to follow to get your project approved?
    1. Setup Git Access
      a. Learn some Git basics
      - Google is your friend
      - Github & Code School’s tutorial http://try.github.io
      b. Setup your Git Access in your D.o profile
      - Basically just need to add an SSH key
      - Instructions here: https://www.drupal.org/node/1047190
    2. Sandboxes
      a. With Git access setup you can now create sandboxes or “experimental” projects
      - Instructions here: https://www.drupal.org/node/1011196
      b. Take advantage of these, having a commit history of changes is a good thing.
      c. Use sandboxes to get your code “production ready”
    3. The Checklist (Pre-Application)
      a. Before starting the application make sure you run through the checklist
      - Setup Readme, Git Branches, well commented, etc...
      - Link to checklist: https://www.drupal.org/node/1587704
      b. The process goes much much faster, many people skip it
    4. PA Review Bonus
      a. Part of the checklist asks you to run your sandbox through a bot.
      b. Catches the majority of problems.
      c. You can setup your own Review Bot
      - https://www.drupal.org/project/pareviewsh
      - http://pareview.sh/
      d. “Full Stop” - Took me a while to figure that out.
      e. You get a review bonus when everything is fixed.
    5. The Application
      a. https://www.drupal.org/project/issues/projectapplications
      - READ THE DIRECTIONS!
      - In the title include core version: [D7]
      b. Write a Clear Descriptions… can be the same as your project/sandbox page
      - Clear descriptions help people understand better the purpose of your project
      c. Provide links to your Sandbox, the Git clone command, and PA Review
      d. When you are ready set the status to “Needs Review”
  • I noticed when I looked through your slides that you mentioned reviewing other projects as a part of this. Why is that needed?
    1. Reviewing other projects
      a. You must review at least 3 other people’s projects
      b. Post a link to your reviews in your own project application
      c. It’s just like trying a new module.
      - Download it, enable it, try it
      - Report back your findings… good, bad, and suggestions
      d. I learned a lot from doing this
    2. Now you wait.
      a. Others will review your project and post feedback.
      - be prompt to fix issues
      b. Once all is well someone should mark your project “Reviewed and Tested by the Community”
      c. Then you wait for someone with the “Power” to grant you full project status
  • Once someone has approved your project, what’s involved with getting the official project page setup?
    1. Into the Wild!
      a. You can now create your project page
      - be mindful of your project URL, you can’t change it
      b. Create a new release on your project page and in Git
      - Creating a release: https://www.drupal.org/node/1068944
      - Tag Nameing Convention: https://www.drupal.org/node/1015226
    2. FIN.

Questions from Twitter

  • timani.co.zw
    Will this cover D.O vs github for projects? Pros & cons of staying with current design vs migrating to github?
  • Joshua Turton
    #MUP117 When are we going to see movement on the project application issue queue?
  • Joshua Turton
    #MUP117 process seems broken - have to apply... but once past "quality control" you can release any junk u want.
  • Joshua Turton
    #MUP117 Also: encouraged to review others to boost your app's priority, but why would we trust reviews from users who haven't passed through process? (speaking of high priority list/review bonuses)