Author Archives: salam0smy

Meeting Minutes: August 3, 2014

Attendees

Mentors: Christian, David, Anselina

Students: Students: Salam, Raheman, Matthew, Peter

Announcements

pencils down is on 8/12

Round Robin

Salam

  • Avoid forms
  • Have client talk to the API

Peter

  • Post Screenshot of review request
  • Idea: a small icon to copy the url to a specific review within a review request
    • talk about it after finish the scroll thing
  • go to https://reviews.reviewboard.org/users/PeterTran/reviews/ and copy the URLs from the rows there
    • a .egg package can be easy_install’d, allowing someone to quickly and easily install it on their system

Raheman

  • q: why does the create method require the file to be passed in, if this is already contained in the path field?
    • because it’s not contained there, FileField provides validation and stuff, but it’s up to the caller to actually use what’s in request.FILES for that field
    • UPloadFIleForm was based on UploadDiffForm, which was written when Django forms was a very different thing and very limited
  • my goal is to allow an empty (content-wise) file attachment to be created using the api, but The stock file attachment resource requires that the user have permission to edit the review request. However, people writing comments do not necessarily have this permission. Since this check is employed for good. reason (to prevent unauthorized parties from modifying the review request) is it not advisable to createa separate resource for the addition of fileAttachments associated with comments?
    • we have base classes for a lot of the file attachment core functionality, you will have to write a resource for it.
  • the API is one giant tree of resources. The expectation is that every resource class has one instance, which is in the tree at one location. we already have a few places that offers file attachment functinoality of some sort, so we have all the common code consolidated into BaseFileAttachmentResource. then, for every spot in the tree that we want to provide any file attachment functionality, we subclass BaseFileAttachmentResource, create an instance, and then reference that in the parent’s item_child_resources list.
  • but BaseFileAttachmentResource is not itself an accessible resource is it?
  • so you’d need to do that, and then maybe modify BaseFileAttachmentResource or override something there to provide what you need
  • in your new subclass, you’d override get_queryset to only fetch file attachments that aren’t attached to a review request

Matthew

  • waiting on the code review cycle

Status Reports for July 12, 2014

Salam Alyahya

  • Project Name
    • Updating Checklist Extension
  • What you accomplished this week.
    • Created a model for checklist templates:
      • The model include:
        • user: as a foreign key
        • Title: a string representing the title of the template list
        • TemplateItems: a JSON object to hold all the items in this list
      • Implemented add, edit and delete methods on the items
    • Explored some options for implementing the webAPI for the template model
  • Links to anything you’ve done this week
  • What you plan to do next week.
    • Implement the webAPI for the checklist template model
    • Start builing the setting page for the templates
  • What, if anything, is blocking you from making progress?
  • Any other questions

Volodymyr Lyubinets

  • Project Name
    • Attachments revision
  • What you accomplished this week.
    • Mostly addressing feedback from the main review. Main change – I removed the extra API that I added, and switched to refreshing page every time. Also, I found out about reverse fields.
    • Revision selection support for other formats (done for text, hopefully I’ll do it for binary files as well)
  • Links to anything you’ve done this week
  • What you plan to do next week.
    • Keep in iterating
    • UI improvements
  • What, if anything, is blocking you from making progress?
    • Nothing. Thanks for reviews!
  • Any other questions

Matthew Maclean

  • Project Name
    • Extending Review Bot to allow tools to run on the entire repository
  • What you accomplished this week.
    • Had a discussion with Steven about where I was at and solidified the architecture.
    • Made some architecture and name changes based on conversation with Steven.
    • Partial usage of SCM tools to apply a path to the repository.
  • Links to anything you’ve done this week
  • What you plan to do next week.
    • Finish function calls into SCM tools to apply patch to repository.
    • Allow reviewbot to comment on a file based on reviewing the entire repository.
  • What, if anything, is blocking you from making progress?
    • Nothing
  • Any other questions
    • Nope

Raheman Vaiya

  • Project Name
    • Per User File Storage/DnD file attachments
  • What you accomplished this week.
    • Learned about the Django forms API
    • Made some (unpublished) changes to my current model alterations
  • Links to anything you’ve done this week
    • N/A
  • What you plan to do next week.
    • Write tests for model changes – Start looking into the webapi code
  • What, if anything, is blocking you from making progress?
    • I ran into some conceptual problems and did not get as far as I had
      hoped to this week. After trying to figure out how some of the tests
      work I stumbled into the form-related code of file attachments and have
      since been trying to develop a mental model of how things are
      inter-related.
  • Any other questions

