Author Archives: Anselina Chia

[Open Academy] Status Reports: May 10, 2015

Teresa Fan

  • What project are you working on?
    • Better Linking in the UI
  • What you accomplished this week
    • Nothing really, see below
  • What you plan to do next week
    • My semester is over, but I’d like to finish this project (even if it’s not “graded”), so whatever is needed.

  • What, if anything, is blocking you from making progress?
    • I had finals all this week (classes actually ended last week) so didn’t get much chance to work on this. I’ll have a lot more time now to do whatever is needed to finish it though! I don’t mind if it’s not evaluated.

  • Any other questions
    • What next?

Advertisements

Status Reports: Jan 18, 2015

Theo Belaire

  • What project are you working on?
    • I’m working on finding the optimal parent_base
  • What you accomplished this week:

    • I found the git command to do this.
    • I implemented it in python in rbt’s git.parse_revision_spec
    • I wrote a test to exercise it.
  • What you plan to do next week:
    • Next week I have to catch up on homework that I missed for the sprint, but I will read about hg.
    • I also want to remove the hard-coded ‘origin’s from the code, and learn how to use the configuration option.
  • What, if anything, is blocking you from making progress?
    • I am clear for now.
  • Any other questions?
    • Nothing I can’t google atm.

Chester Lee

  • What project are you working on?
    • Add PEP 257 docstring linting to Review Bot

  • What you accomplished this week:

    • I worked on 3 bugs (including 2 easyFix bugs), one easyFix bug has landed, one easyFix bug is in progress and just needs a unit test to be shipped. The last bug is about double escaping character  in comment section, I added more details and dived into the      causation searching for a while with the help of Mike, anyway, Christian figured that out.
    • My logs for code sprint is still in progress and will be done by the end of Sunday.
    • I also picked a project and am currently working on that.
  • What you plan to do next week:
    • I am planning to finish review request 6786 (Download Diff issue in views.py) and keep working on my project. I am going to write logs for weekly work as well. Moreover, I will keep learning git and Django, get better understanding on the project.

  • What, if anything, is blocking you from making progress?
    • Lack of understanding of the whole structure of the project and unfamiliar code.

  • Any other questions?
    • Are we going to have a graph or other visualised project hierarchy document for future references?

Vincent Le

  • What project are you working on?
    • I am currently working on “File providers framework”, for easier file attachment uploading

  • What you accomplished this week:

    • Worked on the changenum bug (3685)
    • Started planning and research for the File Providers Framework project
    • Hanged out with the awesome ReviewBoard team
    • Started some small implementation with the File Providers framework in the form of objects, webapi and models.

  • What you plan to do next week:
    • Continue basic implementation with the webapi
    • Start building test cases for the webapi, probably similar to TestTool (from SCMTool) for the FileProvider object
  • What, if anything, is blocking you from making progress?
    • None for now

  • Any other questions?
    • I haven’t took a quick look into the decorator webapi_request_fields, I was wondering if it verifies if the length of the input parameters for optional parameters. Things like does it exist, does it make sure its not null, will it submit if it’s not null or empty.
    • If my framework requires packages like DropBoxFileProvider can use a DropBox package, should I tell the user to install it themselves or install it for them?

Chris Arnold

  • What project are you working on?
    • Mute and Archive Review Requests

  • What you accomplished this week:

    • investigating how closed review requests work and are displayed / hidden
    • getting more familiar with general Django, Djblets and Review Board concepts
  • What you plan to do next week:
    • make a more detailed plan for providing a visibility parameter to ReviewRequestVisit objects
    • figure out how and where to add UI to toggle review request visibility
  • What, if anything, is blocking you from making progress?
    • nothing right now, just learning as much as possible
  • Any other questions?
    • none

Jessica Yuen

  • What project are you working on?
    • I’m working on the very last project on the Hackpad: Repository access and registry service.

  • What you accomplished this week:

    • Removed change description from initial review request publishings and other refactored some code
    • Added instructions on running subtests to dev guide
    • Added some notes to Hackpad related to my project and screenshots of the architecture discussed at the sprint (to be uploaded shortly…)
    • Did a minor review:https://reviews.reviewboard.org/r/6784/#review15642
    • Started work on my project. Currently have a basic prototype running on a Flask webserver to fetch file blobs, and check for file existence.
  • What you plan to do next week:
    • I plan to keep working on my project: mainly integrating it into Review Board for this week.

  • What, if anything, is blocking you from making progress?
    • Just some learning to do with Git internals …

  • Any other questions?
    • Nope.

