New Gradebook for testing

New Gradebook for testing

by Michael Penney -
Number of replies: 48

Hi folks, we (mostly Jeff Graham) have put together a new gradebook that adds weighting, catagorization, curving, bonus points, and letter grades to the standard Moodle gradebook.

You can check it out here, login as test/test, choose a course, and click grades.

http://cdc.humboldt.edu/moodletest/gradetest/

Let us know if you find any errors, confusing things, or other issues.

If you'd like to try the code, it's here:

http://learn.humboldt.edu/course/view.php?id=21&topic=6

See the readme for installation instructions and options. Since it doesn't change your existing modules or grades, its just two files, grades.php and grade.php. You can rename grades.php to something else to check it out without changing your existing gradebook view.

This code doesn't change the existing grade tables in the modules, it just provides a new interface and math functions for them. It's intended as an interim solution while the issues and testing of the central grades table gradebook get worked out.

The default view is most advanced features off, just course total and the option to reprint headers, otherwise the same as the standard gradebook. Turn advanced features on to get the catagorization, weighting, and other features.

In reply to Michael Penney

Re: New Gradebook for testing

by Jim Hardy -
It looks nice.

One question, is there an option to edit any of the entries or is one planned?
In reply to Jim Hardy

Re: New Gradebook for testing

by Michael Penney -
Hi Jim, it's planned. We wanted to get the base functions out for testing.

The next version will include an external graded item, column sorting by student name and score, and some stats.
In reply to Michael Penney

Re: New Gradebook for testing

by Thomas Haynes -
Michael...

I have installed this on a test site with a copy of the database from my active install, and it looks like it gives me a lot of the functionality my users have wanted. I have a whole grading period full of grades, so this is a good test of the gradebook.

Here is the problem I seem to have.

I can't seem to remove the point value from uncategorized. I have created categories, and have the weighting set up there.

The error when  try to change the point value to 0 is

Received non-numeric value for uncategorized: ""

FWIW, I have another category entered by mistake with point value zero.

I may be missing something obvious.

Regards... Tom
In reply to Thomas Haynes

Re: New Gradebook for testing

by Michael Penney -
Hi Thomas, have you tried entering 0 again in the uncatagorized again? Thats they error you get when there is a non-number (including a space, eg nothing) in the uncatagorized column.

If not, then we'll have to look at the code. It should revert to 0 for uncatagorized after you enter a non-numeric, then you can click the submit query button again, and it should work this time.

You can delete a mistaken catagory in the  "set catagories" tab, simply select the catagory for deletion and click 'delete'. If there are any activities in the deleted catagory, it should put them back into uncatagorized.


In reply to Michael Penney

Re: New Gradebook for testing

by Thomas Haynes -
Michael...

I tried resetting it to 0 with no happiness. I tried to mess with the settings a little, and I have a new error that may shed some light.

I tried assigning 0.01 to uncategorized and got the same error.

My total is now 300%, and I get

Received non-numeric value for ERROR: No lang file (/var/www/html/moodlegr/lang/en/grades.php)!: "" in addition to the

Received non-numeric value for uncategorized: ""

Is there a revised lang/en that goes with this?

Regards... Tom
In reply to Michael Penney

Re: New Gradebook for testing

by Nicole Snyder -

Hellosmile

Your new gradebook is very nicesmile The only problem that I had with it was that students that I had unenrolled in the class before incorperating the new gradebook were showing up. I could not see the students name, in the name field there was just a , then the unenrolled students grades were still there??

Thanks for the great new feature!

Nicole

In reply to Nicole Snyder

Re: New Gradebook for testing

by Michael Penney -

Hi Nicole, glad you like it!

I've added your bug to our fixit list, we should have a fix for that by the end of this week.

In reply to Michael Penney

Re: New Gradebook for testing

by Michael Penney -

Now with lang file.

Sorry, I forgot to add this friday, download the zip again and it now contains /lang/en/grades.php also.

In reply to Michael Penney

Re: New Gradebook for testing

by Thomas Haynes -
You rock!   The lang file was the thing.

This is quite nice, and I have been playing around with it.

It all seems to be working, and I may try to add this after the next grades come out, and we are moving sites to term 2, etc.

I appreciate the work you have put into this...
In reply to Michael Penney

Re: New Gradebook for testing

by Deon Metelski -

