Getting started in the issue queue

Needs revision -- Last peer review: 16 Mar 2016
Description: 
By the end of this exercise you will know how to post and contribute to issues in the Drupal issue queue.
Overview: 

Project maintainers can spend a lot of time understanding the details of an issue and reproducing reported bugs. By confirming that a bug can be reproduced and improving/writing issue summaries, you help maintainers more efficiently diagnose and respond to bug reports.

This exercise provides practice with

  • creating a basic issue post
  • confirming a reported bug
  • updating the issue to improve it

This exercise will help you gain Drupal sitebuilding/coding experience. Working on core issues introduces you to things such as the user interface, file structure, feature sets, etc. It offers a great learning experience while providing a significant service to the community. In this exercise we will start by creating a very basic issue, which is sufficient, but not ideal. Then we will test the issue, and follow up and improve the issue to make it more complete.

Resources
For more background on the issue queue, and how to correctly fill out an issue form, please read the Drupal.org documentation, Making an issue report.
There is also a short video, Getting started in the issue queue, which walks through this lesson and includes some background information on the issue queue.

Prerequisites: 
Steps: 

Post a sample issue

  1. Go to the Drupal 8 Sandbox issue queue and click the option to Create a new issue.
  2. Under Component: select Miscellaneous
  3. Under Category: select Bug Report
  4. Copy the following and paste into the Title box:
    Rewrite description for URL alias on node/add/*
  5. Copy the following and paste into the Description box:
    Note: This issue is being posted here as an exercise by a participant in the http://drupalladder.org ladder for contributing to core. Please don't do anything with this post. The real issue has already been resolved in Drupal 8. If you would like to try this exercise yourself, visit http://drupalladder.org and click on Drupal Ladder

    Current:
    Optionally specify an alternative URL by which this content can be accessed. For example, type "about" when writing an about page. Use a relative path and don't add a trailing slash or the URL alias won't work.

    Proposed:
    The alternative URL for this content. For example, type "about" when creating an about page. Use a relative path without a trailing slash

  6. Click Save. You now know how to post an issue to a drupal.org issue queue.

Confirm a reported bug and improve the issue

  1. You'll be working with a sandbox version of Drupal that has been built with a known issue in this exercise.
  2. For this lesson, download and install the sandbox version of Drupal 8 Drupal 8 Sandbox for Drupal Ladder.
    Note: This is not a duplicate of the previous lesson. The previous lesson taught you how to do a clean/real install of Drupal 8.

    As indicated in the git instructions, install the sandbox version running

    git clone --branch 8.x https://git.drupal.org/sandbox/bhirsch/1388780.git drupal_8_sandbox_for_drupal_ladder

  3. Browse to your Drupal Ladder sandbox on your computer, which was setup in the previous step, and find the bug you've posted in the issue queue in your site.
  4. Post a comment to your issue indicating whether you were able or unable to reproduce the bug (in this case, whether you found the confusing text and agree that the proposed alternative is better). Include documentation about how to reproduce the bug (e.g. "create a new piece of content, scroll down and click the URL settings tab to locate the help text"). Finally, upload a screen shot with an arrow, circle, or some sort of highlighting that shows other readers what needs to be fixed.

Update the issue summary
Contributors are strongly encouraged to use the drupal.org issue summary template, especially for posts with lots and lots of comments. Take a minute to familiarize yourself with the template and use it to re-write the issue post you just created. Under sections that are not applicable, like API Changes, just say "none." If you don't know, just say "I'm not sure." (See an exemplary issue post.)

Tips

  • There's a list of Novice bugs on drupal.org that are supposed to be good for beginners.
  • When working on real, unresolved issues, double check if this bug has been reported or resolved elsewhere. If it has, change the issue's to status "closed (duplicate)" and post a link to the duplicated issue.
  • If the software works as it's supposed to, the issue you're working on is not really a bug. Change the issue's category from "bug report" to "support request" (questions about how to use the software) or "feature request" (suggestions for other functionality that might be nice to add to the software) then move onto the next reported bug. (The fourth category, "task" is usually reserved for maintainers to track their to do lists.)

Comments

For someone walking through this ladder and relying only on the information provided so far, Step 2 under "Confirm a reported bug and improve the issue" might need a bit of clarification. While it is fairly simple to do, someone using dev desktop and git for the first time might not understand that they need to create a new folder, navigate to it the copy and paste the "git clone" command on the "View" tab of the referenced page, then Import the site through the dev desktop.

gl2748's picture

Hello, It felt like I had difficulty with the expectations of the 'instructor' here.
suggested clarifications:

Link back to Step One in the ladder to emphasis the need to completely repeat this step with the Sandbox version.

Link to the real issue ought to be emphasized as this was the key to understanding the task.

The tip on how to navigate to the problem ...
(e.g. "create a new piece of content, scroll down and click the URL settings tab to locate the help text")
ought to be removed from parentheses as I naturally skimmed it...

I found sockeye's comment here from 6/9/2013 very helpful and would change it only slightly to include in this lesson:

  1. To install the Drupal 8 Sandbox distribution, open a command prompt in the web root used by your Acquia Dev Desktop installation (e.g. /home/[username]/Sites/devdesktop).
  2. Copy and paste the "git clone" command from the "Version control" tab of the referenced page
  3. Once the cloning is done, add the distribution to your Acquia Dev Desktop using the "Import local Drupal site..." option.
  4. Click the Dev Desktop "Local site:" link to proceed with the Drupal installation.

Additionally, I suggest adding a step to "Confirm a reported bug and improve the issue" to return to the Issue Queue and assign the issue to yourself. Contributors should be in the habit of assigning/unassigning issues to oneself so other contributors can identify those that are not actively being worked.

Update status: 
Needs revision

In Confirm a reported bug and improve the issue section after step #4 we can add few steps more which will help student to execrise writing a patch.

The steps that can be added are:

5. Now find the file that cointans this help text. In this case the file can be found at "core/modules/path/path.module". Locate the line which makes description for URL. (You can find that line inside function path_form_node_form_alter(&$form, $form_state) ). Edit the description for the same with the proposed one and generate the patch. If you are new to creating a patch you may like to refer to Creating a patch.
6. Now go to update the summary option. Change status to need review. Add a good comment as to what changes you made in your patch. Upload your .patch file.
7. Click on Save.You will now see that status has been changed to "Needs Review" and your patch will be tested according to Drupal Standards.