Jason Tseng

  • What project are you working on?
    • Responsive UI
  • What you accomplished this week:

    • Bug#3363 – fixing hashtag anchor url issue which clicking diff file names
    • adding responsive ui for main menu, [WIP] review details, diff viewer
    • in progress – learning codebase, rbtools, functionalities, backbone
  • What you plan to do next week:
    • Continue with Responsive UI, hopefully complete for most pages
    • Get more understanding with underlying backbone implementation
  • What, if anything, is blocking you from making progress?
    • none
  • Any other questions?
    • nope

Tien Vu

  • What project are you working on?
    • Commit message templates
  • What you accomplished this week:

    • Mostly investigating parts of the project + Django + Python + Git
    • Git review + common tools + some git internals (from the Git book, http://git-scm.com/book/en/v2/Git-Tools-Revision-Selection)
    • A lot of messing around with the web API with Postman to check out different resources (http://puu.sh/eHtoJ/10d012df70.png)
    • pdb
    • Python decorator
    • logging, argparse
    • setuptools/pck_resources/entry points (not sure if time on this was well spent)
    • explored how rbt commands work (mostly post, close and patch)
    • figured out where the unit tests are (they all ultimately subclass django’s unittest.TestCase, there are several custom subclasses as well). run with nosetests (I don’t know what nose is)
  • What you plan to do next week:
    • Explore rbt patch
    • Have some more idea of how rbt commands work in general
    • modify rbt patch to use a template and send output to stdout (right now it’s just printing stuff)
    • read parts of Django docs again
  • What, if anything, is blocking you from making progress?
    • I have a lot more to understand regarding the codebase, but progress is there and I’ll ask around on Slack for help

  • Any other questions?
    • No

Status Reports: Aug 9, 2014

Volodymyr Lyubinets

Project name: Attachments revision

Hackpad: https://reviewboard.hackpad.com/Reviewing-attachments-tbfh4oiwTHB

  • What you accomplished this week
    • Wrapped up existing reviews.
  • What you plan to do next week
    • N/A
  • What, if anything, is blocking you from making progress?
    • Term has ended.
  • Any other questions
    • We should discuss what happens next on Sunday.

Salam Alyahya

Project name: Updating Checklist Extension

Hackpad: https://reviewboard.hackpad.com/Updating-Checklist-Extension-rx6nO0sfA1z

  • What you accomplished this week
    • Updated the web API, so that it includes a flag for deleting an item inside the templates list instead of deleting the item when the description is empty.
    • Connected client js files. and created base backbone structure. Implemented backbone models, client API, and view controller.
  • What you plan to do next week
    • N/A
  • What, if anything, is blocking you from making progress?
    • There is something wrong with the declaration of the webAPI. The webAPI url gives me errors.
  • Any other questions
    • None

Peter Tran

Project name: TogetherJS Extension

Hackpadhttps://reviewboard.hackpad.com/TogetherJS-Stuff-XkauVIgVsF5

  • What you accomplished this week
    • Made Hub Configuration Optional (Having a weird bug)
    • Reviewed Code
    • Restyled notification windows
  • What, if anything, is blocking you from making progress?
    • While testing to make sure the hub is actually optional, I realized that nothing breaks when you provide an incorrect hub address. I think JSExtension isn’t being call properly because that is where I do the checking and inputting of the hub URL. None of the checks I do there are registering.
  • Any other questions
    • No

Matthew Maclean

Project name: Extending Review Bot to allow tools to run on the entire repository

Hackpad: https://reviewboard.hackpad.com/Review-Bot-access-to-entire-repository-QUHGKxc3M3R

  • What you accomplished this week
    • Submitted updated code as per reviews
  • What you plan to do next week
    • Continue updating my code as per the reviews.
  • What, if anything, is blocking you from making progress?
    • None
  • Any other questions
    • None

Raheman Vaiya

Project name: Per User File Storage/DnD file attachments

Hackpad: https://reviewboard.hackpad.com/DnD-functionality-for-commentreview-images.-GkNpfAx8O2k

  • What you accomplished this week
    • Developed an understanding of the both front-end and back-end resource internals
    • Made progress in the implementation of a new file attachment resource
    • Documented problems pertaining to the new architectural changes in my hackpad entry
  • What you plan to do next week
    • Finalize/test model changes
  • What, if anything, is blocking you from making progress?
    • As per last week’s discussion I proceeded with the model changes and resource creation, however I ran into a few issues with the proposed architectural changes. I have dealt with these in as best as I was independently able and have documented the progress in my hackpad. Much of my time was consumed in developing a working understanding of resource internals and so less progress was made than I had originally hoped. Most of the front-end work is done and is awaiting completion of the new user file attachment resource.
  • Any other questions
    • None

Meeting Minutes: July 20, 2014

Attendees

Mentors: Christian, David, Anselina, Mike, Steven

Students: Volodymyr, Salam, Raheman, Matthew, Peter

Announcements

  • Please review each other’s code this week, even if it’s just to test out patches (rbt patch will be useful here)! You can look at style, architecture, edge cases, whether variable names are clear, etc. Are there steps that don’t make sense or can be combined?
  • There’s one month left! Take a good look at the calendar and at how much work you have remaining – if it’s starting to look like you’re not going to hit a target, please let us know ASAP, and we’ll work something out.
  • Make sure to leave a few days at the end of your project for review iteration – having your patches out of WIP at least 1 week before pencils down is a good idea.
  • What you have could already be landed as-in – it doesn’t have to land in one big chunk.

Round Robin

Volodymyr

  • Pretty sure that the Backbone events syntax doesn’t assume the element you’re targeting is the direct descendant of the view element?

    It actually does. It’s listening on this.$el, catching anything that bubbles, and comparing the targets to that list. If you need anything more specialized, you have to listen to it yourself. Assigning it yourself is not too hacky.

  • For binary files reviewing, modified the Python side so if no review UI was found the file, the generic review UI will be used. Not sure what’s best to put on that page – just title, download link, and a revision slider?

    Just a filename, caption, and download button is fine. It’s duplicating the thumbnail a bit, but the slider’s providing additional value, and it’s still a thing that can be linked to. Could be nice to present the comments made to that attachment and allow for creating a new comment, but this is extra work. Come up with a quick mockup!

  • Would appreciate another round of reviews.

Salam

  • Got some WebAPI stuff up!
  • Should work on the settings page (template management UI) next or test the API?

    Functionality gets higher priority over automated tests, so work on the settings page.

  • How should I get started?

    What you’ll probably want to do is create a views.py, and register a URL to point at it. A URLHook can be used to point at some function in a views.py in your extension directory. After this, you’ll have your own page registered.

Raheman

  • Having trouble figuring out where to put some initialization logic for a model attribute. Need to modify some fields (like file_usage, file_quota) in the user owning the file attachment, whenever the file attachment’s user field is modified. Having problems accomplishing this whenever a model instance is created.

    We don’t really need quota support right now, so just allow unlimited file attachments per user. Users would never be able to delete their stuff since it’s a part of the history (which we never delete). A maximum per-file size would be useful as a global setting in siteconfig.

    To answer the original question, the best solution would have probably been to override FileAttachment.save(), and do the logic in there. It can check if it’s new or not by checking if self.pk is None.

Matthew

  • Which version of Review Bot and Review Board should I be on?

    Generally, master for Review Board since release-2.0.x is going to be largely just bug fixes. Review Bot’s master is broken for now, so work on release-0.2.x.

  • Have some general questions on Hackpad for smacleod to answer.

Peter

  • Styling patch for TogetherJS should be landed soon!
  • Successfully set up an independent hub for TogetherJS and tested it with the local hub.
  • Need to bundle the JS instead of using templating, which should be quick.
  • Moving onto scroll detection. Planned high-level steps:
    1) Print current scroll position.
    2) Send position to peer.
    3) Animate the new position.
    Any intermediate steps to focus on that could help?

    Having two machines connected, scrolling in one, and having the other side hear it is a huge step. Just make sure that the signalling even works first. Pretty sure TogetherJS does the job of sending scroll positions to everybody else already, but it’s up to the implementor to listen for these messages.

    There’s also a data channel you can send anything you want over, so even if it doesn’t send scroll positions by default, we could still send it ourselves.

  • Any demos of how to animate the scroll position?

    Could have indicators for each user, and let people click to jump to the same scroll (kind of like Hackpad). Could also have an optional sticky scroll feature where one user just follows another user’s position, for guided code reviews.

    As a first step, just display a horizontal line, say, 25px wide, to represent a user’s scroll position.

