Issue Details (XML | Word | Printable)

Key: MDL-17807
Type: Task Task
Status: In Progress In Progress
Priority: Minor Minor
Assignee: moodle.com
Reporter: Nicolas Connault
Votes: 34
Watchers: 23
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Moodle

Make changes in core so that LSU gradebook does not need hacks in core

Created: 07/Jan/09 07:33 PM   Updated: 13/Nov/09 04:08 PM
Return to search
Component/s: Gradebook
Affects Version/s: 1.9.3
Fix Version/s: None

Issue Links:
Dependency
 
Relates
 

Participants: Barry Oosthuizen, Elena Ivanova, Helen Foster, Kenneth Newquist, Matt Gibson, moodle.com, Nicolas Connault, Robert Puffer and Robert Russo
Security Level: None
Affected Branches: MOODLE_19_STABLE


 Description  « Hide
The LSU gradebook (CONTRIB-738) looks very promising. We are trying to merge it into core, removing the need for some of the patching of files in lib/

Once this is done I will create a patch file including all the changes, and we will put it on test.moodle.org for the community to test.

See http://moodle.org/mod/forum/discuss.php?d=101449 for description of LSU gradebook.

 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Kenneth Newquist added a comment - 08/Jan/09 01:11 AM
Just to clarify, is the goal here to actually incorporate the LSU gradebook changes into core itself, or to create a series of patches that allow it to be more easily used with core?

Nicolas Connault added a comment - 08/Jan/09 01:22 AM
well this is still subject to testing and review. I think that by tomorrow we'll have a live test install with the LSU gradebook running, so that people can test and give feedback.

There are some obvious concerns regarding the compatibility of this "patch" with existing code in core. Ideally we would like to take the best stuff from LSU gradebook and merge into core (extra weights, curving, sticky tabs are the main features), but we're not sure if this is feasible for 1.9 yet.


Kenneth Newquist added a comment - 20/Jan/09 12:54 AM
[bump]

Any progress on this? Is there a test install available anywhere?


Nicolas Connault added a comment - 21/Jan/09 04:38 PM
Hi Kenneth. I've just applied the LSU gradebook patch to a copy of the 1.9 moodle test site (it uses the same database). You can use it by reaching http://test.moodle.org/lsugradebook and login as teacher / testm00dle

Barry Oosthuizen added a comment - 21/Jan/09 08:16 PM
Hi Nicolas, I get 'Sorry, but you do not currently have permissions to do that (View the gradebook)' when trying to view Quick Edit Items or Quick edit Categories. Which parts of the LSU gradebook are available on the http://test.moodle.org/lsugradebook test site?

Nicolas Connault added a comment - 21/Jan/09 09:14 PM
Barry, you need a special "Tester" role to be able to test everything. Please send me an email with your desired username and email address, and I will create an account for you which will work on this test site as well as the 1.9 site (shared database).

Petr Skoda made changes - 22/Jan/09 02:58 AM
Field Original Value New Value
Summary Merge LSU gradebook into core Make changes in core so that LSU gradebook does not need hacks in core
Petr Skoda made changes - 22/Jan/09 02:58 AM
Fix Version/s 2.0 [ 10122 ]
Fix Version/s 1.9.4 [ 10300 ]
Fix Version/s 1.9.5 [ 10320 ]
Barry Oosthuizen added a comment - 22/Jan/09 07:20 AM
Thanks for the profile Nicolas. I can't see any difference now that I log in with my own profile. What am I missing?

Helen Foster added a comment - 22/Jan/09 07:28 AM
Hi Barry, I've just given you teacher rights to http://test.moodle.org/lsugradebook/course/view.php?id=5

Thanks for helping with testing.


Barry Oosthuizen added a comment - 22/Jan/09 08:09 AM
Hi Helen, thanks for that. I can't see anything new even with my new powers. What should I be looking for? I still get the same error I mentioned before.