Hi Michael,

You guys have outdone yourselves. Simple and clean interface. I thank you for completing this beta so quickly. The faculty will love it. The only question I had is do you plan on having a feature where you can export and import grades seamlessly like the original gradebook? I saw the other features you were working on in the forum post.

Thanks,

Deon big grin

In reply to Deon Metelski

Re: New Gradebook for testing

by Michael Penney -

Thanks Deon!

We're planning to add features in this order: sorting (by grade & name), item/catagory stats, external graded item, then import/export.

I/O may be just raw points, frankly we're hoping that when folks see how the features we've added work, they won't want to bother with i/o, but its a feature that should be there in some form.

In reply to Michael Penney

Re: New Gradebook for testing

by Deon Metelski -

Great! The only reason why I/O is a consideration is just that teachers sometimes do not have access to the internet when they want to perform grading.

I am in the NYC schools and teachers have an hour or so commute sometimes. Sitting on the subway is good time to do some grading in an excel spreadsheet on a pocket pc or palm.

Thanks again,

Deon

In reply to Michael Penney

Re: New Gradebook for testing

by Loren Winfrey -
This is great!!! I love the look of it.

With a full class of assignments and everything else, my students are all getting F's. Due to the future assignments not being done. Is there a way to have those not included in the grading scheme? I hope this makes sense.

Thanks again

Loren
In reply to Loren Winfrey

Re: New Gradebook for testing

by Thomas Haynes -
Loren...

You could either drop the appropriate number of scores to correspond to the ungraded assignments, or give them a point value of zero until they are graded.

Another possibilty if you are using weighted categories might be to leave them uncategorized until graded. Assign 0% to that category in the weighting.

Regards...   Tom

In reply to Loren Winfrey

Re: New Gradebook for testing

by Michael Penney -