Status Reports: May 24, 2014

Salam Alyahya

1. What you accomplished this week

  • I updated my hackpad here. However, I don’t have a review request up yet because I don’t have any code written yet
  • understand how chunk expand works in diffReview
  • understand how comments are fetched, and how the chunk in comments are generated
  • modify the chunk object so that it also include a chunk_index variable

2. What you plan to do next week

  • finish examining and thinking about how to tackle the problem, and write some code. Add a review request for the project.

3. What, if anything, is blocking you from making progress

  • in comments, the chunk is appended through a script (received from server) that is being appended to html page, rather then JSON object from a RESTful api. It would be very useful if I can add an API request that exposes partial functionality of ‘diffutils:get_file_chunks_in_range‘ ; which is the function used to generate a chunk for a comment.

4. Any other questions?

  • no

Matthew Maclean

1. What you accomplished this week

  • closed the two bugs related to review posts with duplicate commit ids that I was tackling
  • started brainstorming the details of the reviewbot repository access. Hackpad.
  • started adding git capabilities into the reviewbot utilizing GitPython at /r/5869

2. What you plan to do next week

  • support for multiple repositories
  • change branch/commit depending on the posted review
  • creating local copy of repo for tool

3. What, if anything, is blocking you from making progress

  • I haven’t looked into how yet, but I will need to have information regarding the commit the diff is based upon