Peter Tran

  • Project Name
    • TogetherJS Extension
    • Meeting minutes for last week’s meeting: https://reviewboardstudents.wordpress.com/2014/07/06/meeting-minutes-for-june-29th/
  • What you accomplished this week.
    • Collected user input for independent hub
  • Links to anything you’ve done this week
    • Review request: https://reviews.reviewboard.org/r/6102/
  • What you plan to do next week.
    • Use JSExtensions to hook the user input into JS
  • What, if anything, is blocking you from making progress?
    • No
  • Any other questions
    • No

Meeting Minutes: June 22, 2014

Attendees

Mentors: Christian, Steven, Anselina, David

Students: Volodymyr, Raheman, Salam, Matthew

 

Announcements

  • Make sure to include
    • “Project: …” line on status reports
    • “Links to anything you’ve done this week”

 

Round Robin

Raheman Vaiya

  • Create a separate model for User Files

    • It’s perfectly fine to keep it as a FileAttachment

  • Go with the FileAttachment way

 

Volodymyr Lyubinets

  • Is it OK to create a new view for the slider with just one selector for the purpose of specifying revision

    • Make the existing one handle either single revisions or ranges

  • Come up with a general solution instead of duplicating code if possible

  • There’s pluggable support for thumbnail rendering for binary files.

  • There’s a common base class for ReviewUIs, which is pretty simple, and there’s a common template

 

Matthew Maclean

  • Don’t be afraid to use/copy any code from rbtools
  • rbtools does know how to apply the Review Board diffs to a working directory

  • To show a diff in RB, we need to apply the patch onto something

    • if that something is a commit or set of commits that aren’t pushed upstream to the repository, then a diff of those commits are provided. That’s the parent diff

    • the parent diff is applied to the codebase,and then the diff going up for review is applied onto that

 

Salam Alyahya

  • sketch out the UI workflows for templeting feature

Status Reports: June 8, 2014

Salam Alyahya

  • What you accomplished this week.

    • Organized my git repository and created local branches so that I can post clean commits. A branch for updating the extension, a branch for updating html template in the js file, and a branch for style changes.
    • I have changed the extension so that it uses .less files instead of .css for styling.
    • Modified the extension template so that it is in a table format to give more styling options. Encapsulated the table with a div tag to fix an issue where after minimizing the extension, the maximize button (to go back to normal) does not show.
    • Also, changes the styling and colours of the extension in style.less file so that the extension fits with RB colour scheme.

 

Volodymyr Lyubinets

  • What do you plan to do next week?

    • Iterate on existing reviews
    • Finish modifying logic behind displaying thumbnails to show only fresh version of each file, etc.
  • What, if anything, is blocking you from making progress?

    • Still exploring the codebase.
  • Do you have any other questions?

    • No

 

Peter Tran

  • What you accomplished this week.

    • Created a hackpad with higher level details of how people will use requests.
    • Took meeting minutes for last week’s meeting.
  • What you plan to do next week.

    • Start writing out test cases
  • What, if anything, is blocking you from making progress?

    • Confirmation of UI design.
  • Any other questions

    • Are there any other use cases for requests? The mockups I made are based on small actionable but quick requests between users based on review requests. Is there another capacity which requests need to be made?

 

Matthew Maclean

  • What you accomplished this week.

    • updated review request https://reviews.reviewboard.org/r/5869/
      • added classes to handle revisioning code
      • clone/load repo on startup
    • asked more questions about the architecture and how stuff should be laid out
  • What you plan to do next week.

    • give tool file path to the original repository
    • (bonus) switch to base commit
  • What, if anything, is blocking you from making progress?

 

Raheman Vaiya

  • What you accomplished this week.

    • Structured mock up code so it is ready for review

(review request to be created with corresponding code shortly)

  •  What you plan to do next week.

    • Formalize API requirements
    • Finalize front end code (to extent possible without a working API)
  • What, if anything, is blocking you from making progress?

    • Nothing
  • Any other questions

    • No