Join me in Drupal 8 Novice Issue Validation

drupal together teamwork

Background

The purpose of this blog post is to tell others how in one week I went from fruitlessly searching the Issue Queue, to contributing to Drupal 8 while interacting with core contributors...and how you can too! I did this by triaging Issues that had the Novice Tag with the help of Drupal Mentors and I documented the process along the way. There are a ton of Issues left to triage and core contributors need your help! So, if you have some experience with Issues and/or core, you can help us too!

How did I get to this point where I was triaging Novice Issues?

As a new contributor to Drupal I was directed to look at Issues tagged Novice to help out. And after looking at the first few Issues I was left befuddled and confused to the point where the only way to express my feelings was through a cat meme.

Confused Cat

 

Photo Source

In the wake of my confusion I mostly drank vanilla frappuccinos and produced over-caffeinated curses about the long list of Issues to chose from, and my inability to contribute to any of them. This is when I turned to the Drupal community! I was able to lean on the help of senior contributors such as Aimee Degnan, Kristen Pol, and John Storey.

I would link them to an Issue and say “Ummm, what?”. With their help I was able to contribute to ongoing Issues like Installing in a non-English language fails for command-line installations , and adding a Beta Phase and Remaining Task template to “Rewrite the documentation of content_translation_entity_type_alter()” . I became very happy with my contributions and wanted to help more!

It was about this time, recalling my elaborate curses regarding the Issues queues, Kristen Pol pointed out an apprenticeship that Cathy Theys was currently offering regarding going through the Issue queue and triaging the Novice Tags. Conveniently, this is the exact thing I was calling for earlier that day! Cathy is a Drupal 8 Core contributor, Drupal Mentor, and overall Leader. She knows how to do the things and is patient enough to teach everyone how to do them. In the first week of working with Cathy part time I was able to: learn how tell if an Issue should have a Novice Tag, interact with fellow core contributors, and even become a mentor for the upcoming DrupalCon in LA! :-) If any of those things sound like something you’d like to do, stop reading right now and shoot me an email or ping me on IRC in the channels #drupal or #drupal-contribute, my IRC name is Patrick_Storey!

First steps to triaging Issues

I started by learning what the “Novice Tag” stands for. Apparently it means “new contributor to Drupal”. This contributor could be an expert in their field, but merely just new to contributing to the Drupal project. This runs contrary to what I thought, which I assumed it meant a Task for beginners in the field like myself. This definition alone really cleared up worlds of understanding for me. So that’s the first thing one must learn, what we mean in Drupal when we say “Novice Task”.

After speaking with Cathy Theys about where we should start we decided to start with Issues that were "Tasks" because those are at a high risk of not being committable. Drupal 8 is currently in Beta. And some Issues are about changes that are not going to be in the current version of Beta. So for new contributors we decided it was best to only have them work on Issues that would get in the current version of Beta. I certainly didn’t want to work on an Issue, do it correctly, only to have to wait a year to see the results. I wanted to link it to others and brag about it now!

Let's go me!

 

photo credit

Luckily the Drupal community has already thought about what makes a good Novice Issue and created a handbook for common things to avoid and use in triaging Issues. The Novice Tasks handbook page documents what makes a good or bad Novice Task. With this powerful handbook at our disposal we are ready to triage Novice Tag Issues!

How to search for Beta Issues with the Novice Tag

Start by searching for Novice Tasks in the Drupal 8 Issue queue This should produce a screen with these filters selected.

Drupal 8 Filters

 

How to decide if an Issue should keep its Novice Tag

This information is to help decide if an Issue still has Novice Task(s) on it. Here are the steps I take when first reviewing an Issue:

  • Read the Issue Summary, read the remaining Tasks, read the last few comments. Can you identify what the next steps are?
  • Look for the comment where the Novice Tag was added. To do this use the browser find (control-f or cmd-f) and search for the +Novice note. Sometimes the Tag gets added and removed often, look at each scenario.
  • What did the person say in their comment when they added the Novice Tag? Has the Task been completed already? If so, then there may be no other Novice Tasks for the Issue.
  • Is the Issue Summary up to date detailing which Tasks have been done, and which Tasks still need to be done? If not this Issue will need an Issue Summary update before it remains a Novice Issue. You can do the Issue Summary update yourself following this documentation or Tag the Issue with a “Needs Issue Summary update” Tag, comment why it needs an Issue Summary update, and reference the documentation.
  • Are the Tasks linked to a contributor Task document saying how to do the Task?