4. Any other questions?

  • None

Peter Tran

1. What you accomplished this week

2. What you plan to do next week

  • get design approved for notification system
  • break up notification architecture into small pieces
  • write unit tests for basic notification system

3. What, if anything, is blocking you from making progress

  • nothing

4. Any other questions?

  • nothing

Raheman Vaiya

1. What you accomplished this week

2. What you plan to do next week

  • Finalize concept with mentor(s)
  • Start implementing basic UI portion of feature functionality

3. What, if anything, is blocking you from making progress

  • Nothing

4. Any other questions?

  • No

Volodymyr Lyubinets

1. What you accomplished this week

  • Attempted to write some code for my project, but failed miserably. Since we are required to post some code, here it is.

2. What you plan to do next week Do some of:

  • Write a backbone view for file attachment upload
  • Add support for passing sequence_id when you upload a new file, handle that on backend
  • Show only one thumbnail for each sequence_id

3. What, if anything, is blocking you from making progress

  • Lack of knowledge. I need to do some reading about backbone, as “Ctrl-C / Ctrl-V + modify” method isn’t working very well.

4. Any other questions?

  • Nothing urgent, I will ask some on Sunday.

Status Reports: March 1, 2014

Anselina Chia

Last Week

  • Fixed review issues for the Git hooks (/r/5403)
  • Separated RBTools changes (/r/5543), and am fixing its issues today
  • Started working on the GitHub post-receive hook

Next Week

  • Fix issues that come up for my review requests above
  • Continue working on the GitHub hook

Blockers

  • None

Questions

  • None

Bhushan Ramnani

Last Week

  • Implemented test cases for generating urls for HostingService.

Next Week

  • Finish testing, make changes to review request, commit urls code and start working on mercurial web hook.

Blockers

  • Again having problems rebasing with master. Will get it resolved tonight.

Questions

  • None

Edwin Zhang

Last Week

  • Better understanding the diffviewer code and how it works
  • Fixed the 500 errors that I had been getting when adding the diff expansion links (although clicking the links do nothing right now)

Next Week

  • Implement the functionality for the diff expansion and get more familiar with the diffviewer code

Blockers

  • None

Questions

  • None

Iines Piesala

Last Week

  • I updated my review request with a diff.

Next Week

  • Make progress on my project ( I’ll try finish with the pop up containing the link to the row.)

Blockers

  • None

Questions

  • None

Joonas Lindholm