Nicolas Connault added a comment - 22/Jan/09 04:21 PM - edited
I just realised that I needed to bump the version.php file in the simple_grader report. This triggered the proper installation of the LSU gradebook. You should now be able to see the patch in action.

Barry Oosthuizen added a comment - 22/Jan/09 08:57 PM
Thanks, everything seems to be working now.

Helen Foster made changes - 23/Jan/09 01:01 AM
Description The LSU gradebook (CONTRIB-738) looks very promising. We are trying to merge it into core, removing the need for some of the patching of files in lib/

Once this is done I will create a patch file including all the changes, and we will put it on test.moodle.org for the community to test.
The LSU gradebook (CONTRIB-738) looks very promising. We are trying to merge it into core, removing the need for some of the patching of files in lib/

Once this is done I will create a patch file including all the changes, and we will put it on test.moodle.org for the community to test.

See http://moodle.org/mod/forum/discuss.php?d=101449 for description of LSU gradebook.
Elena Ivanova added a comment - 24/Jan/09 12:38 AM
it is just me? I do not see the horizontal ruler in LSU gradebook via View > Gradebook (any browser)

Elena Ivanova added a comment - 24/Jan/09 12:43 AM
hm, disregard my previous comment

Nicolas Connault added a comment - 29/Jan/09 06:27 AM
On http://test.moodle.org/1.9/grade/report/grader/index.php?id=2 you can see the Fixed column in action. I just merged it into the core gradebook code.

Helen Foster made changes - 29/Jan/09 10:26 PM
Parent MDL-18083 [ 30478 ]
Issue Type Task [ 3 ] Sub-task [ 5 ]
Barry Oosthuizen added a comment - 31/Jan/09 09:11 AM
Have you thought of any way to do sticky headers?

Nicolas Connault added a comment - 31/Jan/09 04:51 PM
Making sticky headers would be a major usability issue if sticky columns were also enabled. This would put a horizontal scroll bar as well as a vertical one, meaning that the table content could end up at any position between left, right, top and bottom boundaries. I really can't see any advantage to this idea.

Besides, it's not possible without a heap of JS, and probably a week of work. Not worth it IMO.


Barry Oosthuizen added a comment - 31/Jan/09 10:54 PM
How about mirroring the headers at the bottom of the page? Otherwise we can't see which column we're looking at when we scroll left and right with lots of students.

Or is the only solution to tell people to remember to limit the number of students per page? That brings it's own set of challenges like how do you navigate to the students who are on the other pages? You have to click through page numbers to find them.

We need a workaround and I guess I'll keep on thinking of ideas. Hope it's helping rather than hindering


Nicolas Connault added a comment - 01/Feb/09 12:35 AM
Barry,

Of course you're not hindering! What a silly idea

Someone in the forum suggested an alphabetical filter like the one used in the admin user search page. This would make it easier to find students.

And of course we could put the headers at the bottom, but it would look rather awkward I think, if you have 4 levels of categories... Plus you would need to mirror them completely, so that the top-level categories would be output at the bottom. Maybe you could put together a mock (on paper or html) to see what it would look like. I'm not convinced that this is the best solution.


Robert Puffer added a comment - 01/Feb/09 12:42 AM
GBv2 had a setting that allowed "repeat headers every x rows" which covered every eventuality.

Barry Oosthuizen added a comment - 01/Feb/09 01:24 AM
"repeat headers every x rows" would mean less clicking and less having to limit students by page etc so looks like a win-win situation. Was 'x' a set number or was it dependent on other factors?

Robert Puffer added a comment - 01/Feb/09 02:36 AM
'x' was defaulted to zero (but configurable sitewide by admin) and settable by instructor per course.

Nicolas Connault made changes - 03/Feb/09 03:20 PM
Status Open [ 1 ] In Progress [ 3 ]
Elena Ivanova added a comment - 04/Feb/09 12:44 AM
I am transferring this from the forum, so it will not get lost.

