As per request, I am reposting my blog posts. This was originally posted on February 1, 2013.
Well, I finally got to sit down for more than an hour today, and here’s my progression.
As mentioned previously, last week I dealt with confirming the front-end design in the /templates/reviews/review_request_box.html template, as well as improving the relationship models for the dependency relationships in /reviews/models.py.
Today I was able to delve into the /reviews/admin.py, and I was able to set up an initial representation of the relationships within the admin panel. It’s full functionality is still waiting on the web API connections to be completed, but that will be referenced later.
Next, I was able to jump into the /reviews/views.py, and begin to really research the inner workings of ReviewBoard. I was able to significantly improve my understandings of both the Django view framework and how it relates to this project, so it’s looking quite promising for now.
This new perspective allowed me to finally delve head first into the monster that is the /webapi/resources.py file, and I was able to do some initial progress adding the dependencies into the whole mix. Specifically, I was able to contribute to the _set_draft_field_data function within the ReviewRequestDraftResource class, adding in the dependencies.
I’m going to follow up with some new additions over the next few days and see where this leads me. Some expected roadblocks could be confirming the connections that I’m building, properly addressing how to deal with drafts becoming published, and how to properly infuse these new features into the front end (i.e auto searching possible reviews, confirming that reviews exist when added, concurrency, etc.)