Last Week

  • Had a look at Mirai’s mobile mockups. Investigating and testing the django-mobile package (https://github.com/gregmuellegger/django-mobile). It provides a way to detect a mobile browser and to serve the correct (eg. mobile or full) template to the user.

Next Week

  • I’m thinking that if we have a “mobile version” of certain pages and a full desktop version, it’s probably enough (no need for a “tablet version” because tablet users could choose whether they want to use the full desktop version or the mobile version). If we do like this, then I probably should start implementing a mobile version of some page (maybe with the help of django-mobile or some other similar solution). I could start with something easy, for example the login page.

Blockers

  • When I run the site / development server inside a VM, how do I access it with a mobile device? When I run ifconfig inside the VM, should I see a wlan0 section?

Questions

  • None

Olessia Karpova

Last Week

  • Fixed the code written last week to incorporate reviews
  • Added tests for Bitbucket and Beanstalk functions
  • Started writing tests for the new hosting service api

Next Week

  • Finish tests and start the implementation

Blockers

  • Not sure why a basic test I have now fails

Questions

  • None

Mirai Akagawa

Last Week

  • Worked on more mockups, with an idea for the dashboard.
  • Started some layout code for the navigation offline from Review Board, with just html css and js.

Next Week

  • Consolidate mockup into more realistic plans, either mockup code or on illustrator.

Blockers

  • None

Questions

  • None

Stephanie Su

Last Week

  • Incorporated code reviews. Fixed the 2 bugs from last week.

Next Week

  • Get feedback and make improvements.

Blockers

  • None

Questions

  • None

Tomi Äijö

Last Week

  • Worked on bug infobox that shows information about mouse hovered bug (similar to the one that shows for users currently)
  • Fixed a few bugs on Gitlab hosting service integration that I discovered. Will post a review request once I complete testing with different Gitlab API versions
  • Created a mockup of the configuration dialog. It is attached in my review request (r/5531)

Next Week

  • Fix issues raised on my review request (r/5531)
  • Implement the configuration dialog

Blockers

  • None

Questions

  • Is there any examples on how to implement the “Add another” -button shown in the configuration dialog mockup that dynamically creates new pairs of Django widgets to a form?
  • Older versions of Gitlab API v3 only allow creating the token with email as the username (See https://github.com/gitlabhq/gitlabhq/commit/559e83d30004e0c41a30f4ce3463f695eb7e26a1). Currently review board only posts “login” parameter so older versions of Gitlab do not work. Should I add new input field for the configuration dialog for the email in addition to the username, or change the current one to accept either? If latter, should I try to recognize emails and use “email” parameter accordingly?

Tami Forrester

Last Week

  • fixed django errors \o.o/
  • working on adding the columns to the datagrid (and figuring out how they work)
  • resolved some of the issues on the review request (will update tonight)

Next Week

  • Finish the columns, start working on the frontend

Blockers

  • None

Questions

  • None

Meeting Minutes: February 16, 2014

Attendees

Mentors: Christian, David, Mike, Steven

Students: Anselina, Bhushan, Edwin, Joonas, Olessia, Mirai, Stephanie, Tomi, Tami

Excused: lines

Announcements

General

  • Thank you for a great weekend at the code sprint!
  • Gearing up for RB 2.0 beta 3 and RBTools 0.6, and each of you now has code going into one of both of those releases. Congrats!

Code reviews

  • We have a bunch of WIP review requests up. Each of you should do at least one code review for someone else this week. It doesn’t even have to be a review for one of your peers. You could review our code, or third-party contributors, but it’s probably the least resistance (and the most opportunity to give comments) on the WIP requests.

Round-robin

Anselina

  • Has been refactoring the code for her project, and needs to modify it a bit for the pre-receive hook.
  • Will resolve the issues raised in m_conley’s review.
  • Will have a new WIP up by the next meeting.

Bhushan

  • What he’s done is not ready to be committed, but can he just attach the incomplete file on the review request?
    m_conley: *Absolutely*. Even if your patch is just (in your opinion), garbage – it’s exploratory, or full of print/dump statements, or it’s just comments. That’s totally fine. It’s a WIP (work-in-progress) patch, and that’s expected. All we want to do is see where you’re at each week. And, if at this point, all you have is pencil sketches or broken code, that’s totally fine. Also, it’s not just a way of letting us know where you are – more than once, we’ve had a student’s harddrive go down during the semester, and they hadn’t been backing stuff up or pushing to a fork or anything. This is a way of making sure that your stuff is *somewhere*, and reasonably up to date. That way, even if your harddrive goes down, you’re at the most put a week behind.

Edwin

  • Has been figuring out what code is relevant, messing around with the front end and seeing what updates what on the front end side.
    ChipX86: It’s a large codebase, so if you’re lost for more than a day, hop in and we’ll help guide you. That also goes for if you’re not completely sure how to best implement something.
    m_conley: Everybody – this is a perfect WIP patch: https://reviews.reviewboard.org/r/5480/diff/# <– I see “Blah blah blah”, and “test test test”. This is totally fine. It’s not a thing we’d ever land, but it does a great job of telling us where you are and what you’re working on.

lines (Excused – mid-flight)

Joonas

  • m_conley: Saw that you and Mirai sent out your survey last week. How many responses have come in?
    bro1: Only 6 so far.
    ChipX86: Surveys are hard that way. I’ll try to help with that a little.
    m_conley: How many responses are you hoping to reach?
    bro1: 36 would be nice, but I’m thinking around 20 at the minimum.
    m_conley: I think we have to assume that we’re not going to have ~20 responses until several weeks in, if we’re lucky. Putting some pressure on one of those bugs you identified is a great idea.
    purple_cow: We’ll tweet the survey to try to get more responses.
  • Will focus on tablet usage, while Mirai works on smartphone usage.
  • Will tackle issue #3243.

Olessia

  • Worked on getting remote repository lists from Bitbucket, Beanstalk, and adding pagination to the GitHub implementation.
  • Re: m_conley’s review: the two cases are actually different – in one case (Bitbucket), we stop when there’s no key next in the response dict (because Bitbucket is nice and lets us know what/if there is a URL to query next). In Beanstalk’s case, we stop when we get an empty response because in the response dict we have no info of what/whether there is a next page. Will keep in mind what m_conley said and look closer at the issue.
    m_conley: Perhaps there’s a way of getting a count of the total pages/entries? I’m just worried about exit conditions.
    purple_cow: We can also talk to them if they’re missing it. They were super responsive to us when we’ve asked for APIs in the past.
    ChipX86: So, if they don’t have it, I suggest this: e-mail them, and tell them you’re working with the Review Board project as a student and are trying to add better support for their APIs. They’re friendly. You can also give them our e-mail addresses.
  • Could not see any repos in the Beanstalk account.
    ChipX86: You should be able to see them. I also set you as an admin about 15 mins ago. Make sure you’re on the beanbag account.
    Managed to see two repos afterwards.
  • What should she focus on this week?
    ChipX86: How about expanding the branches/commits fetching? This is for the New Review Request page. We have support for fetching that info for GitHub, but not other services. It’s also all part of the HostingService work (and any work done there could benefit people immediately in 2.0).

Mirai

  • While the survey responses are coming in, he will keep looking at the most severe issues that they found at the code sprint. Unfortunately hasn’t been able to do much besides the survey this week.
  • Will send in some review requests early next week.

Stephanie

  • Worked on getting the backend to save the positions of the widgets after the users move them around.
  • She hasn’t incorporated the code review suggestions yet.

Tomi

  • m_conley: Have you been getting useful information from the mailing lists?
    Yes, got some new ideas.
  • Seems that the workflows are quite different for bug trackers and HostingService class since everyone wants to have a different workflow.
    ChipX86: I think for now, we support the basic operations. API that can do things like post changes, query for information, etc.
  • Plans to make it configurable so that people can tie RB events to certain actions. 
    ChipX86: I’d love to see the design you have in mind when you’re ready to show it. Are you collecting this info on a Hackpad? That helps us keep track of it, ask questions inline, etc.

    purple_cow: Either there or a review request.
    Will export it to a Hackpad, and post some code soon. Had to create his development setup once again.
  • Currently, the bug tracker is just a text field in HostingService, but he is thinking of making it a class that does more complicated things.
    ChipX86: I think we want a new module (bugtrackers) that has its own set of classes. Right now, every repo/service needs to have its own bug tracker info. We can clear this up after the meeting – I can give you a braindump of how it all works.

Tami

  • There’s a lot of errors right now on her WIP patch, so she’s just working on sorting them out.
  • Settled on a tabs design.