I have to say that not having the horizontal stroller right inside the browser window is cumbersome.
It is indeed really nice to have student names "stuck" on the left, but this is true for small gradebooks only. Instructors with complicated gradebooks and a lot of columns will be in trouble. Also, previous view had narrower columns/rows, which helped visually.
I think we should un-stuck this column, and repeat not headers, but student names every X columns.
Unless we can make the horizontal stroller to appear in browser.


Barry Oosthuizen added a comment - 04/Feb/09 02:00 AM
Another idea: Have two options:

1. If the number of students per page is set to a small number like 10 then, enable sticky column and add A-Z navigation to find students

2. If more students per page:
a) Switch off the Sticky Column
b) Repeat BOTH rows and headers every x number of rows and columns.

For option 2 you'll have these benefits:
1. You'll always have the students names and column headers handy.
2. You get 2 scroll bars which are always visible on large gradebooks.


Elena Ivanova added a comment - 04/Feb/09 08:10 AM
I agree with Barry, and I think that those options should go into the (my viewing) Preferences or Course (gradebook) Settings.

Do it similar to 1.8 Preferences:

  • Reprint Headers: select # (note: do not repeat Categories structure every single time; just simple Items and Totals would be enough)
  • Reprint Student names : select #
  • Stick Student names on the left?: Yes/No (note: should be No by default )

Barry Oosthuizen added a comment - 04/Feb/09 08:45 AM
To have only the grade items repeated from the headers might be a problem for people who's grade items have the same name e.g.
Exam Exam Exam Exam Exam Exam Assignment Assignment Assignment

The categories would help tell them apart.


Elena Ivanova added a comment - 04/Feb/09 08:52 AM
I see the point.. so goes saving space...
I personally think that people should give good descriptive names to the items anyway (but who would listen..)

Elena Ivanova added a comment - 04/Feb/09 08:54 AM
p.s.
  • Reprint Headers: select #
  • Reprint Headers with Categories: Yes/No

Barry Oosthuizen added a comment - 04/Feb/09 09:03 AM
Elena,
  • Reprint Headers: select #
  • Reprint Headers with Categories: Yes/No
    Nice one, Good idea! Keeps it flexible for everyone.

Nicolas, I guess, we'd need new database fields for settings options like these in the interface. Does that affect anything?


Robert Russo added a comment - 05/Feb/09 01:17 AM
grade/report/simple_grader/lib/grade_sql.php:
Fixed bug responsible for displaying items instead of categories in the quick edit categories page on test.moodle.org.

Please update test.moodle.org.

No other files need to be updated besides the following 2:

grade/report/simple_grader/quick_edit.php has been updated in CVS
grade/report/simple_grader/lib/grade_sql.php has been updated in CVS


Matt Gibson added a comment - 05/Feb/09 08:07 PM
Love the improvements, but I second Elena's comment about the missing scrollbar - it's a real pain. I suggest a small bit of js using yui's event and animation utilities so that as the mouse is rolled over the left or right of the screen, the gradebook automatically scrolls in that direction. Alternatively, click to drag could work, with a clause added to the listener that it should not operate if one of the editing icons is clicked.

Matt Gibson added a comment - 05/Feb/09 08:14 PM
I've also just noticed that the click-to-highlight function ignores the first column and that there are missing CSS bits for cells that are both manually altered and highlighted.