Hi Loren, you can also deselect the check box to show the letter grade to students in the Preferences tab (#6 in the attached graphic).

We're working on a feature that will show students their current grade out of the number of points they've attempted eg 'you are getting a B so far'.

Attachment prefs3.gif
In reply to Michael Penney

Re: New Gradebook for testing

by James Depow -

Hi Michael,

You wrote "See the readme for installation instructions and options".  I can't find the readme file (end of the week, perhaps I am not thinking clearlyblush) .  Can you direct me to it.

Thanks,

Jim

ps. I downloaded the zip file and installed in to the Modules directory but i don't think that is where it goes (on my testing server using 1.4.1).

In reply to James Depow

Re: New Gradebook for testing

by Michael Penney -
Sorry Jim, the readme got left out of the latest versionblush.

Its up there now, this is all it says:

---------------------------------------------------------------------------------------------
Gradebook 1.5 beta
Jeff Graham
Michael Penney
Courseware Development Center
Humboldt State U.

This code adds weighting, catagorization, curving, bonus points, and letter grades to the standard Moodle gradebook.

It has been installed and tested on moodle 1.4.1 MySQL, PostgreSQL will and other Moodle versions may need some tweaking to get it running.

This code does not change your existing grades, it just provides a new interface to them.

 To test the code without changing your existing gradebook link: rename grades.php to something else (eg gradesnew.php) and place in your moodleinstall/course folder.

Access it from yourmoodlesite/course/gradesnew.php?id=(course id #) to view it. To install the code as the standard gradebook, just replace the standard course/grades.php and course/grade.php with these versions, now the grades link will point to the new gradebook.

It will create some tables the first time it runs, where it will store it's data. As usual, backup your database first. Also backup your original grades.php and grade.php if you replace them, just put the old ones back to get back to the standard gradebook view.

If you'd like to use it, just replace your course/grade.php and course/grades.php files with these files.

Replace grades.php in lang/en.

Teachers will see a new interface with a pull down. The default is no new features, change that to use and you will get settings for the new features.

--------------------------------------------------------------------------------------------

So to install place the files in the same directories the tar uncompresses too: course/grades.php, course/grade.php, and lang/en/grades.php. If you'd like to test it without replacing your old gradebook, just rename grades.php to something elese (eg testgrades.php) and place it in your course folder, then navigate to it as discussed in the ReadMe (you'll also need to install the lang file to test it).



In reply to Michael Penney

Re: New Gradebook for testing

by Jacob Romeyn -

Hi Michael

Where can I get the gradebook file?  Which one is it?  I looked in the CVS contrib and it has two gradebooks, gradebook and gradbook2.  I also found a zip file. 

Can you please let me know which to use for testing?

Jacob

In reply to Jacob Romeyn

Re: New Gradebook for testing

by Michael Penney -
Hi Jacob, we haven't put it in contrib yet, sorry*. The only place to get it right now is here: http://learn.humboldt.edu/course/view.php?id=21&topic=6
 
Login as guest.
The manual is at that link also.

*My main machine got hosed this week, and I haven't gotten CVS set up on my replacement yetsad

In reply to Michael Penney

Re: New Gradebook for testing

by Worth Bishop -

I'm attempting to "tweak" the code to run against PostgreSQL.

Got the tables created ok.

Getting message, "Could not get an uncategorized id!" when trying to pull up grades module.

Found the error message in the code (both places) but I'm afraid I'm not sure why we're getting it or what to do next.

I'd appreciate any help...

In reply to Worth Bishop

Re: New Gradebook for testing

by Jeff Graham -
Worth,

Did you install the lang file? That is one cause of this error. It can't get a matching 'Uncategorized' category for this course.

Check in your {$CFG->prefix}course_grade_category and make sure there is an entry for your particular course number for name='Uncategorized' if it is '[Uncategorized]' this probably indicates the lang file is missing.

hope that helps,

Jeff
In reply to Jeff Graham

Re: New Gradebook for testing

by Worth Bishop -

Thanks, Jeff, for your help.

I did install the lang file - dropped it first into ../lang/en and also into ../lang/en_us for good measure.

I've looked at the tables I created and prefix_course_grade_category, ...item, ...letter and ...weight are empty - no rows, nothing there. The prefix_course_grade_preferences table has entries for my course id's with all the default values in the appropriate fields.

Found an error in the log as follows:

PHP Notice: Undefined index: action in ...course/grades.php on line 5, referrer: http://...course/view.php?id=3

For what it's worth, the tables are created the first time I click the grades option, and throw errors each subsequent time I click - presumably because the tables are already there, but makes me wonder if I forgot something in the porting process.

Thanks for your help,

Worth

In reply to Worth Bishop

Re: New Gradebook for testing

by Worth Bishop -

Any other thoughts on this? I've got some teachers who are eager to get their hands on the new gradebook and I've exhausted my _very_ limited PHP/PostgreSQL skills...

Here's hopin'!

Worth

In reply to Worth Bishop

Re: New Gradebook for testing

by Jeff Graham -
Hi Worth,

I'm working on doing a code cleanup for this stuff right now. I was using a MySQL only function CONCAT:WS for some unknown reason smile. I think this is probably the cause of your error as it sounds like you've done everything okay. In the next version this will be removed and replaced with cross database compliant code (hopefully).

There's quite a bit to do for cleanup and we have added several new features as well, but I'm hoping by the end of this week we will release another version.

Jeff
In reply to Jeff Graham

Re: New Gradebook for testing

by Worth Bishop -

Thanks for the hint & update, Jeff!

Gives me something to chew on in the mean time.

Looks like a _very_ desireable addition if the pleas I'm hearing are any indication.

Thanks again.

Worth

In reply to Worth Bishop

Re: New Gradebook for testing

by Jeff Graham -
Worth,

You can check out the updated version in this thread http://moodle.org/mod/forum/discuss.php?d=14994

It has an overview of the updates. In regards to your installation the MySQL specific code was removed and the majority of SQL calls were moved to Moodle API calls. There is still some SQL left, but those have been removed to the top of the gradeslib.php file so if they do need modification they will be easy to find.

Hope it works for you now.

Jeff
In reply to Michael Penney

Now in CVS as gradebook_cdc

by Michael Penney -
The version in CVS does not yet include the stats, sorting, and hidden categories from the test site, these will go into CVS soon.
In reply to Michael Penney

Re: Now in CVS as gradebook_cdc

by Jacob Romeyn -

Hi Michael

Most of the options in the gradebook work good but I have a few questions.

1. I no longer see the export to Excel or Word

2. The student view is the same as it used to be.  I did set the stdent view under "preferences"

In reply to Jacob Romeyn

Re: Now in CVS as gradebook_cdc

by Michael Penney -
Hi Jacob, export is not built in as a button yet, as we need to work in all the formulas. But all you have to do is save the grades table html and open it in excel to get the numbers into excel.

2. The student view is the same as it used to be.  I did set the stdent view under "preferences"

By this do you mean that the students view is the old Moodle gradebook? If so, did you replace grade.php in the course folder with our version of grade.php in from CVS? If not, you mean the Preferences are not controlling what the student sees (eg you turn off grade letter for the student view and it still shows them the grade letter)?

PS, the gradebook_cdc can work at the same time as the standard gradebook (so you can keep your export button), what you would do is change the name of grades.php to something else, say newgrades.php, link to it from your course summary or a resource pop-up, and then hide the standard grades link from the students. You can link the students directly to the newgrades.php file, it will detect whether they are students and show them just their grades (all our grade.php file does is redirect to the grades.php filesmile.

In reply to Michael Penney

Re: Now in CVS as gradebook_cdc

by Jacob Romeyn -
Thank you Michael

I updated the grades.php but not the grade.php I took the files from your site. I have now updated from the latest files in the CVS.

Jacob
In reply to Michael Penney

Re: Now in CVS as gradebook_cdc

by Jacob Romeyn -

One problem left. All grades  both to teachers and students look ok but when the teacher goes to an indivual student, above the grade list the following is displayed:

<>Warning>: Division by zero in /home/jromeyn1/public_html/online/course/grades.php on line 515

What is the problem?

In reply to Jacob Romeyn

Re: Now in CVS as gradebook_cdc

by Michael Penney -
Hi Jacob, I'll put a new grades.php in cvs on monday. If you need it sooner, you can get it here,

It should fix that bug, and add a couple features like sorting and stats.


In reply to Michael Penney

Re: Now in CVS as gradebook_cdc

by Jacob Romeyn -

Still get the same problem:sad

I tried both the file from your site and the CVS  with the date 1/11.

<>Warning>: Division by zero in /home/jromeyn1/public_html/online/course/grades.php on line 515

In reply to Jacob Romeyn

Re: Now in CVS as gradebook_cdc

by Michael Penney -
Hi Jacob, any chance you can send a screenshot of that?

This error was coming up when some values were 0, but it should have been fixed in the last revsad.

with the date 1/11.

?? I I just posted that just now, before it was 10/26 (Oct. 26). Does the CVS revision say 1.2?
In reply to Michael Penney

Re: Now in CVS as gradebook_cdc

by Jacob Romeyn -

Sorry Michael blush.   I guess I did not have the latest.  It's now working great, thank youcool

Jacob

In reply to Michael Penney

Re: New Gradebook for testing

by Brian Koontz -
Michael--

Nice job on the gradebook!  I have it up and running, but I was wondering what would be involved to install gradebook_cdc as a module, as depicted in your help documentation?  I would like to give instructors (even myself) the option of using either gradebook_cdc or the standard gradebook, especially since there is no text export in gradebook_cdc (the Excel format doesn't seem to work for me when importing into OpenOffice).
In reply to Brian Koontz

Re: New Gradebook for testing

by Eduardo Monteiro -
One question:

How does this gradebook perform when Backing up, restoring? does it get recognized? has anybody tried this?

Thanks.
In reply to Eduardo Monteiro

Re: New Gradebook for testing

by Michael Penney -

Hi Eduardo, Jeff is working on the backup code now. It's tricky since Moodle backup changes all the module ids, and then we have to relink everything to the categories.

Of course, the actual student scores are backedup up in the modules, so with the current version in a backup, you won't lose any grades, but your gradebook will revert to the basic version and you'd have to reset the weighting, categories, etc.

In reply to Michael Penney

Re: New Gradebook for testing

by Keith Heinrich -

Just loaded the latest from cvs (not sure about the revision - can that be embedded in the code header perhaps) and I now have the following error:

Warning: Invalid argument supplied for foreach() in c:\inetpub\wwwroot\myelearning\course\gradeslib.php on line 106

Happens in a couple of different courses and I cannot pin it down to anything particular.

Also the excel output is wasted as well:

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>c:\inetpub\wwwroot\myelearning\course\gradeslib.php</b> on line <b>106</b><br />
ÐÏࡱá>þÿþÿÿÿþÿÿÿlÉGrades=¼%r8X"1ÈÿArial1ÈÿArial1ÈÿArial1ÈÿArial1ÈÿArial1È Arialàõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À àõÿ À à À à À ÿâ8ÿÿÿÿÿÿÿÿÿÿÿÿÀÀÀÿ3fÿÿÌÌÿÿffÿfÌÌÌÿÿÿÿÿÿÿÿÌÿÌÿÿÌÿÌÿÿÌÿÿÌÌÿÿÌ3fÿ3ÌÌÌÿÌÿÿfff3f3f33333f33333
!Grades
lÉ*+Á¡"dXXà?à?
First nameSurnameID number
Institution
Department
Email addressForum - first stepsWorkshop
Assignment
First nameSurnameID number
Institution
Department
Email addressForum - first stepsWorkshop
Assignment
First nameSurnameID number
Institution
Department
Email addressForum - first stepsWorkshop
Assignment
First nameSurnameID number
Institution
Department
Email addressForum - first stepsWorkshop
Assignment size="2

I am using Moodle 1.4.3. Let me know if you require further information.

Thanks

Keith

Attachment gradebook1.jpg
In reply to Keith Heinrich

Re: New Gradebook for testing

by Keith Heinrich -

I've reverted to an earlier version for the moment. I'll be keeping an eye out for an update.  Thanks for the excellent work.

Keith

In reply to Brian Koontz

Re: New Gradebook for testing

by Michael Penney -
Hi Brian, this is certainly possible. But it seems to me it would be better to figure out what the the excel problem is? Are you using the latest version of gradebook_cdc from CVS/contrib? Exports from here open fine on my version of OO (1.1.3 on Win2000). What version and platform are you using? It should open as well as the export from the standard version on OO, as we are using the same code. Does the standard moodle gradebook .xls open on your OO machine?

We'd like to fix any problems with .xls, certainly, and adding text export back in should be easy enough if that is a show stopper (we didn't do since saving the grades page as html seemed a better way to generate print-outs than the text file).

In any event, it's not too hard to set up gradebook_cdc as a link, module, or block with a little coding:

When you install gradebook_cdc, change the name of the grades.php and grade.php files to something else (eg grades2.php, grade2.php) so you don't overwrite the standard gradebook files in /course.

Now you can either make a link in the course to grades2.php or probably the easiest thing to do for multiple installs is install the link in a block (so your teachers can use it or not).

Gradebook_cdc will check for it's tables and create them if they are not there the first time it runs in any event, so your block or module just needs to link to grades2.php with the right course id #(grade.php is just a link to grades.php to be compatible with the moodle grades link in admin, grades.php checks whether the person is a teacher or student and gives them the appropriate level of access automatically, so you really just need to link to grades.php).

Then the link to the gradebook will be /course/grades2.php?id= courseidnuber. You'll also have to find the links in the gradebook_cdc files that link back to grades.php and change them to link to your new filename.

Then have the teachers who want to use the new gradebook hide the old grades and show the link to the new gradebook instead.
In reply to Brian Koontz

Re: New Gradebook for testing

by Michael Penney -

Hi Brian, with the latest code, is this still a problem:

the Excel format doesn't seem to work for me when importing into OpenOffice).

I've been able to import the export into OO 1.1.3 on Windows2k fine, what version of OO and what OS are you having trouble on?

In reply to Michael Penney

Re: New Gradebook for testing

by Marc Dastous -

Hi Michael;

I'm getting the following error in 1.4.3+...

Notice: Undefined index: action in c:\program files\easyphp1-7\www\course\grades.php on line 5

$action= $_REQUEST['action'];

I'm going to guess this is supposed to be the download Excel button, because I don't see it anywhere in the new interface.  Is that right?  If so, how can I fix this?  I really like the new look and features!

Marc

In reply to Marc Dastous

Re: New Gradebook for testing

by Marc Dastous -

OK,

I fixed this problem with an update to the latest CVS version; replacing the Humboldt site version.  However, I did get the ...

Warning: Invalid argument supplied for foreach() in c:\program files\easyphp1-7\www\course\gradeslib.php on line 106

on some of the courses.  Haven't sorted out why this is occurring.  I'll get back to you.

Marc

In reply to Marc Dastous

Re: New Gradebook for testing

by Marc Dastous -

This seems to happen in new courses with few or no grades assigned.  Classes imported, that have completed grading schemes, seem to not have a problem.

Marc