Author Archives: vladikoff

Review Board – Improving Admin UI (GSoC)

My Google Summer of Code project was to improve the admin user interface for Review Board. For the past few months I worked on this open-source project building and adding new administration features.

Now I want to conclude this GSoC experience by writing my final progress report and mention some of the the challenges I had to face during this development process.

The new administration user interface consists of three elements. A totally new dashboard, an updated sidebar and a new header. Continue reading


Meeting Minutes – August 14, 2011

Meeting Minutes – August 14th

  • Christian reminded that only 2 days left from the “soft pencil down” deadline
  • Christian and Mike were going through the review requests
  • Babak asked Christian about adding the latest version to the API. Christian talked about hard-coding the version string for now, until the later API change.
  • Christian explained to Babak how the update URL should be structured and that it should grab the latest version based on the API, parse it and run through easy_install. To handle beta & RC releases, the API would tell the user if the version is stable or development.
  • Christian asked Vlad about his progress. Vlad had trouble getting Review Board working with Python 2.4 due to pysqlite module issues. Babak helped out by suggesting easy_install to fix the issues.
  • Christian asked the students to prepare a brief description about the state of the projects in relation to original plans. Mike also mentioned that additional documentation would help to let others pick up on where the students left off.
  • Babak said he would add more dependency checks and 2 more applications missing from the installers. Christian agreed with this plan. Christian also provided Babak with the new API for Review Board version checking.
  • Alexander had a question about syntax and aligning code, Christian helped him out.
  • Mike and Christian helped Babak solve issues with his git changes and upgrades.
  • Babak and Christian talked about the installer. Christian explained that there’s also a text-mode for the installer (running using –console).

Status Report – July 31, 2011


  • Got the guide to work on the settings page.
  • Fixed some installation problems on ubuntu os.
Next steps:

  • Finishing guides.
  • Trying to implement install button.


  • None at the moment.


  • rewritten “rb” command, code amount was heavily decreased
  • completed main part of new API
  • planned future modifications of rb-* commands
  • added skeletons for the most of rb-* commands


  • complete new API with transport implementation(urllib2)
  • start expanding API network stubs in rb-commands


  • Added “Recent Actions”, fluid resizing
  • Added Excanvas for IE
  • Combined all features into a single branch
  • Updated some header styling
Next Steps:
  • Experiment with a “Widget Manager”
  • Add an AJAX-based month switcher to the main stats widget
  • Bug Fixes and TODOs
  • Need help fixing this: I’m using “{% block pretitle %}” to inject the sidebar into all admin pages, but I need to find a way to remove this sidebar from pages such as login, after log out and some admin pop-ups.
  • Need to discuss what to do with spacing here: The widget layout is fluid, but when the screen is small (or tablet resolution) the third column becomes too long and will get even worse if you keep adding more widgets (from extensions for example).
  • Need help ‘force’ clearing cached items.

Meeting Minutes – July 24, 2011

  • Mike and David began the meeting by checking the roadblocks
  • David reviewed Vlad’s roadblock
  • Mike helped Vlad organize his git branches and discussed the approach for future branches.
  • Vlad asked about ‘fast-forward’ commits, Mike and David explained what those are.
  • Babak had a few issues with the local devserver database, the issues were resolved by checking permissions on the database and running some command line tests
  • Alexander had a few git related questions, he wanted to make sure that he was executing the right git commands.
  • Alexander and David discussed the use of ‘post-review’ for commits and if that command could patch itself. They also talked about ‘rb-patch’ and ‘rb-diff’. Alexander and David decided to get more feedback from the mailing list regarding the naming of future commands, such as ‘rb-diff’ and ‘rb-create’.

Status Report – July 10, 2011


  • Tested the script on different windows machines, mostly 64 bit computers
  • Changed the style and factored the scripts.
  • Fixed a couple of installation for patch, CVS and fastcgi.
Next steps:
  • Posting the code.
  • Finishing testing on 32bit machines, and making small changes for them.
  • Moving to the next tasks.
  • Installing Postgres Creates new account on the computer
  • Getting the Subversion version using python
  • finding out if Python 32bit or 64 bit.
  • mod_python for windows no installation found.
  • p4python finding download files

  • improved new rb-create and rb-info commands
  • spent the most of time on designing new api arch
  • started work on implementing new api
  • rbtools/clients/ covered with tests


  • finish and test new api
  • apply new api to the particular rb-* command
  • Organized the templates, created a single ‘branding’ header for admin and core app
  • Fixed a few issues and tested a few more widgets
  • Submit 2 reviews
Next Steps:
  • Fix the issues in the two reviews, and resubmit.
  • Test the sidebar on the settings pages.
  • None right now.

Meeting Minutes – July 3, 2011

  • Babak mentioned that he has 2 more applications to finish one of the parts of his project
  • Mike and David reviewed Vlad’s roadblocks.
  • David explained how memcache and cache keys work to Vlad
  • Mike reminded all students that midterm evaluations are coming up
  • Alexander discussed the API development strategy with Mike. The process is to write the API and API tools simultaneously.
  • Babak had questions about 32-bit and 64-bit Python installations on Windows and other installer parts. Mike confirmed to Babak that breaking the installer into 2 parts – mandatory and optional components, is the way to go.

Status Reports – June 17, 2011



  • partially implemented client splitting
  • started writing tests for ‘api’ branch
  • started experiments with GUI


  • None right now.


  • Reading up on patches
Next steps:
  • Working on the patch problem in windows.
  • Installing 2 of the dependencies in windows.



  • Finished almost all Flot-based charts

Next steps:

  • Clean up the the dashboard branch and publish with ‘post-review’


  • None right now