Archive for March, 2012
Karen reminds us that there are 2 weeks left until the end of term, we need to start wrapping up our issues!
– Aaron has nothing new to add to his punchline, talked about the presentation that he has to do for their campus UCOSP representative, Meghan. Will possibly do a joint introduction with Hanson and Christine to avoid duplication of content. The presentation is suppose to be about 15 minutes long per student, where we each talk about the general project, what we did/contributed, what we learned. Scheduled for Apr. 19, worth 10% of grade. Christine will send an e-mail to Meghan to ask if we can do the joint intro.
– Sky worked on issue 474 and it is good to go, should be shipped very soon. His said that his main goal is to make sure that he finishes issue 150 by the end of term as well as a blog post.
– Aimen said that issue 98 is posted for review now, and issue 689’s diff and screenshots have been posted as well. There are still some kinks in 689, one of the issues being “able to show and hide columns but after refresh, the desired results are not shown”. Tobi helped a lot for this issue as well (Credit for Tobi!). She also has to give a presentation at the end of April about MarkUs and will need to set aside time to prepare for that as well.
– Karen reminds us to post our presentation materials on the blog if we have them
– Jay has not too much to add to his punchline. He did regression testing for 656. Had assignments for his courses (309 and 373) which took longer than expected and packed up his week. Coming week, should be working more on 656 and hopefully get a fix by end of week. Karen reminds Jay to takes notes on his progress on 656, since it is a very important defect to fix (If Jay isn’t able to fully complete it, it would be a shame if all his work was lost)
– Christine worked on testing Markus’ restful routes. Gave credit to Tobi for mailing the list about the issue. She ran into an issue with localizations of routes and is receiving help from Severin via the issue tracker. Tobi offered to help Christine if Severin doesn’t respond soon (he is quite busy!). Discussion about ‘routing_filer’ and assert_generates/assert_recognizes, will take offline.
– Sean has nothing much to add to his punchlines. Been working with Aimen on 689. Also picked up a small issue and is almost finished with it.
– Danesh is finished up with all link_to/button_to_remote fixes, the last few are up for review. Got sidetracked by pagination issues, but was able to clean it up. Asked about the bug viewer dialog and if she thought if it would be best to make it an info dialog, Karen agrees. Danesh is also looking for a new bug, Karen suggests anything which will get us closer to rails 3 deployment! Tobi thinks MarkUs will be planning on a summer release, and Danesh thinks it needs more work but the end might be reasonable (Yay!). Tobi says that the list of Rails 3 bugs compiled at the beginning of the term are mostly done. Danesh tells Jay that his notes fix doesn’t quite patch Users-> Notes link to any student. Talked a bit about grace period deletions and he had to change the link to a button, discussed with Karen about this. Both of them agree that the deduction is not the right word used in grace period.
– Egor looked through the bugs that Tobi posted at the beginning of term, and it seems that 608 and 500 have not been worked on yet (not 100% sure about 500). For this week, he plans to continue working on finishing his API and encoding tasks. He implemented the suggestion that Severin made regarding encoding and only have unit tests left to do. He is worried that he might not be able to finish these in time as Severin has been very busy and he has two very big changelists. He added a feature so students are able to preview their submissions in the codeviewer, in case there are encoding problems and their work doesn’t display properly
– Difference between <%= and <% and between %> and -%>
– -%> removes white spaces at the end
– <%= suppose to be rails and outputs things like text fields, whereas <% is for outputting pure ruby, but Danesh has seen these used interchangably
– Tobi didn’t get to do much this week. Was able to put in a total of 4 hours over the weekend because he was sick.
– Hanson was late to the meeting because he had a dentist appointment. He put the search functionality fix onto review board, no reviews yet. Wants to know if searching by student username is the best way to search. He has thought about creating a dropdown with options (search by first name, last name, etc). Karen says that she usually searches by userid so what he has right now should be the right way. He mentioned that it took a while to figure out the query for TA’s so they don’t see submissions not assigned to them, would like sql/activerecord experts to look at his code to make sure it is correct. Wrote a blogpost about Aptana debugging and will perhaps write something for MySQL query browser as well.
– Karen revised last year’s poster yesterday for tomorrow’s Research in Action poster session for industry. She will post a poll for the final post mortem meeting and will try to schedule a markus party for the people that can attend (boo for UBC/SFU folks). This week and next will be the final week(s) that we are suppose to be working (but she won’t say no to volunteer help after term!).
– none, end of term, busy with other courses/assignment/projects as well
– review of #474 approved and ready to ship with tiny change
– played with svnadmin (to simulate repo creation) and csv file (to create student group) for #150, traced code to assignment.rb and started to modify it
– wrote my blog post but not finished yet
– ship #474
– submit #150
– finish my blog post
– workload of #150 hard to predict, will call for help if stuck
– Got the Columns filter to work, now you can select which columns from the modal to hide or show (with help of Tobi. Thanks! )
– Posted the code on reviewboard
– Fixed the CSS for Graders View and posted the screen shots on Review Board (please check it out and comment)
-Fixed Issue 98 and posted it for review.
– Can’t get the render to work properly, so if the page is refreshed the hidden columns wont display again
-Get the render to work so that the column filter works when page is refreshed
– Add user preferences.
- Shipped 722
- Read up on some regression testing to create tests for issue 656
- Wrote up the tests for it. Need to fix some problems for it.
- Started investigating the code to fix the issue
- Ship 656
- Work on another issue if everything goes okay 🙂
- Had 3 assignments due today so could not spend as much time this weekend as I wanted.
-Picked up 664, ran into issue with localized routes. See my comment
on the issue tracker
-Continue 664, write tests for all RESTful routes
-Still stuck on 248, a lot of it already uses machinist, and I’m not
quite sure what to convert…I hope writing the route tests, which are
simpler will help me understand the assignments test
- Picked up issue 725, and made good progress- just about ready to post a review.
- continued working on issue 689 with Aimen- we posted a review for the work we’ve done so far.
- Continue working on issue 689.
- put up a review for 725
- finish up and post a review for 570
- Ran into some troubles with 689.
- Fixed pagination issues, modified the current setup a bit (somewhat unrelated to link_to_remote replacement).
- Finished fixes for link_to_remote and button_to_remote, all of them should be cleaned up by now.
- Added tests for routes I modified/created to check the HTTP verb.
- Continued with other prototype helper functions that need replacing (so many more..).
- Bug Viewer: Modified modal, considering proposing it be an “Info” dialog instead of “Bugs” and that the “about” dialog’s icon be changed.
- Continue with prototype helper replacement.
- Post changes of bug viewer for review.
- Wrap up or find a new bug?
– worked on #338 in response to Severin’s changes
– added/modified a lot of the screenshots and changed the way that students may download/preview their files
– finished the POST/PUT part of the assignments API…only unit tests left to do now
– finish my remaining tasks… probably no time to pick up anymore
– waiting on Severin to get some free time to do my reviews
– Updated the review for 339 after Severin’s comments
– Helped Aimen and Sean on the user preferences issue
– Finishing off the tests so that issues 697 and 704 can be closed
– Picking another issue to work on
– Was really sick Friday-Sunday so didn’t have time to finish off the tests
Another article that might be helpful if debugging in an IDE is completely new to you (pertains to Java in standard Eclipse IDE, but the basic controls are the same for debugging Ruby in Aptana).
– Started looking at the search functionality issue 523, but didn’t spend too much time on it yet.
– Wrote blog post! on link_to() vs. button_to()
– Reviewed code, helped with Jay and Severin on issue 722
– Dive more into search functionality issue
– Was busy this week but happy to get blog post done
– issue 298 shipped and closed
– issue 721 picked up, fixed, shipped (error checking with add section modal)
– issue 648 still working away discussion is underway with Severin, but he is quite busy
– issue 648
– pick up a new issue
– blog post
– midterm this Thursday, probably won’t be spending too much time on MarkUs until the weekend.
– After getting feedback from Severin, continued my work on #474. Checked official guide and online posts to look for a method to create one custom validation that can validate different attributes in different model. Finally made it and submitted my code. Now on review board.
– Looked into code for #150, but didn’t make much progress
– Planning to write a post about intro to unit tests with ‘shoulda’
– get feedback from review board, make change and ship #474
– start to code for #150
– write my post
– Researched about unit testing for issue 656
one of my issues so worked on a fix for that
– Write regression tests for 656
– Find a fix for it
-finished summarizing Ch3-5 of RoR tutorial book
-studying NelleV’s fix for #257, trying to do similar for #247
-continue work on #247, first figure out shoulda contexts and then convert from fixtures to machinist. Was confused at first because some places in the test already uses machinist.
-Working on 689, and making progress! we got lots of help from Danesh, Egor, and others!
-Didn’t have too much time to work on issue 570, or 617 this past week due to midterms and many assignments (csc 488, 384, and 343 >.
-Continue working on 689
-Start on issue 570
-fix up my issue 617, and post an updated review
-Should be a really productive week!
-Aimen and i got stuck with issue 689 many times, but we continually probed others for help! I feel we’re making good progress, AND i’m learning lots about rails all the time 🙂
- #644: Replied to reviews, starting implementing changes.
- #475: Continued with replacing some old functions. Added tests for the routes I have modified and replied to the comments on the reviews.
- Helped Aimen and Sean with their column filter issue. Reviewed the new issues for duplication.
- Post test for manually collection of submission for review.
- Update review for prototype helper
- Submit new ideas for bug tracker
- Fix up some of the accidentally escaped HTML floating around MarkUs
- Not much time this week.
-Working on issue 689
-tried a few methods to hide or show columns, first by redrawing the entire page, but got stuck there as we were not suppose to render it but redirect_to it
-Send an email to markus-dev asking what everyone would suggest would be the best method to implement this, Egor shared his idea about implementation and now trying that out.
– Finish completing hide / show columns
– Got stuck with rendering, Danesh and Tobi helped. Thanks guys! 🙂
– Functions not being called properly, so had issues with routing
– opened: 731, 725, 723. These will definitely need people to look over them and give their opinions. These bugs are based on the usability problems with MarkUs.
– cleaned up and partly finished the changes for https://github.com/MarkUsProject/Markus/issues/303 This bug is not assigned to me, but I have done some research and work on it, in the past.
– spent most of my time working on #338 this week. I have also modified the Graderview UI and some other minor bugs, as a part of my changelist. Full list of changes may be found: http://review.markusproject.org/r/1210/
– work on #705 and send finish #687
– need reviews: http://review.markusproject.org/r/1210/
– Stuck on getting the routes for issue 704 to work. Couldn’t get much help from the Ruby On Rails IRC channel either
– Need more reviews for Issue 339
– Wrote unit tests that tests releasing marks as an admin, and viewing the marks a student as part of issue 704
– Finished updating the pull request for 669
– Logged issues 728, 729 and 730
– Getting help on the routing issues for issue 704
– Seeing the issue through reviews
- Finished redacting the final report
- Presenting our work to our supervisors and Guillaume Moreau on Monday, the 26th
- Responded to the pull request comments
- Finalizing the pull request
The Ruby on Rails Tutorial: Learn Rails by Example book by Michael Hartl teaches Rails web application development by working through development of a sample microblog application. While going through the tutorial myself, I found it easy to get lost in the details of the sample application, rather than distilling and retaining key ideas needed to work on Markus. This post is a summary of those points extracted from the book, in order to act as a companion to the book.
Quicklinks within this post
Text beside each chapter number are key ideas from chapter, not the chapter’s actual title (which I find don’t tell much about what is taught in each chapter)
Chapter 1 Setup: Ruby, Ruby Gems, how to start rails server.
Chapter 2 Use Rails commands to quickly generate demo app. Also introduces MVC & Rail’s ApplicationController and ActiveRecord classes.
Chapter 3 HTTP Requests, HTTP Response codes, Layouts, Rspec
Chapter 4 Ruby Language Fundamentals
Chapter 5 Partials, Layout links, Rails Routes
This term I spent a lot of time working on removing some of our legacy code that involved using the Prototype helper link_to_remote(). The recommended way in Rails 3 is to use the standard link_to() which itself has support for :remote calls. During my work here, I stumbled along a couple of problems which actually forced me to dig deeper and learn more about recommended practices.
In particular, I want to write about the recommended/proper usage of link_t0() versus button_to(). Although at first glance they might seem like they do similar things, they actually are quite different fundamentally, and should be used for different operations.
Notes: If you decide to change a link_to() to a button_to(), make sure that it is not already in a form. Because button_to() generates a form, the nested forms will result in erratic behaviour.
All in all, the main lesson to take away is that link_to() should be kept to GET requests / application navigation, while button_to() is more suited to data modification (POST, PUT, DELETE). There is a reason why link_to() defaults to GET, and button_to() defaults to POST !
Karen reminds us that today is the 4th to last regular meeting, and we need to start thinking about the end of the term.
- Sean has some issues going through review, and has started to work on issue 570. He is continuing to make progress on 689 with Aimen, with help from Danesh.
- Aaron finished adding assert_recognise test for his action thanks to Jay’s example ans is almost done with issue 648.
- Hanson has started on the search functionality, and still has to work on his blog post.
- Sky is relived to have finally accomplished work on 320. He has learned a lot on unit tests in the process. Now he has moved on to 474, and 150, in which he is on the investigation stages of. He talked to Karen for 150 and is grateful for the reply.
- Danesh got the bug viewer up and running! It is up on review board with screen shots. He used the RJS way for the modal, discussion on this can be done on review board. Some of the links he had fixed before broke again, there is some no-route issue which needs to be figured out.
- Jay was sick last week, this week he will work on 656. Christine was not able to recreate the issue, but she was setting the due date to 1 hour ago and then collecting right way. Jay will try setting the due date, and then collecting the next day. Karen notes that when a grace period is set to 0.25 hours it will be actually set to 15 minutes, and has experienced the bug in the past week so she can come up with scenarios to recreate if needed. This week, Jay has also written a blog post on Rails Named Routes. Karen wonders if routes are especially tricky in Rails. Jay says that it is best to see how routes are defined in routes.rb
- Aimen got past the render problem this week, thanks to some help from Danesh. She implemented the modal, so now she will be working on showing and hiding columns before moving on to user preferences. She has started implementing user preferences on the submissions table so that the user (admin) can choose which columns show on next login.
- Christine has been working on a blog post that summarizes Ch1-5 of the Ruby on Rails Tutorial by Example. The issue she worked on last week, 695, on cookie detection has been pulled to upstream.
- Egor does not have much to add to his punchlines (see the blog), except for his encoding task to display student assignments using UTF-8; but odd encodings still manage to break the grade view. Egor proposes to give the student a warning if they are not using ASCII or UTF-8 during upload, Danesh warns that some students may not know how to convert files. Severin clarifies that his suggestion was to display the current encoding to the grader, and give the option to switch. Egor will research on the proper way to provide the functionality – autofill or textbox with example pattern.
- Tobi is working on tests for the releasing and viewing of marks by admins and students respectively. He is also helping Aimen with refreshing the page after user preference columns are selected.
Karen thanks us for our work, and notes that we can go review someone’s code when we are waiting for our own code to be reviewed. There is a Western Canadian CS Ed Conference, if there is any students (current/former) in Vancouver around May 4/5, let Karen know. The last day of UCOSP is around the last week of April 2, marks are due April 13. Welcome to continue work on Markus after term is over.
- Posted issues 617, 651. 651 is ready to ship!
- Picked up issue 570
- Continued working on issue 689, now working on hide/show columns
- Keep working on 570 and 689.
- need to learn more rails
- Had presentations and interviews this past week, didn’t work on MarkUs stuff until latter half of this past week
- Completed issue 298 – waiting for final review (review has been updated with the new diff for about 4 days or so, but hasn’t been reviewed yet)
- issue 648 – I have a fix which seems to work, but it is currently failing some of the rake tests, will need to read and understand more about the test that are failing
- Get one of the lead devs to review298 so I can ship
- Have issue 648 submitted by midweek
- Pick up an issue with harder difficulty =)
- None for this week
- Two bug fixes implemented this week – 661 (JS Errors when creating assignment) and 691 (Fix edit/remote annotation links in Grader View)
- Review people’s code
- I am assigned to the RFE for search functionality in submissions view! I think this will be really interesting to work on. Issue #523
- Ship my 3 issues sitting in RB
- Not blocks but waiting for code to be reviewed 🙂
- Finally shipped #320 with four more test cases added. Yeah!
- Stuck on #474. Posted a comment under the issue and still waiting for reply
- Investigated #150. Looked into the code, discussed with Karen about some unclear part and then made my plan. Seems to be something fresh to me.
- Definitely need to learn more.
- Get through #474 and submit it for review
- Get familiar with MarkUs’ svn repo mechanism as well as csv file format
- start working on #150
- #644: Posted a review for bug tracking tool within MarkUs.
Everything went smoothly, check the review for screenshots.
- #475: Ran into some trouble with a link_to that I had already fixed.
I had this working 2 weeks ago but now I’m seeing a mysterious route
issue. Continued with other fixes, still working on pagination.
- Helped Aimen, commented on some reviews and closed off some submitted ones.
- Continue with the fun that is replacing the prototype helper.
- Post reviews for the things I’ve completed already.
- Post my test for review.
- Catch up on MarkUs blog posts
- Seems that whenever I double check my links, half of them are broken
again. I’m not quite sure what some of them are, it might be the
tweaks coming in from a new master merge.
- Closed issue #602, #684
- Wrote a blog on Rails named routes
- Helped Aimen research about modal dialog implementation
- Started investigating issue 656
- Continue to work on issue 656
- Find and fix another routing issue
- Really sick these last few days so didn’t get to spend as much time on
issue #656 as I wanted to 🙁
- Continued working on issue689.
- Implementing the Hide/Show columns
- Was able to add a global variable and hide or show columns was working, now to connect the check boxes in the modal to the columns
- Implementing the link between checkboxes and show/hide columns
- Implement User preferences
- Fix and ship issue 98
- Had issues with “render”
- Took a couple of days figuring out the right files that were being rendered, got helped from Danesh.
- Worked on stringing disjointed notes into a blog post summary of the
RoR tutorial ch1-5.
- Closed #695
- Finish blog post (up to Ch2 so far)
- Continue work on #247
- Had to reopen 637 for myself as I realized that I had made a mistake on a small part. I had rolled back the changes and fixed the problem.
- Worked on 308. Will need further discussion to decide on the best solution.
- Spent time working on the syntax highlighter. Will commit my work for future soon. More detail in my email.
- finish my 3 assigned tasks…may be interested in #608 if I finish early
- Closed issue 647
- Opened Pull request for issue 669
- Finishing off the unit tests for 697 and 704
- Reviewing issue 339 (waiting for other devs to comment)
- Getting a ship it for issue 339, 697 and 704
- Putting up a review for a wiki update to reflect changes as a result of issue 669
- Working on a new issue
– Building a simple interface to launch a plagiarism detection
– Problem with Markus who stopped working again.
– Keep building a simple interface to launch a plagiarism detection
– Add buttons on existing pages to launch a detection
– Waiting for the feedback of the tutors about the last version of the book of specifications
– Problem with Markus who stopped working again.
– Taking into consideration the next reviews of the tutors about the book of specifications