After reviewing the Issue I then decide if the Issue should have the Novice Tag on it or not.

  • Compare the information you have gathered with the Novice Tasks documentation to see if this Issue meets the requirements for a Novice Tag
  • A good way to see this is to review the Task or Issues to avoid for a Novice Tag documentation.
  • If the issue meets the criteria of an “issues to avoid”, then the Novice tag should be removed.
  • If the task in question that the Novice tag was added for meets the criteria of a “tasks to avoid”, then the Novice tag should be removed.

This can seem like a confusing thing to do at first, but feel free to ping me on IRC in the channels #drupal or #drupal-contribute, my IRC name is Patrick_Storey. After doing a few Issues together this process will become a lot easier to understand!

Template for the removal of a Novice Tag.

When removing the Novice Tag, this is a good template to follow:

  • Delete the Tag by erasing it from the “Issue Tags” section.
  • Drupal Issue Tags

     

  • Then leave a comment saying why, and cite the documentation to back up your reasoning. Such as below.
  • I am removing the Novice Tag from this Issue because [why]

    I’m using this documentation as a source: https://www.drupal.org/core-mentoring/novice-tasks#avoid

  • You should put your reason for removal in the [why] part of the above template

Changes to keep the Novice Tag

Sometimes there are things we can do to the Issue to keep the Novice Tag. Such as providing a Beta Evaluation or updating the Issue Summary.

  • If a "Task" has been assigned the priority of “Normal” it should have a Beta Evaluation. You may perform a Beta Evaluation following the documentation on how to evaluate Issues.

    If you can not perform a Beta Evaluation at that moment,

    • comment that it needs a beta evaluation, why (it is a Task of Normal priority) and reference the contributor Task documentation for how to do a beta evaluation in the comment.
    • add the Tag: needs Issue Summary update
    • update the Issue Summary, adding a remaining Task of "do a beta evaluation". To aid in this endeavor the dreditor browser plugin has a button for "Insert Tasks", which inserts a HTML table template. Place your cursor in the remaining Tasks section of the Issue Summary, then hit the “Insert Tasks” button. Then uncomment any table rows that you have noticed are remaining Tasks, especially the row to do a beta evaluation.

If you do a Beta Evaluation,

  • Use Dreditor when starting a Beta Evaluation. This will provide you with the “Insert Beta Evaluation” button
  • When you click the Beta Evaluation button you will get an output like this
  • Beta Evaluation initial output

     

  • Be careful as some of the table rows in the template are not spaced out in a clear manner, there is an Issue opened for dreditor that is discussing a work around
  • I put spacing for each new instance of a table row . This will result in the spacing to be like this.
  • Beta Evaluation modified output

     

  • To properly fill in the form, uncomment the relevant rows and put why that row is relevant.
  • If the Beta Evaluation results in the Issue needing to be postponed, remove the Novice Task because the Issue will no longer be valid for this version.
  • Then hit save.
  • If you are doing this for the first few times, or the update you did was a bit complicated, paste a link to your comment in IRC in #drupal or #drupal-contribute so someone else can check if it looks correct. Ping Patrick_Storey or YesCT just by typing their name when you say something in the channel. (If they are not in the channel, just post it to the channel in general, please do not ask anyone else specifically to check.)

Also see the contributor Task handbook page on how to evaluate if a Drupal core Issue is allowed in Beta for further guidance.

Examples of Issues I’ve changed

Here is a link to one of the first Issues where I removed a Novice Tag: https://www.drupal.org/node/507502. In this example I removed it for having over 100 comments on the Issue, listed my reasons, and the source documentation I was using.

Here is a link to an Issue where the Novice Tag remained but I provided an Issue Summary update, and a Beta Evaluation: https://www.drupal.org/node/2478535. I kept the Novice Tag as this Issue had a request to update the patch to incorporate feedback from a review.

Have any questions?

If you have any questions feel free to hop onto the Drupal chat on IRC in #drupal or the contribution channel #drupal-contribute, or come to the weekly “Triaging Novice Issues office hours” Google hangout at 2pm-4pm PST (21:00-23:00 UTC) on Wednesdays! You can add the Mentor Calendar directly to your Google Calendar to see notifications of when the office hours are! Or feel free to join the Drupal Mentors group to keep up to date with all Drupal mentoring!

 

Thank you to Cathy Theys, Kristen Pol, Lucas Hedding, Scott Reeves, John Storey, and Jeff Mahoney who made this post possible.