Nicolas Connault committed 36 files to 'Moodle CVS' - 09/Feb/09 07:49 PM
MDL-18083 (including MDL-15680, MDL-17829, MDL-17807, MDL-18004, MDL-12631, MDL-16913)
MODIFY grade/report/grader/styles.php   Rev. 1.14    (+510 -7 lines)
MODIFY grade/import/xml/index.php   Rev. 1.25    (+4 -8 lines)
MODIFY grade/report/grader/index.php   Rev. 1.81    (+16 -52 lines)
ADD grade/report/grader/Attic/styles_ie.css   Rev. 1.1    (+0 -0 lines)
MODIFY grade/lib.php   Rev. 1.149    (+286 -89 lines)
MODIFY grade/export/xls/index.php   Rev. 1.31    (+2 -8 lines)
MODIFY grade/edit/outcome/course.php   Rev. 1.11    (+2 -20 lines)
MODIFY grade/edit/tree/outcomeitem.php   Rev. 1.25    (+5 -9 lines)
MODIFY grade/report/grader/lib.php   Rev. 1.155    (+154 -115 lines)
MODIFY grade/import/csv/index.php   Rev. 1.43    (+4 -9 lines)
MODIFY grade/edit/tree/category.php   Rev. 1.15    (+86 -15 lines)
ADD grade/edit/tree/tree.css   Rev. 1.1    (+0 -0 lines)
MODIFY grade/report/overview/index.php   Rev. 1.9    (+11 -16 lines)
ADD grade/report/grader/Attic/styles_lsu.php   Rev. 1.1    (+0 -0 lines)
MODIFY grade/edit/tree/category_form.php   Rev. 1.26    (+234 -39 lines)
MODIFY grade/export/xml/index.php   Rev. 1.41    (+2 -8 lines)
MODIFY grade/edit/scale/edit.php   Rev. 1.12    (+7 -9 lines)
MODIFY grade/report/grader/preferences.php   Rev. 1.30    (+2 -16 lines)
MODIFY grade/edit/outcome/index.php   Rev. 1.24    (+9 -12 lines)
ADD grade/edit/tree/functions.js   Rev. 1.1    (+0 -0 lines)
MODIFY grade/export/txt/index.php   Rev. 1.36    (+2 -8 lines)
ADD grade/report/grader/Attic/styles_ie6.css   Rev. 1.1    (+0 -0 lines)
MODIFY grade/edit/letter/index.php   Rev. 1.8    (+2 -10 lines)
MODIFY grade/edit/outcome/edit.php   Rev. 1.11    (+6 -8 lines)
MODIFY grade/edit/letter/edit.php   Rev. 1.10    (+2 -7 lines)
MODIFY lang/en_utf8/grades.php   Rev. 1.177    (+18 -1 lines)
MODIFY grade/edit/tree/index.php   Rev. 1.23    (+203 -117 lines)
MODIFY grade/edit/tree/item.php   Rev. 1.21    (+5 -10 lines)
ADD grade/edit/tree/lib.php   Rev. 1.1    (+0 -0 lines)
MODIFY lang/en_utf8/gradereport_grader.php   Rev. 1.3    (+2 -1 lines)
MODIFY grade/report/outcomes/index.php   Rev. 1.17    (+4 -12 lines)
MODIFY grade/report/lib.php   Rev. 1.46    (+7 -3 lines)
MODIFY grade/export/ods/index.php   Rev. 1.32    (+2 -8 lines)
MODIFY grade/edit/scale/edit_form.php   Rev. 1.15    (+4 -8 lines)
MODIFY grade/report/user/index.php   Rev. 1.37    (+17 -22 lines)
MODIFY grade/edit/scale/index.php   Rev. 1.11    (+24 -23 lines)
Nicolas Connault committed 1 file to 'Moodle CVS' - 11/Feb/09 11:29 PM
MDL-17807 Fixed skipped first column (Thanks Barry)
MODIFY grade/report/grader/functions.js   Rev. 1.4    (+2 -2 lines)
Nicolas Connault added a comment - 11/Feb/09 11:29 PM
This is implemented in HEAD. Thanks for your feedback, please keep it coming.

Matt Gibson added a comment - 12/Feb/09 12:20 AM
Just went to http://test.moodle.org/1.9/grade/report/grader/index.php?id=2

and got

Fatal error: Call to a member function is_excluded() on a non-object in /var/www/html/test/1.9/lib/grade/grade_grade.php on line 631


