Author Archives: Jim

Status Reports – March 24, 2012

Anthony

Status:
– I submitted an overview + implementation of the mimetype handling framework:  http://reviews.reviewboard.org/r/2967/.
Next Steps:
– Implement full-file reviews.
Roadblocks:
– I’m waiting on a response to the about review request.
– Discussion on how to integrate full-file reviews into the comment infrastructure.

Steven

Status:
– Updated WebHooks extension (http://reviews.reviewboard.org/r/2855/)
– Investigated and filed an issue about extension evolutions
 (http://code.google.com/p/reviewboard/issues/detail?id=2548)
– Discovered another modification to Review Board that ReviewBot requires, spoke with ChipX86 about re-scoping project.
– http://reviews.reviewboard.org/r/2957/ needs a push to master
Next steps

– Continue with ReviewBot

Roadblocks

– None

Jim

Status

– Need some reviews/ship-its on http://reviews.reviewboard.org/r/3000/ and http://reviews.reviewboard.org/r/3001/
– Also need some reviews on http://reviews.reviewboard.org/r/2966/, mostly just the added new method get_simple_chucks() in diffutil.py, the template side is still work in progress

Next steps

– Work on the github-like description change rendering
– Find other mini-projects/bugs

Roadblocks

– None

Dave

Status
-Waiting on review request http://reviews.reviewboard.org/r/2918/
-Submitted review request to improve the inline editor http://reviews.reviewboard.org/r/2991/
Next steps
-Find another mini project
-Possibly iterate capabilities upon receiving review
Roadblocks

-None

Wilson

Status

– Creating mockups for 829

Next steps

– more mockups for 829

Roadblocks

– Need to figure out where to place a snippet of code for r2828

Curtis

Status

-Implemented and tested Christian’s changes in r2810.
-Read through and commented on extension system documentation (r2950).

Next steps

-Get rating extension working.

Roadblocks

-Could use a quick review of http://reviews.reviewboard.org/r/2810/ to make sure Christian’s changes were applied correctly.

Yazan

Status
– Still working on incremental expansion
– Summary table moved with filters, stuck on new static CSS directory
Next steps

– Finish incremental expansion, post summary table

Roadblocks

– Stuck on new static CSS for 2 reviews

Wei

Status

– Worked on weekly headlines. Busy week, not too much done.

Next steps

– Continue. Work more.

Roadblocks

– None

How to set up local test environment for Review Board

When developing for Review Board, often you would want to test out local changes and need to set up a local repository in the local instance of Review Board. There are many ways to achieve this. What I did is use my local /reviewboard folder as my repository. Here is the instruction on how to do this:

First, you want to make sure Review Board is properly installed in the local machine and make sure you are able to log in as admin

Go to the admin page, and click “Add +” in the repositories group

Give the repository a name (eg. “Review Board Test”). Edit: you must name it “Review Board”

Make sure “Show this repository” is checked (it is checked by default)

Edit: Select “GitHub” in “Hosting service:” (“Repository type:” will be forced to “Git”)

Select “Git” in Repository type.

Edit: “Project’s owner:” and “Project name:” should both be “reviewboard”

Edit: The idea here is to mirror how the actual reviewboard repository is configured, but when posting reviews, we are going to post it to the local reviewboard instance instead of to the origin in GitHub

For Path, enter the absolute path to your Review Board repo’s .git directory (eg. “/reviewboard/.git”)

Hit save

And that’s it. If everything works you should see the name of the repository that you just create in the repositories group

To post review to it, simply do (make sure the changes are committed):

post-review –repository-url=[name of the repository] –server=http://localhost:8080

Edit: post-review –server=http://localhost:8080 (note that –repository-url is no longer needed)

so in this example, it would be post-review –repository-url=Review\ Board\ Test –server=http://localhost:8080 (Note that the spaces must be escaped)

Jim

UCOSP Blog Post – February 27, 2012

I am Ruirong Chen and currently in my last term of pursuing Bachelor of Computer Science in University of Waterloo. I joined the Review Board team around two month ago as a part of UCOSP program. The Review Board is a great tool for web-based code reviews and offers a smooth interface and a variety of extensions. I picked Review Board because I think it would be a great way to gain more knowledge with Python and the Django framework. In addition, as I am more interested in web front-end development, I feel like it would be a great fit for me.

I participated in the Code Sprint and started off with several small bug fixes and an easy project. After finishing my first project, I quickly dive into a much more complex project which would require me to understand the core components of the Review Board. It involves understanding how the system of comparing two files (diff) works in Review Board, from generating the diffs in the backend to actually rendering them in the front end. Once I have a grasp of how the system functions, I can implement a diff system for other non-file-based information such as the description field of code review. This project would serve as a nice introduction to the inner working of review board since it touches a bit of everything in the program stack.

As I gradually pick up more and more piece of the code base, I realize how complex it is in the backend to build up something that’s easy to use and start to appreciate the beauty behind the Django framework, which is a popular web framework for building up dynamic websites. It not only does a lot of the grunt work in backend development for web developers, but also provides a rich, flexible template language that enables developer to quickly build up web pages in the front end. The more I dive into the code base, the more I am amazed by what it is capable of.

In addition to the Django framework, Review Board also utilizes several other open sourced libraries and tools, such as Djblets, jQuery and Less, to help simplify the development process. This not only poses interesting challenges since I need to work with several external components when I am developing for Review Board, but also makes up for a great learning experience as I am exposed to new technologies and workflows.

I am excited to learn more about the systems and technologies behind Review Board as I develop and contribute to it. It is definitely a rewarding experience for a web developer and I really appreciate UCOSP for organizing the program and make it possible. Besides, Review Board itself is a great tool to use among software development teams and I am proud to be one of its contributors.

Ruirong (Jim) Chen

Minutes for February 5, 2012

Our status updates are as follows:

  • Anthony is waiting for a ship-it on his last review and is looking for a new project next week.
  • Steve is looking for inputs in his project on which tool to use for the web request handling code. Candidates are Twisted, Node.js and Tornado. As recommended by Christian, Steve is going to try out Tornado. His code is going to be here.
  • Jim is waiting for a ship-it in his last review. He found another bug that’s related to the component he is currently working on and he will open a bug for it.
  • Yazan is doing fine and has plenty of work for the week. He also upload the photos for the code sprint here. Later, Yazan asks Christian for his input in this issue. Christian feel that it is not the top priority right now.
  • Dave is going to take over Christian’s change for attachment review(binary diff). Dave also had a question about diff data for moved files and Christian answers it. The thing that was mentioned is moved files are hard to track with only diffs.
  • Curtis is waiting for a ship-it for his review and needs feedback on interface designs for reviewboard-social link
  • Wilson has a question regarding diff being unavailable but it seems to be nothing major. He also has another quick question later regarding cleaning up “evolution” history and Christian answers it.
  • Wei has a question regarding the “evolution” folder when he is exploring the code and Mike answers it. So “evolution” files are Python scripts that update database schema in Django. Wei also has a simple question regarding WebAPI and Christian answers it.
  • Mike will be added to the mod list for reviewboard-dev

The next meeting is on February 11th, 2012. David will be collecting status reports and Wei will be taking meeting minutes.

February 11th – status reports: David, minutes: Wei Lu

Status Reports – January 28, 2012

Jim

Status
Next steps
Roadblocks
  • None

Dave

Status
  • Per-user timezone changes were reviewed and pushed
  • Chose next project, “Better Moved/Renamed Files”
Next steps
  • Plan next project
Roadblocks
  • Can’t continue with “Inline File Attachments” project for the moment

Steven

Status
  • No changes since sprint (Sick)
Next steps
  • Continue on static analysis extension
  • Catch up on hours
Roadblocks
  • None

Anthony

Status
  • finished first iteration of the extension scaffolding generator, and it is currently undergoing code review
Next steps
  • Wait until the first commit for the generator gets committed
  • Take another pass at the existing extensions and see what else can be automated
Roadblocks
  • None

Yazan

Status
  • Wrap up r2816
Next steps
  • Get projects approved
Roadblocks
  • None

Curtis

Status
  • Fixed issue 1252 and 2271, and the changes were pulled into master.
  • Currently working on the interdiffs project.
Next steps
  • Start the first iteration of the reviewboard-social extension.
Roadblocks
  • Having trouble identifying how I can pull the revision numbers out of the models in an intelligent way. The current solution I have is pretty “hacky” and I am not very satisfied with its implementation.

Wilson

Status
  • Read through MDN’s Javascript guide part 1/3 (Introductory)
  • Nothing too different from the sprint
Next steps
  • Finish MDN’s Javascript guide
  • go through w3school’s html guide
Roadblocks
  • None

Wei

Status
  • Finished posting review request r2818
Next steps
  • Follow up with the comments on r2818
  • Chose and start next bug for the project
Roadblocks
  • Not able to use the student blog yet
  • Got sick earlier this week, have to speed up next week

Code Sprint Status Update

Hello,

Quick update about what I’ve done during the code sprint and my current projects.

During the code sprint,  I’ve fixed Issue 2074 and submitted code review for it, which later was pushed to master. Also, I’ve opened a few issues: lssue 2459, lssue 2458

My project during the code sprint was Expose Toggles for Opening Issues in Review Summary Dialog. Right now it is close to completion and my code review is expected to be submitted tomorrow latest

My next project will be Better Change Description rendering. This project would require a bit of clarification on the design and I’ll follow up in IRC.

Jim Chen