Author Archives: brennie

Status Report for October 25, 2014

Andrew Hong

What project are you working on?
Download Review Request File Attachments As ZIP, done? Tested and all, ready to go.
Starting to look at: Add support for matching commits to review requests to more commands.
And also looking at the users/groups autocomplete again.

What you accomplished this week?
Implemented suggestions and fixed minor bugs in zip feature, tested again and looks good to go now.
Started to look at other student projects that are still available. Revisiting aggressive autocomplete bug.

Links to anything you’ve done this week

What you plan to do next week?
Hopefully get to the bottom of the aggressive autocomplete bug. A couple of bug reports to base testing off of.
Also going to spend some time trying to add support for matching commits in rbtools.

What, if anything, is blocking you from making progress?

Any other questions?

Azad Salahli

What project are you working on?
‘rbt land’ for landing changes

What you accomplished this week?

  1. Figured out it is not possible (read: some non-trivial changes needed) to fix the API documentation where it says ‘Validate Diff List’. Apparently, anything that doesn’t have an id field in its URL should be declared as list.
  2. On my way to finish a prototype for ‘rbt land’ command. I’ll post a WIP until the meeting. Unfortunately it’s not ready yet.
    1. For now ‘rbt land’ takes a required request id and branch arguments, because all of the code for guessing request id is embedded inside ‘rbt post’ command and is not trivial to refactor.
    2. If the request doesn’t match the head of the specified branch, ‘rbt patch’ is used to apply the review request to that branch.
    3. The specified branch is pushed to remote repo as is (without being squashed).

Links to anything you’ve done this week
A [WIP] is on the way.

What you plan to do next week?
Working on my project. It’ll depend on the reviews to my [WIP] request.

What, if anything, is blocking you from making progress?
Nothing yet.

Any other questions?

Barret Rennie

What project are you working on?
Currently I am working on the API caching layer for RBTools.

What you accomplished this week?
I’ve got an initial WIP draft done for the API caching layer. It currently doesn’t crash RBTools :D. It needs to undergo extensive testing and (probably) some refactoring to make it pretty. It is currently using SQLite as a database for the store. I’ve also added a review request for adding aliases to RBT.

I’ve also got a review request up for adding alias support to RBTools. It could use a review 🙂

Lastly I’ve cleaned up the review request for diff comment expansion and added a lot of testing info.

Links to anything you’ve done this week

Review Requests (Diff fragment expansion) (RBTools alias support) (API Caching)

Hackpad for RBT Caching

Flowchart for (how I think) caching works

What you plan to do next week?
Unfortunately, I won’t be able to accomplish much next week. I have two midterms to study for and I am moving next Saturday.

What, if anything, is blocking you from making progress?
Nothing, unless I misunderstand how HTTP caching is supposed to work. That stuff is complicated.

Any other questions?

David Kus

What project are you working on?
Drag ‘n Drop inline images into the markdown editor

What you accomplished this week?

  1. Finished testing the backend
  2. Added unit tests to the new WepAPI Resource that I added
  3. Removed WIP tag from the review request for the backend work

Links to anything you’ve done this week. (now ready for reviews) Bear with me as it’s a pretty big one.

What do you plan to do next week?
Get back into the frontend work (I had originally started there but decided that it would be best to have a working backend first). Need to see exactly what I have left to do there, but at least:

  1. Wire up the front-end to the WebAPI
  2. Look into adding a way to add review request file attachments while a markdown editor is open

What, if anything, is blocking you from making progress?
I am having some trouble setting up a branch for the frontend based on the backend. When I create a new branch based on my ‘backend’ branch, and then post a review request for this new branch, it contains all the backend changes as well. Is this expected? And is there some other way that I could create my new branch based off my ‘backend’ branch without this happening?

