Archive for the ‘Developer Essentials’ Category
Rafael S. Padilha:
I started to search and read about the git backend.
I’ll continue to study/understand the git backend and I’ll begin to work with Zach and Tiago on it.
Was able to implement a walker such that it can find commits based on time as well as files based on time.
Integrating it such that it can be tested from a test file.
Make up for the week I missed due to final assignments.
About finished functional spec for tagging.
Wrap up and finish spec.
Gillian & David:
Try to finish figuring out exactly what is going on in issue 1404 and make a fix for it.
Continued work on #1402. Worked with Andrew and Sheng on finishing the functional specs for the tagging system.
Put the final touches on for the functional specs with Andrew and Sheng before our semester ends.
Finish some pull requests unfinisheds
I updated my svn but shared libraries were not updated. I had to revert the instalation of svn.
This week: Started working on #1379 and found a bug and created issue #1402. Began working on this issue as well. Met with Andrew and Sheng and began writing specs for the tagging system
Roadblocks: Everything was cleared up in the meeting, no current roadblocks
Next week: Meet with Sheng and Andrew again to finish up the specs and post them to the blog. If time permits (exams are close), continue work on the issues above.
- Fixed issue #1340, escaping characters that get interpreted in HTML when viewing the content of student submissions on the browser.
- Logged issue #1404,
- In Master, the Submissions File Manager displays an empty list when there are submitted files (issue #1404), so I spent some time trying to get around that and doublechecking that it was not an error on my part before going to 1.0.x where it did work.
- Will work on fixing issue #1404
This week: Discussed implementation for the tagging system further and started writing a functional specification document to use for implementation.
Next week: Continue working on document and work out design issues that arise
This Week: Create mock up ui to display a view of all of an individual student’s work.
Roadblocks: It took quite a lot of time finding files/objects/methods relevant to a page.
Next Week: Crate a stedent’s work view
This Week: Resolved previous confusion regarding open and close methods for Repositories and the git implementation (no real change in the implementation) as well as figured out the time-based methods that were causing issue for the previous term students
Roadblocks: Last week(s) of school are causing a fair amount of other-course-work that has detracted not only from available time but also quality of time spent.
Next week: Catch up on this week’s work before the official “end of term”
This summer: Continue working with Rafael and Tiago on the git backend
-Fixed lag and animation bugs (issue #1405)
-I have a lot of assignments and tests from other courses, so it is hard to find enough time to work
Cornell is on Spring break next week, so we will not be working on MarkUs and will continue the week of April 7th.
- Had significant trouble running MarkUs after the latest pull. Had to manually install some gems, modify my gem file and migrate the database changes.
- It may be helpful for people to communicate any major changes and potential impacts to others
- Had a little trouble with pulling the latest version of Markus, but was able to fix it by re creating the database.
- Trouble understanding prototype and how jquery is integrated into Ruby on Rails but was able to get it working.
- Try to run the newly pulled Markus. (Still failed).
- Reinstall Ruby Gem and still failed.
- Help working on the help system together on Ope’s or Alex’s computer.
- Finally able to run Markus after reinstall everything.
- Unable to run MarkUs after pull the latest version from GIT. After pulling, we need to do bundle update / bundle install that always fail with an exception.
Here is a sample page with the current implementation:
The first picture shows when the help button in the properties section has not been clicked, then when it is clicked it will display text boxes next to the fields that need them. Please let us know what you think and what we should change. Also any ideas for color/style of these text boxes.
Here are sample images for the Help System on the Create Assignment page:
1. Normal Page:
Note: We put a question mark on each section that will display the message when a mouse hovers over it.
2. On Hover:
Note: The message will be displayed to the left of the icon.
Please feel free to give us feedback. Thank you.
Since I managed to miss a week, you can add your status reports below (in no particular order). You might want to prepare it first so that you don’t spend a long time editing in case that ends up stomping on someone else.
This Week: Stamping out small bugs in testing the git-related functions. There are small differences between how the gems for interfacing with git and svn and since the initial base for the git_repository was a copy+paste of subversion_repository they are hard to find.
Roadblocks: Unclear documentation
Next Week: Continue on this path.
This Week: Working on a view of all of an individual student’s work. I created a link from the view that shows a table of marks for each assignment and display a new page.
Next Week: Display the view of student’s work.
This week: Finished, and submitted a pull request for #1310. Updated the wiki for setting markus up on linux, to include a step I found that was missing and submitted a pull request for that as well. Worked Together with Andrew and Sheng to further discuss the design of the tagging system as well as watch a railcast video on tagging.
Next week: Continue work with Andrew and Shenglong. Look into some bug fixes, if time permits.
This week: I have been working mainly on the tagging system with Jeremy and Sheng. We’ve watched a railscast about tagging and have been brainstorming the best ways to get this system implemented.
Roadblocks: I have only had time to work on the tagging system due to 4 of my courses having presentations due for the next two weeks. This requires a lot of preparation as they are group presentations so I find myself running around campus all day.
Next Week: Continue work on tagging system and hopefully finish up the duplicate annotation issue.
This week: Met with team and watched a railscast video on tagging. We’re in our design process now, and have been figuring out how to get this implemented.
Roadblocks: Time, mostly. Crunch time is about to end though.
Next week: Continue design and formalize more details
This week: Fixed two issues for #1343 where use couldn’t enter grades after moving through pages and when pressing tab would raise an alert. Raised a usability issue where pressing Enter would release grades.
Roadblocks: Time since this is a very busy week for me and needing to understand JS functionality to fix some errors
Next week: Fix the bug I raised or fix another bug, if I can find the time.
This week: Installed Linux Ubuntu on Macbook to dual boot to have an easier time testing MarkUs. Finished solving issue 1375, but thinking it was already assigned to David, did not post a comment. It was taken and solved by Ope while I was waiting to conduct more tests to make sure nothing else was wrong with Download on spreadsheets.
Roadblocks: Lost a bit of time in the MarkUs installation due to running into the usual issues with svn core, which David found how to fix in 3 steps, however the link for subversion.1.8.5.tar.gz that we had was not up anymore. After this, had issues due to variables JAVA_HOME and PATH not being configured.
Lesson learned: Always make sure other developers know if you are working on a specific issue.
Next week: Fix spreadsheet bugs raised by David and I during the last few weeks.
This week I worked on the Help System with Ope and Chris. We worked on getting the create assignment page working, which will be a sample of how the system will work.
Next week we will continue working on the help system and hope to get feedback from the blog post.
Reviewed the fix made for issue-1032 and came up with a better solution that did not require a page refresh. Updated the pull request and the changes were merged successfully. Fixed issue-1375 which is a minor change. Worked with Alex and Christopher on the help system for the Assignment> Add Assignment page as an example.
We’ll be working on the help system.
This week we worked on the help system and we have a sample page up on the blog. We hope to get some feedback for the Add Assignment page.
We’ll continue on working on the help system with more sample pages up.
This week I worked on some issues:
- issue #1388: the problem was solved, tests created. However, new bugs were discovered. I’m still studying was this happens.
- Issue #1324: The use of vendors/plugins is depreciated, I was working on 3 plugins. Calendar, ssl_requirement, auto_complete.
- Calendar: solved
- SSL_requirement: I solved it, but I discovered that there was no functions being called. So this plugin was removed.
- Auto_complete: I didn’t manage to make it work and I believe the one that we have in our code is not working too. Removing it could be the best solution, if it is not useful.
- I was studing issue #765, I lost 3 hours making the upgrade, but in the end, I discovered that the new version is not working as it should and the repository is dead. So, talking with bejamin we decided to close the issue, but he has his branch with a few tests not working.
Next week: talking to Karen about the project I’ll be working on during my term and work on the bugs found after issue 1388
This week I have finished my revision on the portuguese translation and I’m stuck on a bug involving the behavior of hiding assignments from students (issue #1357).
My next steps are fixing this bug and either getting another issue to work on or talking to Karen about the project I’ll be working on during my term.
Andrew Hernandez, Shenglong Gao and myself have started the design stage of tagging assignments.
On a project of this scale, many assignments get submitted; often, the administrators are in need of additional organizational options. Thus, we are starting a project with the intended goal of providing administrators with the ability to tag assignments with one or more tags in order to keep assignments more organized when it comes to searching for them. We are currently thinking that tags should be chosen from a list that the admin makes, as this would result in less errors compared to typing the tags manually.
For example, if an administrator wanted to search for all assignments that are related to Java and Arrays, the administrator could simply run a search and look for all assignments with the tags Java and Arrays. The search would then produce any and all assignments meeting with both of those tags present. This would improve organization, and allow for faster usage and a better over all user experience – something that is severely lacking in traditional marking systems.
This type of addition would instantiate a higher sense of organization to the MarkUs assignment structure. This system is in a very early stage of planning, and we are currently still deciding on how to begin the development as well as how the system will work in its entirety. If there are any suggestions on how to proceed, please feel free to comment!
Here is a video we found that we watched to gain a background in how tagging may be done:
Continue on help system implementation. We will have a couple sample pages by next week for people to look at a critique the system.
- Worked on issue #1032 with the team (Chris and Alex), and submitted a Pull Request for the fix we came up with. The request is pending review.
- Worked on issue #1219 with the team. Pull request was created and merged
- Started working on the help system
- Starting worked on issue #1378.
- Worked on issue #1219, where the sections were not ordered correctly under Assignments > Edit. Now the sections are ordered by due date and if due date is assigned the sections will be sorted by the title.
- Worked on #1032 and reviewing a fix for issue #1378
- We also started working on the help system
- Worked on issue #1032 and submitted a pull request..
- Worked on issue #1219 and submitted a pull request.
- Worked on issue #1378, where the sorting (by last name, first name, etc.) on Mark Spreadsheet Grade pages doesn’t work.
- Started working on the help system.
David Das and Gillian Chesnais
-Fixed problem that prevented us from running tests
-Added functional tests to our fix for #1376
-Worked on #1375 and figured out where the error is, but not how to fix it yet
-Figuring out functional testing syntax for Rails
-Figuring out the exact fix for #1375
-Ton of work from other classes
-Going to fix #1375
-Do regression tests on rc1
-Fix more bugs than usual to make up for lack of bug fixing last week
This week: Fixed problem that was occurring with git pull upstream master.
Roadblocks: The solutions I found never ended up working and I had to reinstall my virtual machine. I was able to get the more recent bundler version doing this, and now everything works.
Next week: Submit pull request for #1310, Submit pull request for wiki set up page, and work with Andrew and Sheng more on implementing a tagging system.
This week: working on issue #1324
Roadblocks: Autocomplete plugin does not work as it should on markus, I still confused if it is really working.
Next week: solving some bugs and commit fix to #1324
This week I was travelling, as I’ve told Karen, so I haven’t worked a lot. I’m going to finish the Portuguese translation and get one of the issues I’d worked at the Facebook weekend ready to be merged to the repository.
- Worked on issue with duplicate annotations
- Worked on reproducing a bug I noticed
- Really busy week since a lot of deadlines are incoming in all my courses
- Decide which project I will work on with Shenglong and Jeremy
- Continue work on issue
- Send in bug report if I can reproduce the bug
We will try to finish issue #1032 but this issue is much trickier than it seems at the first glance. We will start working on the help system.
- Created an issue (#1380) identified while on the User’s tab
- Fixed the issue and created a pull request (#1384) that was merged successfully
- With Tiago’s assistance, installed MarkUs on a Linux machine running Ruby 2.0 in order to validate changes he made. I will assist him at a later time in updating the Installation Steps
- Reviewed issue #1032 with the team (Chris and Alex), and identified the cause of the error not being displayed. We came up with a temporary workaround. We will work on a permanent fix.
- Helped work on issue #1032 with Ope and Chris.
- Started looking into issue #1301 and was finding possible other errors related to it.
-Was having trouble replicating the exact situation of issue #1301
- Mostly work on issue #1032. We manage to find out the cause of the problem and found some other bugs while fixing this issue. Now we are able to show the error message but not in the right way. One of the problem is because they call a method that has been deprecated and we finally figure that out.
- Start looking into issue #1301
- There is a method call that doesn’t exist anywhere. After working on it, we finally figure out that the method has been deprecated but still being called.
- I worked on issue #1367,#1373 and on the portuguese translation of MarkUs.
Next Week: Continue to make markus work with ruby 2.0
The MarkUs help system is a way for helping users understand the functionality of MarkUs. The help system will contain embedded documentation in the website. The help system will use both hovering function over text and also will have tool tips throughout the website. The tooltips will be a little picture of a question mark next to certain text or tabs or input boxes. When the user either clicks or hovers over the tool tip a box will appear telling the user the functionality of the specific element. We are also considering giving the user the ability to turn on and off the help system. This could be useful if a user is comfortable with MarkUs and does not need to see the extra dialogue.
We would like to make it so the help system can easily be changed when a change to the system is made. For this we feel it would be best to separate the actual text that will go into the embedded documentation from the pages themselves. We will store the text in a file and reference the sections that way. This implementation would be done much like the multiple language feature that exists. This will make it much easier for future developers to edit the tool tips if functionality changes or even add new tool tips by following the same design.
Here are some websites that we would like to base our system off of.
The following is a list of where we believe the help system could be useful.
When an admin first logs in they should be able to hover of the tabs for a short description of what is under each tab for example the assignments tab could display “Review and Create Assignments”.
Within the tabs there are many sections and elements that could have documentation to help the user. Here is a list of some places where extra documentation can help.
Under the Assignments tab:
- On choose assignment page:
> Upload and download button on the top right: display message on hover.
> Add Assignment and Add Marks Spreadsheet: display message on hover.
- On Add Assignment page:
> We will put a small icon (for example: ‘i’ icon) on the right side of each textbox that will
display the message when the user click on it.
> Some of the sections (Marking scheme, required files, etc.) will have the small icon on
the section’s title that will display the properties of each selection.
- On Assignments > Settings > Marking Scheme:
> We will add more stuff into the “Help” text box
- On Assignments > Settings > Annotation:
> We will add more stuff into the “Help” text box
- On Assignments > Settings > Text Framework
> We will put a small icon on the right side of each section that will display the message
when the user click on it
- On Assignments > Groups and on Assignments > Graders
> The message will be displayed when the user hover onto the title of each tabs (for
example: All groups, Valid, Not Valid tab)
- On Assignments > Submissions
> The message will be displayed when the user hover on the button or the “title” (for
example: collect all submissions, csv report, etc.)
Under the Users tab:
- On Users > Students:
> We will have a small icon next to the title (Manage Students). The message will be
displayed when the user clicks on it. This message will explain the actions (Bulk
action, Give grace credits, Add Section, Mark active and Mark inactive)
- On Users > Students > Edit Students:
> We will have a small icon next to “Grace Period Deduction”. The message will be
displayed when the user clicks on it.
Under Assignments tab:
After Clicking on an assignment you will see submission, assignment rules, and group information. In each of these sections we will have a small help icon that will explain details about what the student is looking at.
Under the Submissions tab:
We will have a help icon with a detailed description on how to submit your work. One option is a short step by step process that could walk a student through the submission.
Under the Results tab:
A help icon with details about what results the user is looking at
Under the Home tab:
- On Home page:
> We will have a small icon next to “Your API Key”. The message will be displayed when
the user clicks on it.
- Unified filenames for CSV files along with some UI changes to download.
Associated Pull Requests: #1354, #1345
- Began working with Kitiya on issue #1358. Implementing search functionality in the User view.
- Nothing major with MarkUs.
- Continued work on #1358.
- Look into git backend and what issues previously had. This could potentially be my project for the term.
- I’m currently working on issue #1310, and gaining an a better understanding of how everything works in Markus and rails.
- Haven’t had any major roadblocks yet.
- Finish up that issue I’m working on, and get together with Andrew and Sheng about what we want to work on.
- Worked on installing the MarkUs application on my computer. Successfully completed installation.
- Reviewed parts of application code (critical controllers and views) to better understand the application flow
- Reviewed some existing issues on GitHub to understand work that may be needed
- Tested out the application interface to become more familiar with navigating through the system
- Minimal time to catch up on project due to late start.
- I worked on issue #1342 for creating groups in assignments.Was able to fix the issue by changing code in the group controller.
- I am not sure if the change to the issue will mess other parts of the grouping functionality. We need to do some other testing to determine if this is actually a fix.
- Helped Ope on installing MarkUs application.
- Try to understand how MarkUs works by logging in as Administrator, Student and Grader.
- Looking on how the code works while navigating through the MarkUs Application
- Find a bug and put it on GitHub (issue #1342)
- Learning Ruby and how Rails work.
(Collectively at Cornell, Alex, Ope, and Christopher)
As a group here at Cornell we plan on implementing the help system. Our first task is to better understand the functionality of MarkUs and where useful help tools could be implemented. By the end of next week we plan on creating a proposal of places that could use the help system and also develop some UI designs that we could use for the help system. We also will be working on issues that still exist.
- Submitted pull request for issue #764 – using correct HTTP status code for expired sessions.
- Working on issue #1358 – adding search functionality on the user tab.
- Familiarizing myself with MarkUs and Rails.
- Having not fully understood Rails is the biggest roadblock for me right now.
- Continue working on issue #1358.
- Finalize the project I will be working on toward the term.
- #1337 (where releasing grades for all students in a spreadsheet of more than one page of students would fail)
- #1338 (where a TA with no student trying to view a spreadsheet would raise an error).
#1337 was failing because there was a function call (call() on line 221 after the fix) without any arguments. It needed arguments describing how results from a database query should be sorted and a variable pointing to the current user, which we provided.
The first two arguments above indicate how it should be sorted, and we set these to be empty strings because we figured that since all users were being selected in this case, the order would not matter.
As this was our first bug fix and we did not know Ruby at all, we spent a significant amount of time pinpointing this error and understanding why it was failing, and how it related to the output. We also needed to learn how G_TABLE_PARAMS used procs and lambdas to fix this bug.
For issue #1338, we figured out that the function alpha_paginate() was meant to return ‘‘ when there were no students assigned to a TA, and it attempted this by checking if total_pages was 0. However, in this case total_pages is actually 1. We added another condition that all_grade_entry_students was 0 instead, which seems to have fixed this bug. You can see this fixed below:
- Working on ticket #1348 to disallow identical annotations on the same line of an assignment.
- Submit detailed bug report about an issue with annotation.
- Familiarizing myself with Markus functionality and code.
- Catching up on schoolwork hasn’t allowed me to put as much time as I’d like in fixing the ticket.
- Finish ticket #1348
- Speak with Jeremy and Sheng about which project we will be taking on.
- Submitted pull request for installation instructions on linux
- Working on issue #1347
- Learning MarkUs and Rails
- Not understanding Rails and the codebase is my major stumbling stone
- I’ve also been abroad the this entire entire week
- Continue working on issue #1347
- Finalize the project I will be working on toward the Western team
- Started the Portuguese translation.
- Issue #1333
- Issue #1312
- Continue on the Portuguese translation of MarkUs.