Archive for September, 2014
- address comments on rpsec pr and resubmitted pr
- submitted a pr for issue #1701 (download all files button not working, include annotations not working for single file downloads)
- address any comments on two outstanding prs
- start working on submission tagging project
- code investigation, how to interact with database
- what steps need to be taken to display table?
- what steps need to be taken to insert tags and associate it with a submission?
- learning more ruby/rspec
- testing issue #1722
- addressing Hound comments on issue #1722 and AssignmentFile spec
- finish testing issue #1722 (i.e. issue #1799)
- get a feel for React tables
- begin conversion of table in Repository view to React
- Submitted a fix for issue #1726 (https://github.com/
MarkUsProject/Markus/issues/ 1726). This issue was a stylistic problem where upload buttons would remain enabled even when a file was not selected. Now, a jQuery script was written that only enables the button when a file is selected. This change was implemented across multiple modal dialogs.
- Started working on the back-end for the new assignment tagging system by creating model and controller Ruby scripts for the tags. With this, a schema was created to illustrate what data needed to be stored and the relationships between the Tag model and other models.
- A major roadblock was understanding how Ruby on Rails stores data using ActiveRecord. This roadblock is still ongoing but the issue is starting to make more sense.
- Getting a simple working model and controller implemented for the Tag feature. Although it won’t have full functionality, it will serve as a starting point for implementing the tagging feature.
- Attended the Code Sprint in Toronto!
- Submitted pull request for rspec tests.
- Worked on the CSV large file upload issue (#1766).
- Started researching pdf annotation improvements.
- We were going to try and setup a VM similar to the production server so that the CSV issue and be replicated and logged. When that is complete I will continue trying to resolve this issue.
- Write a blog post regarding the state of web annotations on PDF’s.
- Create prototypes of the PDF annotation feature with PDF.js to determine the feasibility of a new annotation system.
- Attended Code Sprint
- Fixed issue #1768 (API for adding users doesn’t work for REMOTE_USER_AUTH)
- Fixed issue #1718 (Submissions table missing asset)
- In the process of becoming an rspec master.
- Started translating the assignment rake test to an rspec test.
- Also thoroughly going though the assignment model logic itself; added association options and attribute contraints
- Attended Code Sprint
- Fixed issue #1714 (“Reset API Key” button causes help text to show )
- Fixed issue #1655 (Adding two flexible criteria *WITH SAME NAME* silently fails)
- Started Mark model rspec test
- Continue working on Mark model rspec test
- Make a plan for what need to be changed for the upgrade
- Attended the code sprint in Toronto!
- Fixed Issue #1959 Spreadsheets “Select: All” button doesn’t select all
- Changed spreadsheets to bigger page sizes
- Continue working on Issue #1920
- Expand on rspec for group model
- Write questionnaire for Dashboard usability study
- Attended the code sprint in Toronto and met the rest of the UCOSP participants!
- Fixed Issues #1728 (Can’t upload hidden assignments) and #1729 (Spreadsheet csv shouldn’t require “”).
- Created an rspec test for the Annotations model.
- Continue working on Issue #1726 with Nathan.
- Begin to explore a feature to allow TAs and admins to tag assignments. Currently exploring different options on how this can be carried out. See feature #8 for more information.
- Attended the code sprint in toronto
- worked on my assigned rspec tests
- got my development environment set up
- Finish off issue #1763
- start transitioning from prototype to jquery which is issue #1496
- Attended code sprint in toronto
- finished off first issue
- started working on issue 1726 and 1701
- created rspec test for image_annotations
- address pull request comments on rspec tests
- continue working on issue 1701
- The development environment for the MarkUs Project was setup using Vagrant and Ubuntu 13.
- Submitted pull request #1750 (https://github.com/
MarkUsProject/Markus/pull/1750 ) for a fix to issue #1728 (https://github.com/ MarkUsProject/Markus/issues/ 1728). This issue was a bug that improperly formatted hyperlinks on the assignment dropdown for assignments marked as hidden. To test the fix, several new assignments were created and marked as hidden. The assignment sidebar worked properly for all these new assignments.
- There was some trouble setting up Vagrant and MarkUs on Windows. To get around this, Ubuntu was installed and MarkUs was set up on this environment instead.
- Getting ready for the UCOSP code-sprint in Toronto! Working on new issues and fixing bugs.
- Setup a stable and usable virtual machine running to develop the application in. I had Vagrant running almost immediately and MarkUs shortly there after. However I then noticed that while the application was running in Vagrant there were very long page load times (20+ Seconds). Instead I imported the the VirtualBox machine into Parallels. That improved page load times to about a 1 – 5 seconds on average.
- I fixed Issue #1493 and submitted a pull request. This was a problem with how totals were displayed and updated in the marks spreadsheet.
- I noticed the “total_grade” column is managed in ruby and am unsure why this value is being calculated server side and having to be managed manually when it could simply be a calculated SQL column. I have filed an issue (#1762) in regards to this.
- If Issue #1762 is approved I would like to fix that issue.
- Complete some more tasks/issues. Possibly some of the spreadsheet related items since I now have some experience working with that component in the application.
- Attend the Code Sprint!
- Set up development environment. There was trouble setting up MarkUs on Windows 8.1 so Ubuntu 14.04 was installed and it is now working fine.
- Familiarizing myself with Ruby and Git.
- Work on Issue #1759.
- Fix Issue #1759, test and submit pull request.
- Head to Code Sprint in Toronto!
- Fixed Issues #1746 & #1748. Pull requests have been accepted.
- Determine why some rake tests appear as failing for my environment. Potentially create a couple of issues — depending on their validity — and pick up more issues to tackle.
- Set up dev environment. Have a fix for issue 1730
- submit pull request for my fix
- Set up development environment.
- Read development guideline and other documentation of Markus
- Submit pull request of issue-1735
- More reading and prepare for the Sprint.
- Wait for feedback of the pull request.
- Setting up the development environment. Had some issues dual booting Linux Mint 17 and Windows 8.1 and had to format/repartition my poor laptop 4-5 times (all is well now).
- Reading up on Git and Ruby tutorials
- Reading developer guidelines for MarkUs
- Continue getting familiar with Ruby, Rails and MarkUs
- Get assigned an issue to work on
- Attend Code Sprint!
Alex & Mark
- Solve issue #1456 which is related to SVN repo creation issues (which is a good primer to our main project listed for next week)
- Continue our investigation into how Git has been integrated so far into Markus on the Git branch and assess the contributed code for quality before adding more.
There was a lot of work done on MarkUs this summer. (Thanks David, Lawrence, Eugene, Ealona, Su, Mark, and Angelo!) The strange thing about getting lots done is that it is more obvious what needs to be done next, so I have a long list of potential projects for the fall.
1. React tables for spreadsheets, repo browser, and refactoring #1696 (large)
This summer Lawrence made some major changes to how tables are implemented in MarkUs. The biggest change was to use the React JS library to implement the tables. This got rid of a lot of Prototype code, and made it possible to do better sorting and filtering on the tables. Two tables remain to be converted: the repo browser and the spreadsheet. There is also some refactoring work to do, now that we know better how React works. Also, there is some remaining styling work for the new tables.
2. Get rid of the rest of Prototype #1496 (small)
3. Git backend #1698 (large)
MarkUs stores student submitted files in subversion. Instructors have the option allowing students to submit files through the web interface, or may disable the web interface and require that students use subversion directly to submit their work. One repo is created per student or per group, if groups are allowed. Each assignment is a directory in a repo, and MarkUs tries to reuse repos where possible.
We are in the process of adding support to store student submissions in git repos, while at the same time maintaining support for subversion. Because git and subversion have quite different models, this task is more involved that it first appears. Much work has been done on this in the past; new students will spend some time reviewing the existing progress for this feature.
4. Refactor the Admin Dashboard #1668
Reloading the graphs takes too long and isn’t really necessary (medium)
The Dashboard view has graphs that show the mark distribution for each assignment. They take some time to load and aren’t really that useful to the administrators. It is nice to get some summary information, but we need to rethink what the best summary data is to display and how to do it. This will be partially a UI design project since we need to rethink the purpose of the dashboard view and what information is most useful to display.
5. Rails 4.0 upgrade (medium?)
Mark Rada began the work of upgrading from Rails 3 to Rails 4 this summer. He did some great work on strong parameters, but there are other parts of the upgrade process that still need work. This project would be a great one for students with some understanding of Rails, and have an interest in how the Rails framework works.
6. PDFs – is there a better library to use? (research: small; implementation: large)
Students may submit PDF files. MarkUs converts theses files to jpegs (using Ghostscript) so that the images are a fixed size to facilitate annotation. It is time to do some research to see if better options are available. The goal is to maintain support for annotating PDF files without needing to convert the files. Actually switching to a new PDF option will probably require multiple terms/students.
7. Rspec tests (large, but an ongoing effort)
This summer saw a major effort to change to Rspec tests. Ealona and Su wrote a guide to writing Rspec tests, and have done a fair bit of work implementing some Rspec tests. A goal of this term is to have everyone on the team write some Rspec tests. It will be a good way to really learn what the models and controllers are supposed to do, and will move the project forward. We plan to set aside a few hours at the sprint for writing tests. There are some outstanding Github issues related to missing tests that can easily be closed with some work.
8. Tagging student submissions #886 #325 (medium?)
This is a feature request that we hope will satisfy several use cases. Instructors and TAs have asked for a way to flag assignments to bring them to someone’s attention. TAs have also asked for a way to categorize the submissions so that they can do a quick first pass over them. The ability for adding general tags to student submissions will hopefully solve a number of these kinds of issues.
9. Summary page of all the marks for all students (smallish)
There is currently no view that combines marks from all of the different assignments and spreadsheets. This table would look a lot like the Submissions table or the Summaries table, but would have one column for each assignment and spreadsheet. A new feature would be a way for the administrator to specify a weighting for each piece of work to produce a total. (Good for someone not familiar with Rails.)
10 MathJax support for annotations? #285 (medium?)
It would be nice to be able to use math symbols in annotations. The MathJax library seems to be what we want, and some work has been done on this.
11. UX Refresh of the submissions table (Includes #75) (medium)
We haven’t taken a serious look at what is in the submission table for a long time. For example, we probably don’t need the “can begin grading” field. We would also like to be able to show the grader(s) for each group.
12. Section due dates don’t work #1676 (small)
Some courses would like to have a different due date for each section. This feature seems to have numerous problems with it. There is also a proposal to change the UI for how sections are added.