How to do a Code Tour
Contents
What is a code tour?
A code tour lists information about all of the bugs in Bugzilla that have been closed in the past week. You can view previous code tours in dw_dev here.
How to make a code tour
First, get a link to a Bugzilla search from denise or by putting the start and end dates of the week into this search form. Then, put the information each bug into this example format:
<a href="http://bugs.dwscoalition.org/show_bug.cgi?id=NNNN">Bug NNNN</a>: Bug Title Category: What section of the site is this bug about? Patch by: <user name="username"> or submitter name Description: What problem does this bug solve, or what new feature does it add?
Then, make a post to dw_dev tagged "code tour". The time to do these is generally Monday, so they can be included in the dw_news update.
Makes sure to double check the bug--sometimes the "patch by" field only includes who made the patch, but other people may have worked on it, especially in the arena of themes.
How to make a Bugzilla search for a code tour
The base link is this: http://bugs.dwscoalition.org/buglist.cgi?&query_format=advanced&chfield=bug_status&bug_status=RESOLVED&resolution=FIXED
To that link, you want to add this to the end: &chfieldfrom=2010-03-02&chfieldto=Now where chfieldfrom has the day after the last code code tour on it (replace the 2010-03-02 with the appropriate date). You can replace chfieldto with a date, too, if you like, but "Now" should work.
Template Making Script
If you are comfortable with using Python on the command line, here is a script that can help you make a template with all the bugs in a CSV download of the week's bugs. (You can find the CSV download link on the bottom of the search page. You'll want to make sure to have these columns listed: Full Summary, Component, Assignee Realname, and Resolution.)
#!/usr/bin/env python # usage: python code_tour_template.py bugs-2009-09-15.csv import csv, re, sys def parse_assignment(assign): """Attempt to parse the assignment for the submitter's username. Use the full assignment field otherwise.""" # [:username] match = re.search('\[\:([a-z0-9_]+)\]', assign); try: return '<user name="%s">' % match.group(1) except (IndexError, AttributeError): return assign # Get the CSV file for the bugs bugs_file = sys.argv[1] bugReader = csv.DictReader(open(bugs_file)) # This is a template for a bug record template_record = """ <b><a href="http://bugs.dwscoalition.org/show_bug.cgi?id=%(bug_id)s">Bug %(bug_id)s</a>:</b> %(title)s <b>Category:</b> %(category)s <b>Patch by:</b> %(patch_by)s <b>Description:</b> FILL IN """ # For each row in the bug CSV file, put the appropriate variables into # the template and print for row in bugReader: replacements = { "patch_by": parse_assignment(row["assigned_to_realname"]), "bug_id": row["bug_id"], "category": row["component"], "title": row["short_desc"] } print template_record % replacements
How to do a Bugs (old and new) Tour
<a href="http://bugs.dwscoalition.org/show_bug.cgi?id=XX">Bug XX</a>: SUMMARY Category: Reported on DATE by <user name="NAME"> Severity and Priority: Status: assigned to/unassigned Description:</b>
Then, make a post to dw_dev tagged "code tour". The time to do these is generally Monday, so they can be included in the dw_news update.