Helen Foster made changes - 12/Feb/09 09:39 PM
Issue Type Sub-task [ 5 ] Task [ 3 ]
Parent MDL-18083 [ 30478 ]
Helen Foster made changes - 12/Feb/09 09:42 PM
Link This issue has been marked as being related by MDL-18228 [ MDL-18228 ]
Helen Foster made changes - 12/Feb/09 10:17 PM
Link This issue has been marked as being related by MDL-18229 [ MDL-18229 ]
Helen Foster added a comment - 12/Feb/09 11:16 PM
Thanks everyone for your comments.

To return to Kenneth's initial comment about whether the goal is to incorporate the LSU gradebook changes into core, or to create a series of patches that allow it to be more easily used with core, as the LSU gradebook includes a number of features, it seems easiest to track these as separate issues.

Thanks to everyone who has voted for this issue. Please consider voting for individual features of the LSU gradebook which are listed as related issues - MDL-18228 and MDL-18229 so far.

If there are additional features of the LSU gradebook which you'd like included in core, please create separate issues for them.

I'm removing 1.9.5 as the fix version for this issue, since to make changes in core so that LSU gradebook does not need hacks in core (the title of this issue) would require database changes which can only happen in Moodle 2.0.


Helen Foster made changes - 12/Feb/09 11:16 PM
Fix Version/s 1.9.5 [ 10320 ]
Helen Foster added a comment - 12/Feb/09 11:18 PM
Just to clarify Nicolas' comment "This is implemented in HEAD", Nicolas is referring to the horizontal scrollbar - MDL-18228.

Nicolas Connault committed 1 file to 'Moodle CVS' on branch 'MOODLE_19_STABLE' - 22/Apr/09 04:25 PM
MDL-18083 MDL-12380 MDL-18228 MDL-17807
Implementing grades over 100% in the grader report, new tab navigation, fixed student column and mouseover tooltips for grade cells.
MODIFY grade/report/grader/lib.php   Rev. 1.98.2.50    (+265 -114 lines)
Nicolas Connault committed 1 file to 'Moodle CVS' on branch 'MOODLE_19_STABLE' - 22/Apr/09 04:34 PM
Nicolas Connault committed 4 files to 'Moodle CVS' on branch 'MOODLE_19_STABLE' - 22/Apr/09 04:39 PM
MDL-18083 MDL-18228 MDL-17807 Implemented fixed student column in grader report, mouseover tooltips over grade cells and new browser detection code in moodlelib.
MODIFY grade/report/grader/settings.php   Rev. 1.34.2.7    (+4 -1 lines)
MODIFY lib/moodlelib.php   Rev. 1.960.2.127    (+35 -2 lines)
MODIFY grade/report/grader/functions.js   Rev. 1.1.2.3    (+1 -1 lines)
MODIFY grade/report/grader/styles.php   Rev. 1.1.2.15    (+445 -133 lines)
Nicolas Connault committed 1 file to 'Moodle CVS' on branch 'MOODLE_19_STABLE' - 22/Apr/09 04:40 PM
MDL-18083 MDL-18228 MDL-17807 MDL-18004 Implemented fixed student column in grader report, mouseover tooltips over grade cells and new browser detection code in moodlelib. Also added new navigation code.
MODIFY grade/report/grader/index.php   Rev. 1.65.2.10    (+31 -23 lines)
Nicolas Connault made changes - 08/May/09 02:01 PM
Link This issue will be resolved by MDL-18229 [ MDL-18229 ]
Nicolas Connault made changes - 08/May/09 11:13 PM
Fix Version/s 1.9.6 [ 10340 ]
Helen Foster added a comment - 09/May/09 12:21 AM
Removing 1.9.6 fix version. Apologies for the spam.

Helen Foster made changes - 09/May/09 12:21 AM
Fix Version/s 1.9.6 [ 10340 ]
Martin Dougiamas made changes - 13/Nov/09 04:08 PM
Assignee Nicolas Connault [ nicolasconnault ] moodle.com [ moodle.com ]