Any other questions?
Review bot doesn’t like my style, but I can’t seem to find another way to write my code. PyCharm’s pep8 tool isn’t marking this as an error, and I’ve seen the same style used in other test_* files. Any suggestions? (see

Justin Malliet

What project are you working on?
I’m still working on sandboxing extensions.

What you accomplished this week?
I’m submitted my patch for sandboxing AuthBackend subclasses, and only just realized I’ll have to do more testing on it because it seems to be causing other tests to fail. I’ve got a [WIP] for djblets Column subclasses, which is mostly done except for 3 functions I still have to finish writing tests for. I tested this patch for the same issue making other tests fail and it does not seem to suffer the same problem. I’ve been doing some more research too, but i have not had a lot of time to update my Hacjkpad, so I’ll be doing most of that tomorrow.

Links to anything you’ve done this week

What you plan to do next week?
This coming week I plan to keep going in my progress and hopefully get as much of my current project done as possible.

What, if anything, is blocking you from making progress?
Nothing is blocking me for now.

Any other questions?
I have a few small questions, I’ll just ask during the meeting.

Mark Loyzer

What project are you working on?
Adding an extension to Review Board that will allow people to export a review request as PDF and XML.

What you accomplished this week?
I wasn’t able to do as much as I had hoped because I ran into some problems with finishing the implementation of the header and having 4 midterms to study for. But I did look into the Frame object in ReportLab (can view my conclusion on hackpad). Did fix the implementation of headers on every page to display Page X of Y. I also have started looking into and implementing how to input bullet points with indentations in the document.

Links to anything you’ve done this week (I haven’t uploaded my changes yet because I want to do some work tomorrow on it and will upload them after that.)

What you plan to do next week?
Tidy up Header (still need to add the review request id to it).
Finish the Details section (should be quick once I get bullets working).
Add Issue Summary section.
Add File Summary section.

What, if anything, is blocking you from making progress?

Any other questions?

Ryan Done

What project are you working on?
File Attachment Diff Slider
Alphabetic Paginator

What you accomplished this week?
Alphabetic Paginator is finished and submitted
I spent some time last weekend addressing the visual design and making CSS tweaks with Mike’s help.

I started looking into writing a Spam Filter extension, but after talking with Christian for a while we decided that it would be too tricky to do without some big changes to reviewboard. So I started on adding a diff slider for file attachments (making use of the FileAttachementHistory class).

I should have a WIP review request up before I go to sleep tonight, but I didn’t want to hold up the status report collection for that.

Links to anything you’ve done this week. (submitted) (submitted)

What do you plan to do next week?
Dig into the File Attachment diff slider. I don’t foresee it taking that much more time.

What, if anything, is blocking you from making progress?
All good for now.

Any other questions?

Nicole Xin

What project are you working on?
Same as last week, general comments

What you accomplished this week?

  • I’ve written 106 tests for general comments web api, spent a lot of time debugging, from failing all to passing all. That’s huge!
  • Good news is I’m done on api and move on to front end.
  • Small modifications to backend model: add a get_absolute_url() function
  • Front end model built, templates todo

Links to anything you’ve done this week

What you plan to do next week?

  • brennie just point out a typo in my model, got to fix it
  • Finish templates for front end
  • Write tests for front end and do the testing
  • Split all my modifications on file attachment comment to a new review request

What, if anything, is blocking you from making progress?
I have trouble rebasing api on my comment_model(backend) branch. Brennie suggest manually merge, it seems that I even made it worse. Now I got a normal backend branch, and I “normal”(fixed to pass all tests) api branch. But if I try to rebase api on model, there’s tons of conflicts almost every commit applies. Hopefully I can solve this tomorrow.

Any other questions?


Meeting Minutes (Sept. 28, 2014)



  • ChipX86 (Christian Hammond)
  • smacleod (Seven MacLeod)
  • heapify (Anselina Chia)
  • purple_cow (David Trowbridge)


  • rdone (Ryan Done)
  • andrewhong (Andrew Hong)
  • asalahli (Azad Salahli)
  • dkus_ (David Kus)
  • nicole_xin (Nicole Xin)
  • justy777 (Justin Maillet)
  • brennie (Barret Rennie)
  • mloyzer (Mark Loyzer)

No announcements

Round robin:


  • All good for now
  • Taking suggestions for visual / CSS changes.



  • Nothing new.


  • Currently working on backend general comment model; hopefully will set it up next week
  • No questions


  • – how do you apply for GSoC and what is the program like?
    • smacleod: Applications done through melange website. There are a number of ogranizations that get accepted and you may write them an applications. Applications are expected to be pretty well through out if you want to be accepted. Generally you should do your homework and get familiar with the project, and then write a proposal for what you’ll do over the summer that shows you know your stuff. Copying and pasting generic applications will get you immediately rejected. Organizations also get a limited number of slots for students they can accept. If you do get accepted, you’ll be assigned a mentor from the project and be expected to work on some substantial piece of code. Halfway through there is a midterm evaluation, and if you pass that you move on until the final, where you can still pass or fail. If you fail it, you’re out of the program. (The evaluations are not written tests.) Payment is $500 at start, rest of first half at the midterm (if passed), and the rest at final (if passed).
  • Planning to look into how to get extensinons to communicate with Review Board
    • smacleod: Extensions are basically Django apps with their own models, views, urls, etc. Requests and responses work pretty much like the rest of RB. Along with that, they are a Python class that gets instantiated when the extension is enabled, which can set things up and run code. These classes have a number of attributes which you can specify to hook into parts of the extension framework, as well as instantiate hooks to do verious things.
  • Figured out how how to install and enable extensions. Found documentation to add to admin panel.


  • Do I need to create a new API resource in RBTools for ValidateDiff endpoint?
    • smacleod: You shouldn’t have to create resource classes unless the API endpoint behaves differently or has something special.
  • Will be working on getting rbtools to validate diffs before uploading next.


  • Nothing new to report
  • Question: what view is the idff viewer in a review request reply (
    • ChipX86: review_detail (reviews/ sets up the page and creates placehoders for those. The JS then makes requests to the ReviewsDiffFragmentView for rendering those. It does it in per-file/revision batches to reduce fetches.
    • smacleod: It would be easier to tackle the backend API changes need first before working on the UI and frontend.

Meeting closed. Continue reading