I downloaded and installed the Gradebook module that is posted as a project over at Drupal, and realized I had difficulty understanding how it worked, although I did manage to figure it out.
So over the past few days I've put together a node submission form for a Gradebook node which includes the following features:
- You can enter in student names in one column and their scores in another column
- You can specify the default number of students per page.
- You can create new columns for your gradebook without submitting all of your information.
- For each grading column (or assignment) you can specify the name of the assignment, the date of the assignment, the category of the assignment (quiz, homework, etc...).
- You can change the number of categories of your gradebook (categories are specified on a per gradebook basis) and the weight of each category.
- You can add students to your gradebook.
Still to do:
- The delete button for an assignment currently does nothing. I'd like it to lead to a confirm form, and then to deleting the column from the node.
- Should be able to delete a student, again with a confirm form.
- The category weights should actually do something besides looking pretty, in other words, you need grading reports, and information about the progress of each student.
- Fix the CSS so the form looks good on the major web browsers.
- Fix the very small jsCalendar bug that forces me to include a time with the date (although my local version of this module doesn't do that...).
- Any other UI improvements people suggest.
As part of this module, I am thinking about creating a student management module where you can:
- Create and manage student rosters as nodes.
- Assign a roster to a teacher and automatically create a Gradebook node for that teacher (with that teacher as the author so they can edit their gradebook) with the student's names auto-populated.
- When assigning new students to a roster, they should show up on a teacher's Gradebook automatically.
I was also thinking of creating an assignment module where you can:
- Create an assignment event and add it to a public calendar (for your students to read).
- Automatically have the assignment added to your Gradebook for a chosen course.
- The assignment would have default fields appropriate for hooking into the Gradebook module, but you could add additional fields using CCK.
You can take a look at my current Alpha Gradebook form at:
http://www.unitorganizer.com/drupal5/node/add/gradebook
and you can see a list of whatever Gradebooks other people have created at:
http://www.unitorganizer.com/drupal5/gradebooks
I will quite happily add my module as a project to Drupal.org, but I'd like to start up with a co-maintainer as I am extremely busy and won't be able to handle all of the support/bug/feature requests alone.
Dave

Comments
Roster module 50% completed
I'm working on my simple roster module. It's about 50% completed. All I need to do is hook it into my Gradebook module, and set up a way to create default fields for the students' information and it's set.
Next step, once this is completed, is to create an Assignments module.
I took a look at a page that describes a Google summer of code project, and noticed that the author wanted the assignment module to allow students to submit their response to an assignment directly to the teacher as part of the module. This seems like a terrific feature for e-learning, so I think it's worth trying to implement. Imagine if a teacher could create an assignment, and as a result of that creation have a column added to their gradebook AND automatically provide a way for students to create response to that assignment (I guess these responses would have to remain unpublished, maybe the teacher could publish the good responses) and then the teacher could grade the assignments as they are reading them (maybe provide corrections, etc...) and have these grades automatically added to the correct cell in the gradebook.
That would be cool.
Dave
Gradebook already does this
The existing Gradebook modules already do just about all of this. Any node can be designated an assignment via the Assignment module. The Gradebook module has support for self-grading modules, but I haven't written any. One a node is considered an assignment, grades can be entered against it.
Students are considered a special role if you don't use the OG_Gradebook module. If you do use OG, then each group is a class, all group admins are teachers, and everyone else is a student.
Gradebook already supports grouping assignments. Each assignment group will support weights, but that code is incomplete.
Gradebook is not ready for prime-time because I'm the only developer. If at all possible, please take a look at the Gradebook code and see if you can't use it as a base for your development.
It looks like the assignment
I'll post it here but this is a question for everyone. It looks like the assignment module isn't included in the project download. I found it in CVS but has no accompanying assignment.info file. Has it been updated to work with D5?
This question is in the gradebook issue queue as well at http://drupal.org/node/183174
No longer needed
The assigment module is no longer needed in D5. This is because they made custom node types part of core. Gradebook API now handles which node type is considered an assignment and which isn't.
Strongly encourage collaboration
Given that you are saying you would like to work with a co-maintainer, have limited time (like the rest of us :) ) and that Rob has extensive experience writing this code, finding a way to work with the existing body of code would be be more sustainable way forward.merging these two projects would be a great idea.
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
re: Merger
Yeah I guess that makes a bunch of sense. I had a slightly different vision of what a Gradebook form would look like though. Don't know if either of you looked at my form or not.
I just took a closer look at your Gradebook module, and I now understand how it works, and I can see it includes all of the features I want. I'll take a look and see if I can't integrate my giant form into your Gradebook administration page, if you think this is worth it. I feel like it would reduce a lot of page loads to be able to edit all of the Gradebook in one place.
Dave
Gradebook architecture
The main Gradebook intelligence is in the GradebookAPI module. It was designed this way so that people could write their own front-ends if desired. The actual Gradebook module is currently just a simple Gradebook interface. I would love the Gradebook 'UI' module to get some attention as it is currently pretty ugly and non-intuitive.
Additionally, the GradebookAPI module has a hook for deciding who is a teacher and who is a student. If you have a better/different way of handling this in a non-OG environment, I am very open to ideas.
Organic groups integration is good idea
Your idea of using Organic groups to organize classes is a good one. It allows us to avoid duplicating work in organization of classes. Actually since the organization of classes is so crucial to a Gradebook, maybe Organic groups should be a required module.
Here's what I would like to see:
A school uploads a csv file with their students and create their users for Drupal with whatever role they desire ('student'). This can be handled with the user_import module. They then do the same thing with their teachers, but give them the role of teacher.
They create an organic group for each teacher's courses. If I teach 5 subjects, I end up the manager of 5 organic groups, one for each class.
They navigate to a page and using a simple to use form, add the students to their organic groups (ie, schedule the students for their classes).
From the organic group page, the teacher (and only the teacher) has the permission to create a Gradebook associated with that group. They need to be able to create multiple Gradebooks (to handle issues like multiple separate terms, etc...) with the ability to mark any given Gradebook as active or inactive. The UI for this Gradebook must be easy to use and not involve too much clicking.
Teachers can then create assignments, which are associated with a class, and are added to the current active Gradebook.
One of the fields associated with a Gradebook should be a memo or comment, and this can be used later to create student reports, which should be generated as PDFs from the student information.
As a future wishlist, I'd like to add the following student management tool, but this a long term goal and won't see fruition any time soon.
Imagine if students could browse through course descriptions, and choose courses (perhaps having a set of core courses chosen for them) and then submit their choices.
A script is run once all of the students create their choices and in a couple of days, it comes back with a potential schedule (that may need fixing due to conflicts etc...). From this master schedule, once it is approved, students and teachers are added to the correct Organic groups automatically, and the previous year's groups are archived.
Does this all make sense?
I'm going to work on improving the UI for the Gradebook module you have. I think I have the right form, I just need to adapt it. The hard part I think will be the actual submission portion, since I am currently serializing the data to store it.
Dave
OG integration
The OG integration is borrowed from a few places. As with the OG_Forum module, a gradebook is automatically created for each group. I did it this way as it is the same idea used in Moodle and Blackboard. Each group/class for a specific term, and a new group/class should be created for the next term. This is also a good idea as a teacher may not teach the same course each term, and removing old content from term to term would be difficult.
Currently, each grade submission has a note field for teachers to give feedback to students.
I've thought about making OG_Gradebook mandatory, but it goes against the flexible architecture I've created. I believe the reality is that anyone using Gradebook would be using OG_Gradebook anyways.
I wonder what it would take
I wonder what it would take to finish off gradebook and OG gradebook? I wonder if I could get a school district to pitch in. If so, what would it cost?
Getting things stable
With the the help of people like dwees, I think we can get things stable relatively quickly. He is working on some patches, and if we can clear out the backlog of bug reports, then we can finish testing. The biggest hold up until now has been that I've been the only developer. With dwees lighting a fire under me, and the help of this group, things can get some where.
IMHO, Where donations might be in order would be new feature requests.
Gradebook and OG Gradebook
I've got a new module up which should help with this, it's called og_management. It allows an admin user to mass subscribe/unscribe other users to groups (even closed groups) and an individual user (with the appropriate permissions) to subscribe/unsubscribe themselves to/from other groups.
As for the Gradebook module, after taking a closer look, I think there are just a few things that need to be touched up for it to be production ready. It already includes most of the things I had on my wish list above.
The UI for entering grades. Right now it has a flexible architecture that allows you to enter a grade and a comment for each student for each assignment, when most teachers probably just want a single box to fill, and 1 comment for each user (rather than 1 comment per student). It should be possible to set up the module so that an admin user can decide which UI to use.
Reports for gradebooks. It would be a nice feature if either individual reports or class reports were relatively easy to produce from this module.
A developer would probably not take very long to add these features at all. For instance, the production of the UI for the Gradebook node module that I created (which I am going to integrate into this module if I ever get time) took me about 4 days to create during my spare time.
Dave
Views, and comments
First off, I'm really glad to see things kicking in with the Gradebook. This is awesome.
RE point 1: One of the advantages of putting in a comment per assignment (and, IIRC, one of the reasons behind including this feature) is that it provides a way to take brief notes on a student's work throughout the year. Ideally, all these notes, and their related assignments can be exported into a txt or csv file (something currently available through the views bonus pack), so that when a teacher needs to write narrative grade reports, or have a parent meeting, they have a brief narrative detailing a student's progress through their assignments. This also allows for more directed feedback b/w teacher and student on an assignment by assignment basis. And, if a teacher doesn't want to use it, they don't need to.
RE point 2: Another use for views. How about a helper module that created some default views based on core gradebook values?
I also think it might be worth looking at the Views Editable Fields module -- http://drupal.org/project/editablefields
Also, if you need server space to coordinate development, let me know. We'd be glad to provide that.
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
Gradebook2 module in sandbox?
I have not posted this 2nd Gradebook module that I created because its definitely a better idea to integrate it (or the ideas in it anyway). I just put it somewhere it is accessible so that we can examine the code. Some of what I do in my module is definitely NOT a good idea for inclusion, but the appearance and functionality of the edit screen is good (one example of bad form - I serialize the data for a row and insert it into a single location in the database).
I'll see if I can figure out how to put it in my sandbox in cvs. When I figure that out, I'll post the code.
Dave
Gradebook - Powerschool
Hi guys,
I LOVE LOVE LOVE whats going on with DrupalEd!
Myself and my fellow Web Dev co-worker are already having grand visions about using the DrupalEd Dist for a new client and going utterly wild with it - we want to try to push it to the limits and hope to start contributing a little more very sooN!
Quick question regarding Gradebook (which I admit I have not looked at yet):
How similar is Gradebook to the product "Gradebook" that comes as part of the PowerSchool SIS? Currently our teachers use Gradebook, but I would prefer if we used Drupal for everything ;)
Rock on to DrupalEd!
Cheers,
Ilsa~
Not very similar
The Gradebook module, while useful, is better than using Excel as your Gradebook, if only because it can be used to customize categories, and the results of your grading can be made more publicly accessible. As for features, it is definitely not feature rich, but that can generally be attributed to one (and a half) developer who is not being paid for his work.
Dave
Possible solution for editing multiple student grades at once?
Just saw this one come through --
http://drupal.org/project/action_view
It could be useful for grabbing a selection of student grades and presenting them in a view which is editable --
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
Looks like an interesting project
It looks like an interesting project, but has two problems I foresee:
That being said, I can see myself using this module for other purposes.
Dave
A couple questions/thoughts
RE: "We'd have to make sure that Gradebook module is views enabled properly." -- is this a problem, or just a Good Idea (tm) as we move forward?
RE: "We'd have to custom code the connector to the action_view module." -- or, we'd have to code the mass edit functionality.
Either way, there will be new code. It then becomes a question of what will get us the best functionality, balanced against ease of maintenance over time.
Does the mass edit functionality exist in the new version of the gradebook, or is that still something that needs to be developed?
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
re: UI exists
The UI exists, we just need to implement in the actual Gradebook module. I created a mass edit UI for my Gradebook2 module, but I agreed to try and merge my module with the current Gradebook module.
Dave
Do you have all the support you need
Do you have all the support you need to get this done, or can we help move this forward?
Let me know if there's anything we can do to help?
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
Time, where is all the time?
I must admit I haven't had a chance to look at the code you've submitted. I'm hoping to get to it soon. Bill, maybe someone on your team can take a look and generate some feedback.
We are actually working on code to add more time to the day
It will be done when we get the time to finish it :)
Are there currently sites live with the current gradebook code and some sample data?
And Dave, could I get in to take a look at the admin features of your test site at http://www.unitorganizer.com/drupal5/gradebooks ?
This way, I could have a clearer sense of the UI/current functionality, and then we could proceed from there --
Feel free to contact me via email with login info, etc.
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
re: done
Hi Bill,
I've sent you an email with a user name and password so you should be able to log in. Have to say there is very little set up in terms of Gradebook administration. My original thought was that we could handle this with Views integration, but that requires Gradebooks to be nodes.
Dave
Yes please!
I'm TERRIBLY keen on having a gradebook. Am struggling with online learning project manual transferring grades to local DB then copying coordinated data back into online forum viewable by student and parent.
Not using drupal yet but this would be the decider.
I looked at dwees alpha version at http://www.unitorganizer.com/drupal5/node/add/gradebook
and I've read this page.
Couldnt quite get the hang of dwees version but it looks fine. Probably because I couldnt get back in to edit it once I clicked Submit.
The main function missing to me is access.
I don't want lists of grades viewable by students, only by teachers. Each student sees ONLY their own grades.
Then each student can see a coordinated summary.
So they see horiz strips one for each subject. Vertical columns (on this view) are the term weeks.
(Admin can split week into more than one col. if nec.)
Ideally a red alert tag for missing work, not just a zero grade.
Parents can also see this student coordinated summary page.
(Admin links student user to parent user/s)
Teacher can comment in blog format.
Links across the bottom of the GBk =
set of subjects that each open a Teacher's blog box for that subject. So like this:
ENGLISH MATHS GEOG HISTORY SCIENCES FRENCH (these are links)
If you click one its blog box opens across the whole width of the GBk below the sumnmary of grades for that student. So you can see the grades AND the comments together if you like.
The selection of links remains along the top of whatever blog box is viewed for navig.
Most recent post at top. List of week/ task titles with opening words of each post if any. That would allow brief comments to be ALL visible/ or to have key summary comment first so as to be visible, clickable link to read more.
I use vbulletin and will need to integrate with drupal. But I have a test VB I can try out on.
I have existing usergroups I set up for my classes. Not sure how drupal does usergroups but the blurbs say it integrates with VB so should be similar.
Er - please?
Problem with Gradebook module
I´m having an odd problem once i've installed the gradebook and og_gradebook modules. i believe it's this last one that is causing it, but have no idea how to solve it. The thing is that after activating the module, everything worked ok, but i did'nt even get to try it because i'm having this extrange behavior: once i had logued out, i couldn't login nomore, i got a blank page with the message:
"Fatal error: Call to undefined function arg() in /var/www/drupal/sites/all/modules/og_gradebook/og_gradebook.module on line 236".
even worse: then i started to get that message on the homepage! so it bloqued the entire site.
i tried adding to the url "/node" which is the default homepage and it worked, but when i wanted to login i got the same message again.
Any idea what the problem might be? and how can i solve it?
very weird error
I'm not convinced it's the og_gradebook module that is causing this issue. arg() is a pretty important function that is a part of Drupal. It is used to determine the various bits of the url path (www.mydomain.com/node/2 has arg(0) = 'node' and arg(1) = '2').
I suspect that you either have some files in the wrong location in your Drupal installation, or have some missing files. Have you tried re-uploading your entire Drupal installation (except the sites folder since it contains some important settings)?
Dave
thanks dwees, I´ll give it
thanks dwees, I´ll give it a try installing drupal from scratch ans see what happends, I realiced it was an important function, thats what the weird is about, I can assure you that this only happends when i install and activate de og_gradebook module, I've had this drupal installation for like a month and never had such a problem.
anyway, I'll let you know if the reinstallation solved the problem, thanks again
Ajax Table -- Just what the gradebook needs?
I came across this a couple days ago -- it could be useful in setting up data entry for the gradebook --
http://drupal.org/project/ajaxtable
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
Students Access to Grade Notes?
Hi,
I'm giving the gradebook module a test run, and so far I've found it can do pretty much all I need it to. However, I've run into a problem.
I'm not sure if this is a bug, or something I'm just missing, so I thought I'd ask here.
When I enter notes with a particular students grade, that grade value is rendered a link in the gradebook output, with the path like 'gradebook/$tid/grade/$uid/$nid/'. This is the same path I get as instructor when I enter the grade to begin with.
However, students clicking on that link will get an Access Denied message.
This led me to believe that there would be a "Access Grades" permission available, but there isn't. Also, I looked through the code and couldn't see any options for the path in question other than editing the grade.
So how can students access notes on grades that have been entered? I'm not using Organic Groups, if that matters, and I'm using the 5.x-1.x-dev version of gradebook.module.
Thanks,
Zach
My Solution
OK, so, I still haven't found this in the module itself, so I'm assuming that this is an intended but incomplete feature. On that assumption, I went ahead and made my own function using the gradebookapi. I'll paste it here in case anyone else wants to use it. I don't know if this is the kind of thing that could be added as a patch-- and I don't actually know how to do that. Anyway, maybe it's useful:
First, I set up a separate callback for users accessing an individual grade on an assignment. I did this by adding the following code to the gradebook_menu function, somewhere around line 141 in gradebook.module:
if (arg(2) == 'show' && is_numeric(arg(3)) && is_numeric(arg(4))) {if (arg(3) != $user->uid){
drupal_access_denied();
}else{
$uid = $user->uid;
$nid = arg(4);
$items[] = array(
'path' => 'gradebook/'.$tid.'/show/'.$uid.'/'.$nid,
'title' => t('grade information'),
'callback' => 'gradebook_grade_show',
'callback arguments' => array($gradebook, $uid, $nid),
'access' => user_access('access content'),
'type' => MENU_CALLBACK,
'weight' => 2,
);
}
}
That sets up a path with the new argument type "show". So the path a student will access her grades with will look like, for example, /gradebook/5/show/5/8. Incidentally, I know the user access thing is kind of ugly, but it was the only way I found to give a user Access Denied messages if she somehow attempts to access another student's grades. If someone can show me a better, more elegant, or more drupalish way to do that, I'd be happy to hear it. I didn't want to set up a new user access type, though (say, "access own grades"), because that seems redundant.
Anyway, I next created the callback function 'gradebook_grade_show':
function gradebook_grade_show($gradebook, $uid, $nid){
$grade = gradebookapi_get_grade($uid, $nid);
$node = node_load($grade->nid);
$account = user_load(array('uid' => $uid));
drupal_set_title("$account->name's Grade for $node->title");
if ($grade->exempt == 1) {
$output .= "<div style='color:red;font-style:italic'>Exempt from this assignment.</div>\n";
}else{
$output .= '<table><tr><td><strong>Earned:</strong></td><td> ' . $grade->earned . "</td></tr>\n";
$output .= '<tr><td><strong>Possible:</strong></td><td> ' . $node->possible . "</td></tr></table>\n";
}
if ($grade->note){
$output .= '<h4 class="gradebook-note">Note:</h4><div> ' . $grade->note . "</div>\n";
}
return $output;
}
Again, I'm sure this could be better, or more drupalish, (for example, I'm probably adding in unnecessary database queries to [re]build the grade and account objects), so suggestions for improvement are welcome.
Finally, I needed to make the links from the students view of the gradebook point to the 'show' path. I found this code around line 512 in gradebook.module:
if (gradebookapi_is_teacher($gradebook) || $grade->note) {$ret['data'] = l($text, 'gradebook/' . $gradebook->tid . '/grade/' . $grade->uid . '/' . $grade->nid);
}
else {
$ret['data'] = $text;
}
... and I changed it to this:
$ret = array();if (gradebookapi_is_teacher($gradebook)){
$ret['data'] = l($text, 'gradebook/' . $gradebook->tid . '/grade/' . $grade->uid . '/' . $grade->nid);
}else {
$ret['data'] = l($text, 'gradebook/' . $gradebook->tid . '/show/' . $grade->uid . '/' . $grade->nid);
}
As you can see, this will also generate links for all assignment grades, not just those with a note attached. This made sense to me, but of course, you don't have to do it that way.
Comments? Suggestions? Am I just reinventing the wheel?
I haven't run the gradebook
I haven't run the gradebook module, but if it's consistent with other drupal modules, you probably need to go to Users > Access Control and provide view access to whatever role students will have. Students may well be sent to the same URL but given different privileges to what that URL displays.
Right, that's what I thought
Right, that's what I thought at first. But in this case, the problem is that there doesn't appear to be a relevant permission being sent to Access Control.
There may be another way to make this note information available, however, since the gradebook rendering already has the note content available as part of the grade object ($grade->note). I'm working on something to make this visible, but it would be great if it's already built-in.
I've started to work on a
I've started to work on a 6.x port of this module (working from the 5.x-1.x-dev version)
since it seems to be a close match to my needs for a small (8 student) laboratory course that I'll be teaching in the spring. I figure this could be a great field test if I could get a functioning module by January.
So far, I've converted the install file to match the D6 Schema API, hook_menu to match the D6 Menu system, all forms to work with the D6 FAPI. The gradebookapi module installs correctly, adds database tables and the menu system and forms work as intended. Same with the gradebook module. I can add, list, and edit gradebooks and assignment (sub)categories (Taxonomies are created correctly).
I am now working on listing assignments and student grades (in function gradebook_gradebook_page within gradebook.module), fixing real bugs (like function calls with missing/mismatched arguments) and missing fields in the database tables....
If there is still interest by rwohleb and/or others, I can post the files. Perhaps these can form the basis for a D6 branch in CVS ? There has been some expressed interest in this and it might increase development activity. I am also interested in dwees work, but want to stick to the original module as long as possible until a consensus on feature additions/modifications is reached.
I am at a point where discussion on the broken pieces would be helpful to ensure that I stick as closely to the original intentions as possible. Perhaps the roadmap and documentation could also be further developed (I am willing to post an attempt, but its filled with guesses). I think the best place to post the technical coding questions is back on the gradebook issue queue, but there is not much activity over there and I wanted to see what the interest level was like now. If its non-existent, I'll just re-build the module to suit my needs, but I would rather contribute the drupal way.....
Gradebook 6.x.1.x-dev release
I've released a Drupal 6 version of the Gradebook module. Its ready for testing for anyone who is in interested. I've fixed all the bugs that I have been able to find and I think its fully functional. I have also added a lot of documentation and embedded help. I am going to test it on a couple of courses that I will teaching next semester, so you can expect so activity and response to support requests. I have some ideas about how to develop it further, but welcome your suggestions.
Issues with Gradebook 6
I am testing a course site for spring. I've tried adding the latest Gradebook release (6.x-1.0-rc1) and am having some issues:
I've created a gradebook, assignment content type, added categories/sub-categories to the gradebook, and then created a couple of test assignment pages for each of the sub-categories.
One issue I am having is with entering grades. When I click on "save" after entering a grade (as either a teacher or administrator), I am redirected to a "page not found." As a result, if I want to add grades for other students, I have to navigate through the menu to go back to the gradebook. I don't see a setting or other area where I can specify the site to redirect to after the grade has been saved.
After entering grades for all of the assignments, the "overall" grade is not appearing (individual grades are not being totaled), both in teacher role and student role.
When I click on a student name, the only thing that happens is the other student names disappear from view. To get them to reappear, I click on the view tab for the gradebook.
Thanks,
Barbara
I'm not sure if I'm missing something? I've set permissions and settings based on reading the documentation for the module. I am a relatively new Drupal user--this will be my first course site.
Thanks for your report. A
Thanks for your report. A few bugs have fixed since rc-1 was released and I am about to release rc-2. The 6.x.1.x-dev version already contains those fixes, and it would be a great help if you could try that version and let me know if the bugs persist.
In the 5.x.1.x and 6.x.1.x versions, clicking on the student name only isolates that student - not so useful. in the 6.x.2.x version (which adds new features) , when a Teacher clicks on the student name, it calls up a form to edit all of the grades for the selected student. So another possibility would be to try the 6.x.2.x-dev version and see what you think of that. But recognize that the 6.x-2.x branch is likely to be less stable than the 1.x branch since I am working on adding new features to that one.
Also, if you could post any problems you find in the gradebook issue queue, I'll be better able to manage the project.
Thanks again for your help on this.
BTW, I am also using this module for two classes this term - so if I see any problems they will be quickly fixed!
6.x.1.x-dev
Thanks, I've tried 6.x.1.x-dev. The issue with grade totals (overall grade) is resolved. The biggest issue for me right now is the redirect to a "page not found" so that I have to navigate back to the gradebook. I'll add this to the issue queue.
Barbara
Just want to say
I'm really glad to see movement/ongoing development with this.
Nice work.
FunnyMonkey
Click. Connect. Learn.
Using Drupal in Education
FunnyMonkey
6.x.1.x-dev Not sure what I am doing wrong
Drupal 6.8
I installed 6.x.1.x-dev, and created a Gradebook. It looked like just the one I need, but I am not too sure how the permission thingy works.
If I enable the student role (despite the notes on the Settings page), I can see the list of the students and I can enter grades, but they becomes public, even anonymous user can see. If I disengage the students role as suggested, the list of the students disappears. Any help would be appreciated.
-Hiro
Yes. I also discovered this
Yes. I also discovered this over the weekend and fixed it for the 6.x.2.x-dev new features version, but forgot to backport to the 6.x.1.x-dev. To address the issue, I have added a new 'access gradebook' permission so you can allow authenticated users (or any other role that you like) to access the gradebook. Students and Teachers should definitely be given the 'access gradebook' permission. I've just now committed the change to the 6.x.1.x-dev version.
Are you using organic groups? If you are, there is also an organic groups gradebook module which extends the gradebook module to provide a gradebook for every organic group. In this case the managers of the groups are assumed to be the teachers and the non-admin members of the groups are students.
I've ported organic groups gradebook to 6.x, but haven't (yet) been given access to cvs to allow me to maintain it properly - hopefully the current maintainer of og_gradebook will respond soon. In the meantime, I'll be posting a 6.x.1.x-dev tarball on the issue queue so other can use it...
Still no go
Hi Michael,
I just installed the today's build, run update and rebuild permission, emptied all the cache tables, but I can't find 'access gradebook' under permission page. The available update page shows 6.x-1.x-dev (2009-Jan-19). Any advice would be appreciated.
And yes I do use OG (following Bill's great book) but I was under the impression og_gradebook isn't available for Drupal 6 yet? I am on Drupal 6.8 (soon to be 6.9).
-Hiro
The nightly snapshot hasn't
The nightly snapshot hasn't been rolled yet...it can take up to 12 hours for it to catch up. So you might need to wait a while longer, or you can get the current file out of cvs. The patch (small just a few changes) can be found at the following link..
http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/gradebook/g...
You might just want to work on other things for a while until the snapshot is updated.
The link to the og_gradebook issue with the current 6.x.1.x-dev tar file is http://drupal.org/node/350965.
I am using it this semester for a couple of live classes, so I will be eager to help shake out any remaining bugs...
og_gradebook
Hi Michael,
Do I understand correctly that og_gradebook needs gradebook.module since it is an extension? Or this og_gradebook will solve the permission issue right away as a stand-alone module? If so, do I need to uninstall gradebook.module and its API?
I am not really utilizing OG so far. This is because I am the only teacher/admin for this site, and everyone else are students. I installed OG to separate different classes but haven't done much with it except hiding assignment nodes from irrelevant groups including public.
I will wait for the new build to show up. I am already way behind on my class preparations right now :-)
Yes, og_gradebook requires
Yes, og_gradebook requires gradebook - all it does is provide a gradebook for each group, and determines teachers and students directly from the group membership - very useful if you have multiple classes. But with one class, you won't need it.
I just checked and the new nightly snapshot has been released with the added access gradebook permissions. Give it a try when you get a chance and let me know how it works for you. Thanks.
Multiple gradebooks
Yes, I do have multiple classes, so I just installed og_gradebook.
I have a question. How do I make multiple gradebooks to a group? The reason I ask this is because I have 3 quizzes those which won't be included to the real grade. If there is a way to put them aside from the other items then I won't need a separate gradebook.
Either way, if you have a solution, I'd very much appreciate it.
-Hiro
Only one gradebook per group...
Right now it only handles one gradebook per group. If there are a few assignments that you don't want tallied in to the final score, you can select "Exempt student from this assignment." The score will still be shown, but styled differently and not counted in the total or total possible. The default css file will display it in a different color with a line through the number, but you can theme it however you like by adjusting gradebook.css. I am not sure if this will do it for you or not.
That might work, but..
I think I have a bigger problem.
I have different classes, and I have separate groups for the same class because of the different day/time. The problem is, they are all under one role, 'Student, Spring 2009.
So, there doesn't seem to be a way to do the gradebook without og_gradebook. Is this correct? And if I use og_gradebook, I have to create duplicated nodes and duplicated categories for quiz/exam/assignment because a grade node can be assigned to only one category, and each gradebook cannot share the category. Is this correct?
-Hiro
Correct.
Although I am not entirely sure I see the problem with having all students in the same gradebook if they have the same assignments and requirements.
Is the problem not being able to determine which student is in which section, and/or determining averages on assignments for each section of the course?
Perhaps having a student roster for each gradebook that gives you a form showing all of the students in the selected roles with checkboxes to include or exclude and an optional field for providing additional information (like assigning to a sub-section / group / or team). With this the gradebook page could also be filtered to show either the entire class or a section.
I also would like this approach for og_gradebook. The assumption that the manager is the teacher and all the members are necessarily students may not always be correct.
Let me know if this addresses your concern. If it does, it sounds like a good feature request to add to the list.
A little more complicated situation
The gradebook categories are totally different between the 2 classes I teach this semester. In other words, the sections for different day/time will share the same categories, but not between these 2 classes.
And yes, having long list with only user name shown is pretty difficult. No matter how many times I asked them to create their user name that I can easily guess their name, they will put ones almost impossible for me to identify them. Since gradebook isn't a customizable view, I can't use their real name from their profile.
While I think student roster combined with gradebook will be useful, I am all set for the roster since I made taxonomy per class and prints to a view with their real name.
I think my feature request would be the ability to assign multiple gradebooks to a node so I don't need to duplicate quiz/assignment node for multiple OG gradebooks.
p.s. A student roster module to replace OG might be muento cool :-)
-Hiro
I'll have to think about the
I'll have to think about the multiple select idea for gradebook category....I am not sure what problems I might encounter along that road, but I'll look into it.
I like the idea of being able to use the student's real name from the profile and will look into that as a feature request as well.
Testing 6.x.2.x-dev
I've tried 6.x.2.x-dev on a test site and so far it works perfectly. My previous issue with redirects to a "page not found" after saving grades is resolved. I'm able to either enter grades for all students for an assignment by selecting the "edit all" link or for individual students. I don't have any access issues, though anonymous users don't have permission to access any content on this particular site. Student access to the grade book calls up the list of grades for that student only. No problems with accessing the comments associated with the grades or returning to the grade book list.
I haven't tried the og-gradebook yet.
Barbara
Thanks for the feedback
Hi Barbara,
That's great. I am glad its working for you.
Out of curiosity, can you tell me when you downloaded it?
I am still adding features to that version so it is changing day by day. Still, its also the version that I am most actively testing, so I plan to keep it stable enough to be able to reliably test each new feature.
The current version now permits:
Other features that I would like to implement include:
As you use it, if you think of a feature or a change that you would like to see to the interface, please let me know. I appreciate your input!
You're welcome
I downloaded it the morning of the 20th. I was running Drupal 6.8 and had several db errors related to the assignment due date/publish feature. Upgrading to 6.9 seems to have taken care of that problem.
I've tried out export, I frequently export grades to an excel spreadsheet so I appreciate this new feature.
I often use a pass/fail system for forum posts so display of non-numeric grades would be a plus.
Another feature I would like is to be able to upload files when entering grades. I teach writing and typically mark up and comment on student assignments that are submitted as Word or pdf documents. Those comments are usually more contextual and detailed whereas I use the comment box in the gradebook for general feedback. Right now, I email those documents back to the student in addition to posting their grades in the gradebook. I would like to be able to return those assignments via the gradebook so that students can view both the grade/general comment and have access to the document returned from me all in one place.
Barbara
Did you run update.php when
Did you run update.php when you upgraded from gradebook 6.x.1 to 6.x.2.x-dev? That should have fixed up the database for you. I am guessing that when you upgraded to Drupal 6.9 you must have and that fixed it. Drupal 6.9 isn't the key (I am still on 6.8!), i think it must have been running update.php - but let me know if I am wrong.
I don't think it would be too difficult to allow an optional file upload in addition to the comment box to provide feedback for students. I'll let you know more after I give it a try.
Another (all Drupal) approach would be to create a content type for writing assignments, give students permission to create these, and prepare their composition using one of Drupal's rich-text editors. With their submissions as nodes you could mark them up by posting comments (or even directly editing their work and typing in a different color). You can allow for re-write cycles by saving node revisions, etc. You could also use Views or Nodequeue to provide a listing (table of contents?) of the students work. This would be a little easier (for the gradebook anyway) because then the gradebook could just link to the assignment submission node. I also like this approach because it does away with email. I suppose the disadvantage is that sometimes its just nice to write on paper!
Chiming in
When I had coherent_access issues, I had thousands lines of duplicated key entry db errors, and update.php wasn't helping. Back then I didn't connect the module to the errors since the error itself was suggesting menu problem. When you fixed the module, I was surprised that the error also stopped (well, almost.. I saw a few lines of the same error twice later, but it is now much less).
By the way, I just installed gradebook-6.x-2.x-dev.tar, 1/222/2009 2 AM, and it seems to be working great as advertised. Thank you so much!
-Hiro
I didn't run update.php. I
I didn't run update.php. I had upgrading to 6.9 on my task list so I just went ahead and did that.
The content type for writing assignments approach will work well with the course I'm using Drupal for this semester (it is a senior level tech communication course, I'm using content management as the theme). This is my first go with Drupal as a course site; long term I'd like to move all of my courses off Blackboard. Some of them, this stragey would work well. But other basic tech writing courses require students to write in fairly traditional formats--and that means print, whether it be Word or pdf. Also Powerpoint files, typically narrated. And that means uploading files with comments would be a big plus.
Thanks,
Barbara
Menu Issue
Hi Michael, I installed og_gradebook.
The predefined menu goes to /gradebook, which will list all the existing gradebooks to the student. Is there anyway to send the student to their gradebook directly and preventing from them seeing other gradebook names?
Best regards.
-Hiro
Yes!
Sorry I overlooked this. Thanks for pointing out the problem. The expected behavior would be to only list the gradebooks that the student (or teacher) is affiliated with. I've just fixed this problem in the gradebook module so if you use the latest dev, you should be able to use the suggested menu item.
[Edit: So you can ignore my previous comment about not using the menu suggested item when using og_gradebooks! ]
Not sure if I understand this - Now I did!
I am not sure if I understand this. If I create mysite.com/gradebook menu, the page will list all the existing gradebooks. A student can click open them all even though they are not the ones the student is affiliated with.
I still feel I am missing something here.
-Hiro
==========
Ahhhhh! You meant try 2/10 build! I can see it is working. Thank you so much. By the way, is it possible to open the affiliated gradebook directly instead of mysite.com/gradebook menu goes to Gradebook list page? It doesn't look easy coding on your end, tho.
-Hiro
If the user is affiliated with only one gradebook...
This will work. If they are a member of two or more gradebooks, a table of gradebooks to select from should be displayed. And if not affiliated with any gradebook, the blank table is replaced with a helpful message.
I just committed the change. You should see it the next snapshot. Let me know if this works as you would expect it to.
Yes.
Don't use the gradebook suggested menu item when using og_gradebook. Instead, enable the group details block (provided in the OG views integration module that comes with OG) and a Gradebook link will be displayed in that block (on the group homepage). The link is determined from the group context. I've also found it helpful to create a views block to provide links for each course that the student is a member of, so that when the student clicks on those links they are back at the class homepage.
Without views, another way is to do this would be to provide your own static link to the gradebook wherever you feel it is appropriate (i.e. http://www.example.com/og_gradebook/66 , if the gradebook taxonomy term id happened to be 66...).
Hope this helps!
I now have access to the og_gradebook cvs so I should be able to better maintain the 6.x-1.x-dev release soon.
Mmmmm
I do have Group Details block enabled before I installed gradebook and og_gradebook, but gradebook link isn't showing there. I was also wondering about that 'my class' link in that block. The link sends students to http://example.com/og/my, witch isn't the class home page but the list of the groups instead, while they only see one group instead of the entire list.
The static gradebook link, how do you control the term id for the menu which is shown to the student who are logged in?
Thank you for your time! -Hiro
If you created your og
If you created your og groups before enabling og_gradebook, then you need to 'retroactively add gradebooks' to these groups. See the admin >> help >> OG gradebook , or just go to administer >> site configuration >> og gradebook . There is a button on that page that you should press to add gradebooks for already established groups. All groups with gradebooks should have a link in the group details block.
Once og gradebook has been installed, a gradebook will be created with each new group that you create.
If this doesn't fix it for you, let me know and I'll look into it.
In fact
Sorry I should had mentioned earlier. In fact, that's how I created my gradebooks. I even deleted my test gradebook I created before og_gradebook. In other words, all of my current gradebooks are created with the 'update old groups' button, yet they don't show under the group detail block.
Hummm.... Can you access the
Hummm.... Can you access the group gradebooks at admin/gradebook/gradebook? I am trying to understand if its just a problem with the link in the block, or if the gradebooks aren't being created.
Also, see if you can access the group gradebooks directly the through og_gradebook/gid (where gid is the group id / taxonomy term id for the group)
If the gradebooks are created and all that is wrong is the link, then the hook_og_create_links isn't being called...
Did you run update.php after enabling og_gradebook?
(momentarily running out of ideas here....)
I was also wondering about
I am not sure I understand this. There isn't a 'my class' link in the group details block by default, so another module is inserting a link to put it there (og_gradebook implements hook_og_create_links to insert a 'Gradebook' link in the block - it doesn't insert a 'my class' link). Perhaps I am not understanding your question here...
I was suggesting that you could include a link on the group node to the class gradebook (in the welcome message for the class home page). When the gradebook is created, you can see the taxonomy hierarchy for each group gradebook at content managment >> taxonomy >> gradebook >> list terms , and can figure out the taxonomy id from the link for the group name (i.e. by mousing over the term name for the group) - the term id is the number in the link...
I hope this helps....I am not sure if I am coming close to answering your questions! If not, let me know and I'll try again...
Oooops!
I see my problem now. Group Details block isn't showing at all. I ran update.php, rebuild permission, moving the block to different regions, changing the block title and re-save, but to no avail. The block is set to show on all the pages. I also tried to change the display per roles option but no matter what I try it won't show. This is the same with the local dev machine.
Hmmmmm...
==== Update ====
I just enabled all the group related blocks, and none shows up to any region. Any advise would be very much appreciated.
-Hiro
As long as you are on a
As long as you are on a group node (and probably any node posted into a group for that matter) the group details blocks (and other og blocks that depend on group context) should display unless configured to do otherwise.
Are you using any other modules that could affect block visibility, like og_block_visibility ?
I didn't know.
I didn't know you have be in one of the group nodes to see these og blocks. That's why I thought I saw it some time ago and I couldn't find it anymore. D'oh.
Now I see gradebook link. OG Grade book is working as advertised! But the og menu block disappears when you open the gradebook page. How do I stop this to happen? I rather have OG menu block shown all the time so no one gets confused like I did.
I feel I still haven't learned how to use OG. In the OG details block, there are a few things I don't want to show, like 'manager' and list of the member. Is this controllable?
Anyway, thank you so much for this module. This is going to be a lifesaver. Do you think we should move to a new OG thread since this is no longer a gradebook issue? -Hiro
== Update ==
Oh boy, if you are user/1, you will never see any of og blocks even though your are in one of the group nodes. Is this the way it is? I finally saw the block when I logged in as a student role then opened one of the group posts. Something doesn't feel right :-(
group context for og_gradebook
This is fixed in the latest commit to og_gradebook. Note that there is now a 6.x.1.x-dev release of og_gradebook. The changes are in cvs now, and will be available soon through the nightly snapshot.
I agree starting a new thread for general questions regarding OG and setting it up for an educational site would be a good idea. You'll likely get more responses since it is more broadly used than Gradebook is.
If you encounter more problems with Gradebook, or have suggestions on features requests, feel free to keep posting here or in the issue queues for gradebook and og_gradebook.
Gradebook assignment problem
I created a set of quizzes and assignments nodes to OG 1. The same quizzes and assignments are also needed for OG 2. I installed clone module and cloned these nodes but the gradebook assignment pulldown menu won't show other OGs.
It seems once you save a node with assigning to one og_gradebook, you will never be able to move to another og_gradebook. Is this the way it is? Can this be a feature request? -Hiro
Select the OG audience
Hi Hiro,
After you clone the node you should be able to edit the clone and then change the audience. Then edit the node again, and the drop down menu should show the gradebook categories appropriate for the new audience. Give this a try and let me know if it still doesn't work for you.
I think if you select multiple audiences for the same node, it only shows the gradebook categories for the first, and probably won't work as you want it to...but when I get a chance I'll try to see if its possible to modify the code so an assignment can be counted in multiple gradebook categories...
It worked!
Thank you so much! You saved me once again!!
-Hiro
Taking a step back, and assessing site goals
Hello, Hiro,
Based on the various threads regarding your site, you might be at a place where you could benefit from a top-to-bottom assessment of your site's architecture. As you build more functionality into your site, it becomes more complex to simply drop in features, as additional features often have unintended and undesired consequences.
Also, unless you are working on a test/development site (which I recommend in all cases) you probably have a lot of cruft in your site and your database from modules you have evaluated. These can be causing performance issues, and unpredictable glitches.
I would recommend starting with a writeup of what you want students to do, what you need to be able to do, and then solutions to these needs can be crafted as part of a planned implementation.
And, if you have that writeup already done, please post it to the group, as it would help others in the process of planning their sites.
Cheers,
Bill
FunnyMonkey
Click. Connect. Learn.
Using Drupal in Education
FunnyMonkey
Understood
I hear what you are saying, but I am not where I want to be yet. I think OG is the one making me uncomfortable.
OG blocks/menu being not controllable is one.
Having multiple groups for sections to one class is making things difficult.
So far, I haven't felt I am benefitting from OG yet. I fear the db health issue as you said. I try everything on my local dev machine, but I have been updating the live site since classes are already in progress, so my live db has been equally abused. There are just too many contents already to start over.
I can't imagine what would had been without Michael's help on gradebook and coherent access module. I am attending Drupal Boot Camp next month, hoping to learn how to hack php by myself so I could take care of myself better :-)
Anyway, I can't forget to thank you for the great book!
(Tho, my original order was lost in the mail and the publisher never responded to my email. Oh well)
-Hiro
it works! it works!
In my best, "Boss, it's ze plane!" voice.
I've just added the gradebook module to my course site and I'm very, very happy with the result. Thanks for all your work fellows!
Taxonomy
I have the event calender installed. Gradebook items shows per OG nicely when the student is logged in. I do have the OG Calendar installed but that won't give me a calendar block so I am using the Event module for the calendar block.
The problem is that the Taxonomy filter list will show Gradebook items which belongs to other OGs in the Event Calendar page. This well maybe an Event module list, but I thought I ask here first.
It's not that a big deal since I just took the filter list out from the page, however.
-Hiro
Sorry, I haven't worked with
Sorry, I haven't worked with the event module yet. Can you tell me a little more about what you want the calendar block to show? I assume the gradebook items that you refer to are nodes that have gradebook category terms (i.e. assignments)? I expect the problem is that you don't want nodes with any term in the gradebook vocabulary (which contains all the gradebooks and their categories), but those within a specific gradebook (term) and its child terms. I am not sure if you can do this with the event calendar, but if you can select a parent term using php, the term that you want for the group gradebook is given by og_gradebook_get_gradebook($group->nid), where $group is the group node object. Let me know what you learn. I'll have to try the event module sometime to see how it works. At the moment I my daily class schedule is a table, manually linking to the assignments. It sounds like you may be on to a better solution....
Ur..
Hi Michael,
Well, I disabled Event page's filter, and now I don't remember where I did this. I wanted to enable it again to explain to you but for the life of me I can't(!).
Let me try to explain. In gradebook, I create a new Quiz/Assignment item. They have tied to Event for the Due Date. This is why they shows up in the Calendar, which is a great feature. Student click on the date cell and they will see the review for the Quiz or the requirement for the Assignment. There is one buggy behavior in this, however. The time I set changes by itself every time I save. I set the deadline to be 9 AM, and when I save it, it moves to other time, like 12 AM, but the offset is totally random - yes, my site is set to GMT static. Since I couldn't find any post about this behavior, I was wondering if there is a specific conflict between gradebook and event modules.
The first minor problem related to this thread is that the exposed filter will show the categories even though they belongs to other OG. The student doesn't need to see these unrelated categories, but then again, it isn't a big deal since I disabled the filter all together. The filter was only good for finding the exact date by single out the Quiz/Assignment, which isn't too important.
The bigger issue for me is this.
You might recall that I have separate OGs for different sections of a same class. This requires cloning these Quiz Review and Requirement for Assignment gradebook nodes multiple times, plus, because the class syllabus page shares between multiple sections (OGs), I can't reuse these Quiz Review/Assignment gradebook nodes in the syllabus, and I have to create a page node by copy/past.
The maintenance has been a hell. So, I guess my feature request to solve my case is a node_ref implementation?
-Hiro
Have you tried using the
Have you tried using the Date module + the Calendar module instead? I've found it to be a more stable and better maintained set of modules than the Event module. You can also add Date fields using the Content construction kit (CCK) to your Assignments and display them in a Calendar. This behaviour should be completely independent of the Gradebook module, I can't see any conflict being the problem.
Dave
Yes
I did start with Calendar module but I needed the OG Event feature. When I tried Calendar module, I couldn't find the way to avoid one OG to see other's schedule.
-Hiro
Looking into this...
Hi Hiro,
I'll look into this and see what can be done. Honestly, I am a little surprised that the gradebook dates can be seen by the event module. I think that a views-enabled (or event-enabled) gradebook would be great to allow just the kind of assignment calendar you are trying to be put together. I'll put that down as a feature request, but it may be some time before I have time to figure out how to do it.
For now, I've provided a simple block to list assignments for the logged in user by date and by course - but its not a calendar.
I am working on how to have an assignment be listed in multiple gradebooks - that would take care of the cloning issues you are facing. I'll let you know when I have something on this...
Could it be this simple?
Hi Hiro,
Try this out and see if it allows you to work with a single assignment posted in multiple gradebooks.
Its a simple - one line patch. comment out line 201 of og_gradebook.module,
//$root = og_gradebook_get_gradebook($group->nid);, and in its place add$root = 0;.Then, go to administer >> content managment >> taxonomy and edit the Gradebook vocabulary. In the settings section, check the "multiple select" box (required should already be checked - leave it alone).
That's it! Now you can select multiple gradebooks when creating the assignment.
I have not tested this thoroughly, but it seems to work. If you are willing to give it a try, let me know if it works as you need it to. If it does, I can make it an option on the og_gradebook administration that can be enabled as desired.
Yey
Hello Michael,
Apology for late response. I just tried your trick and it seems to be working great. I will do a few more test runs on my dev machine, but I think this is going to be the ticket to solve my headache!
Thank you so much again.
-Hiro
Update====
There is one minor glitch. With this neat trick, I now wanted to unpub duplicates but there doesn't seems to be a way to remove the link to the gradebook. Without removing the link to the gradebook, Drupal 6.8 won't let me unpub them. I was still able to delete them, however.
-Hiro
New Features
Continuing on the development of the gradebook module, I have added some new features to the 6.x.2.x development version. I want to test it further before releasing another beta version. If you are interested in these features and would like to help me out by testing it I would appreciate the feedback.
File attachment support: With this feature students can "turn in" an assignment, and teachers can return graded work via the gradebook. Teachers, students, and/or others with appropriate permissions (by role) can attach files below the note box. Multiple files can be attached. Students can remove the files that they have attached, and teachers can remove any attached file. Permissions for file attachment are controlled by the admin at the gradebook administration settings screen. Relies on the upload module's settings to control allowed file types and quota per user.
Fixed pager support for gradebook pages with many assignments or edit forms with many grade entries. Added general gradebook configuration of the number of grades to display on a gradebook page.
Themed the grade entry forms to be nicely formated tables. Less code to manage and a more consistent, uniform css-styled UI.
Changed the {gradebookapi_grade} 'earned' field so it can be null. This allows for grades to be
reset to null when the grade is edited, if desired. It was previously being reset to 0.
Modified earned and possible fields in gradebookapi database tables to be of type float instead of int. This will make future grade conversions/scales easier to implement and allows for fractional points now.
Implemented hook_block to provide a block that lists all the assignments for a student or teacher that will be due in the future. The list is sorted by gradebook and then by due date. The assignment titles are given, along with the total possible points and the date due. The assignment title links to the assignment node.
To allow finer control over the date settings (hours and minutes), I implemented a date_popup element from the date api. I don't want to add a dependency, so its a optional feature. On the gradebookapi admin screen there is a checkbox which will enable the use of date_popup on the assignment forms. Leave it unchecked if you don't want it.
Added a custom date format element to the gradebookapi admin form. This optionally sets the date format used in the assignment block and and on the gradebook page.
Updated README to explain some of the new features.
A lot of code has changed so its needs testing. If you upgrade to the latest 6.x.2.x-dev version please make sure you run update.php since there are several database updates that must be made.
file support test
Thank you, this is excellent. I've loaded the new dev version and tested the file upload feature.
In the instructor or admin role, uploading files, viewing them works well. The "return to gradebook" button doesn't work though clicking on the "save all" button saves the changes made (including the uploaded file) and returns the page to the main gradebook screen.
In student mode, the student can view and open the file uploaded by the instructor. Same issue with the "return to gradebook button." In addition, the student can upload a file and it initially appears in the gradebook. However, the file is not saved (even when "save all" is clicked) so that when either the student or instructor goes into the gradebook, the file isn't there.
I like themed forms--the formatted tables make viewing and using the gradebook much more user friendly and readable.
I haven't tested the other features or with organic groups yet; most likely will get to that at the end of the week.
Barbara
Thanks Barbara
I am really surprised that the 'return to gradebook' button doesn't return you to the gradebook page, but the 'save all' does since both buttons are assigned the same path in the code. I'll see what I can do to reproduce it. Can you tell me what actually happens? Does it reload the form page, give you a page not found error, or (hopefully not) a white screen? Also, if you can tell me what url is displayed in the browser that would help too.
For the student upload problem, can you verify that 1) your attaching the file (attach button) after you browse for the file, and that the 'list' box is checked when student saves the file? I assume this is happening, because you've got it working for the teacher role, but thought I should ask just in case. After the student hits 'save all' and return to the gradebook are their any messages displayed at the top of the screen? If so, let me know what they are.
Thanks!
Further testing
Return to gradebook: I cleared out the browser and shut it down and signed back in. That seems to have worked, the button now works. I don't know if that was the issue or if there was something else I was not seeing originally but it works now.
Student upload problem: I've attached 3 screen shots so you can see what it looks like. The first (studentview) shows the uploaded attached file before hitting "save all." You can see the file appears as an attachment and list is checked. I can also open and view the file from this screen. Clicking "save all" returns to the main gradebook page for the student.
The second (studentview2) is the same assignment summary page in the student gradebook. You can see the file is now gone. It does also not appear in the assignment summary view for the instructor. But--uploading the same document to the same assignment summary page in instructor role does save the document so it is viewable by both instructor and student. And that's when it gets weirder. After I upload and attach the file in instructor role, not only does that file appear as attached, but it appears multiple times. The third screenshot (studentview3) shows the student view of the assignment summary page after I've attached the file in instructor role. I'm guessing the attachment that is greyed out is the one I attached as an instructor and that the others are the attempts made when signed in as a student? So it looks like they are getting saved in student role, just not appearing in views (but I'm guessing here).
The screen shots are from the OG gradebook but the same thing happens in the general gradebook.
One other issue with the OG gradebook: The group gradebook lists all students in the class instead of only the students enrolled in the group. So far, that and the file upload problem are the only issues I see with the OG gradebook.
And thank you for the assignment block. I've been using the event module to do something similar but the assignment block is much more efficient and eliminates some of the problems with the time feature of the event module.
Barbara
Trying attachments again
Sorry, not sure what I did; attempting to attach the 3 student views again.
Thanks for trying to attach
Thanks for trying to attach the screen shot but the image is being clipped so I can't see the list checkboxes. To give you an idea of what it ought to look like, I've attached a screenshot on the gradebook project page at http://drupal.org/node/370742.
Sounds right. It seems like a problem with the list checkbox in the student view. I'll keeping looking for the problem and let you know when I find it.
After the student hits 'save all' and return to the gradebook are there any messages displayed at the top of the screen? There should one saying something like "Updating settings of attached file. Saved 1 grade."
By all students 'in the class', do you mean users of a (Drupal) role that you have designated as a gradebook Student Role in the sitewide gradebook settings at Administer > Gradebook > Gradebooks (admin/gradebook/gradebook/settings) ?
Can you verify that you don't have any Student Roles checked on the sitewide settings? Student roles are determined from og membership in og_gradebook, assigning sitewide gradebook student roles will lead to the behavior that you describe with non-group members shown in the group gradebook.
Nice
Thank you so much for moving forward on this project. I particularly appreciate the Assignment Block.
However, I am still looking for the way to have an OG specific menu link for both students and myself. Right now, student must be in the OG node type to see the Gradebook link. For me, I have to go to Admin >Gradebook to access them. It can be a little inconvenient. I actually would like to learn how to pull OG related node depending on the user. Right now, www.example.com/my/og will call a page that lists the group, and you must click it to get to the OG home page. This is a bit frustrating. I know it's not a gradebook issue. I just had to try asking here.
The new Grade Entry Form looks great. Do I understand Select button is to make it exempt? One another thing. On my Safari, the grade point filed is only 2 digits wide so field truncation occurs. I believe you might want to widen it especially for the new decimal point feature.
-Hiro
Sounds like you want a block
Sounds like you want a block that will provide links to whatever gradebook the logged in user is associated with, whether student or teacher. That is not hard to provide, and would complement the assignment block that is already provided.
Thanks for letting me know about the problems with the grade entry form. I have not been paying too much attention to getting all the details of the form down right for the various browsers. I'll fix the earned textfield so it has at least four digits.
The select button is to select which grade you want to attach a file to, since there are multiple possibilities. If you aren't attaching files it doesn't matter.
To exempt a student from a grade there is a checkbox in the exempt column.
I like Menu...
Block is good, but I still like menu better. Block takes space. Right now I have a problem with OG Details block which shows more than I want, and taking up the space.
It would be super if I can make "my gradebook" in the Primary menu. Is this possible?
-Hiro
See my reply at
See my reply at http://groups.drupal.org/node/6447#comment-65478
Thanks, again... "After the
Thanks, again...
"After the student hits 'save all' and return to the gradebook are there any messages displayed at the top of the screen? There should one saying something like "Updating settings of attached file. Saved 1 grade.""
Yes, that appears. Here is the full message after clicking "save all:"
But, when I then click on the grade to go back to the assignment summary page, the file is not there. It also does not appear in the instructor assignment summary view until I attach a file in instructor mode. Then all of the files appear in both the instructor's and student's assignment summary.
"Can you verify that you don't have any Student Roles checked on the sitewide settings? Student roles are determined from og membership in og_gradebook, assigning sitewide gradebook student roles will lead to the behavior that you describe with non-group members shown in the group gradebook."
Yes, that was the problem. Fixed now, thank you.
Barbara
Cache issue?
Its clear the file is being attached, saved, and the database is being updated.
This is sounding like a cache problem - the page is being returned from the cache and not reflecting changes to the database. Can you tell me what your cache settings are ? Try disabling your browser cache and set the caching mode to disabled in Site configuration >> Performance. If this corrects the problem, then I might need to have the gradebook module force a cache refresh after the grade is saved. This would also explain why I haven't been able to reproduce it, since I disable page caching during module development....
Thanks!
Thanks, again. Cache is
Thanks, again. Cache is disabled in site configuration and Firefox (the browser I use most) is set to empty cache when it is closed. I also test in IE since many students use it. I've changed temporary file setting from checking automatically for new versions to "every time I visit the page." I'm not sure if that was causing the problem but file upload seems to be working ok now.
Barbara
weighting grades
This is the one I need most. If we have that feature just about all the other profs in my department will be asking me to build them a site.
That is on the todo list -
That is on the todo list - hopefully in the next couple of weeks. Thanks for the input!
Need to separate
Hi Michael,
I have 2 gradebook content types, one is Assignment, and the other is Quiz. The problem is that Quiz node displays "Assignment is due on this day and this time" even though there is no time field to assign time. It would be better if there is an option to remove date/time info since I share these node between different sections of the same class. Some of them are on the same date but different time, and so on.
Any help would be appreciated.
-Hiro
I wonder if we're not trying to make Gradebook do too much?
I've made extensive use of Bill Fitzgerald's book, Drupal For Education..., and I also make use of Gradebook.
Now that Bill has explained CCK to me so well with his book, I've found it a lot easier to create an Assignment content type that reflects the information requirements that I need for a course and simply modify the Gradebook entry to reflect the same date as my Assignment content.
If you like I can show you this at work at a site I'm using with my students this term. Message me and I'll arrange access to that gradebook for you if you wish.
I'd be a lot happier, as I mentioned in another response, if the Gradebook module focused on flexibility of grade management (e.g., proportional/weighted marks, decimal marks instead of whole numbers), especially as CCK allows us to customize the actual Assignment content to fit our specific needs.
I have the feeling that too much emphasis is being placed on file handling features and delivery which reminds me too much of the horrors of WebCT.
With the gradebook module,
With the gradebook module, assignment content types are created using CCK. You then identify those content types in the gradebookapi configuration. Gradebook just adds a couple of fields that it requires to organize the assignments by date and handle publishing them at the appropriate time. You can choose not to use those fields in the display by overriding the theme functions.
floating point grades are now the default in 6.x.2.x branch, and proportional, weighted marks, and non numeric grades are in the development queue.
The file handling features are optional. You can disable them in the sitewide gradebook settings. Allowing for this feature does provide additional overhead, but I think that those who need it will really benefit from it.
One thing I am working on is a gradebook "response" type that is much more of a Drupal solution to handing in assignments. Students can create content and identify that it is a response to one of the assignments that exists in their gradebook. Since its a drupal content type (not a file), they can be designed using CCK - gradebook module just adds a couple of fields to tie it to the gradebook. They can also designate whether the response is in progress, or completed. The response and its status shows up in the gradebook to alert the teacher that an assignment is ready for grading. Once the teacher grades the response, the status is set to graded and cannot be changed by the student again. I am still testing this, but expect I'll use it more than the file attachments feature...
Thanks for your comments. I need all the suggestions I can get!
Agreement here. We're
Agreement here. We're accomplishing a gradebook w/ Views2, CCK, some glue code for an instructor interface to streamline assessment, and the Views Bonus Pack (csv exporting). The ajaxedit project that Bill referenced way of the discussion also has come along quite ways as there is an editfield module which i'm currently playing around with to see if that could take the place of the instructor interface that I had created previously. This is a great looking project, just seems like a lot of these things can be cobbled together w/ reusable parts sitting out there.
"Plaguing the world with Drupal; One Plone, Moodle, Wordpress, Joomla user at a time since 2005." ~ btopro
http://elearning.psu.edu/
http://elearning.psu.edu/projects/
http://elearning.psu.edu/drupalineducation/
Ex Uno Plures
http://elmsln.org/
http://btopro.com/
http://drupal.psu.edu/
Theme override
The due date text is themable - so you can override the modules default behavior to do whatever you like. See http://drupal.org/node/173880 for details. Sorry I haven't had the chance to document this in the gradebook module yet. But the function you want to override is in gradebookapi.module
function theme_gradebookapi_assignment_due_date($due_date) {$output = '<div class="gradebook-assignment-due">'. t('Assignment is due on') .' ';
$output .= '<span class="gradebook-assignment-due-date">'. format_date($due_date, 'custom', 'F j, Y');
$output .= t(' at ') . format_date($due_date, 'custom', 'h:i a') .'</span>';
$output .= '</div>';
return $output;
}
To override it, you create your own version of the function in your themes template.php file. Here are the steps to take:
1. Copy and paste the original function into your template.php file.
2. Replace the word 'theme' with 'phptemplate'
3. modify the function to do what you want it to do... in this case you are asking to modify the output of the hour (third $output line).
4. save your template.php file and clear the cache so your override function will be recognized by the theme registry.
This is probably the function you want, but feel free to change it to be however you like:
function phptemplate_gradebookapi_assignment_due_date($due_date) {$output = '<div class="gradebook-assignment-due">'. t('Assignment is due on') .' ';
$output .= '<span class="gradebook-assignment-due-date">'. format_date($due_date, 'custom', 'F j, Y');
$output .= '</span>';
$output .= '</div>';
return $output;
}
Solved!
Once again, you rescued me!
By the way, how come your explanation on hacking is so, so, so easy to understand compared to Drupal documentations? I have Drupal Dev book. I have printed pretty much all the Drupal dev documentations from the site, but I always felt those documentations are rather unfriendly to noobs, while I always understand your explanation right away!
-Hiro
Thanks
Just part of being a teacher? An important part of teaching is to always remember what it is like to be a new student, learning for the first time. In this case, that is very easy for me because I am also learning this as I go! So keep the questions coming...I have much more to learn!
Can you repro?
Hi Michael,
Every time I save, the assignment time changes by itself. The amount of the shift is totally unpredictable. I set it to 9 AM. Next time I save might be 2 PM, or 2:30 PM, or 5 AM, or 9 PM. I have reported this before but you might have missed it. Can you reproduce this?
Since I hid the time field of the due date with your help, this isn't a too much of a big deal, except that this shift could causes the date change intermittently. One day before, or one day after. Pretty unpredictable.
Another bug:
Safari on my OSX10.5.6 shows Calendar popup blank in the Assignment Date filed. I know you might not be able to do anything with this. It is fine with FireFox3 however. I use Safari for admin, and FireFox for FireBug.
If you can't repro both of them above, it might be JP locale related.
-Hiro
Not yet
I'll look into this. I am reworking part of that code right now anyway, so I might just have you check to see if the problem persists after I get the next round of updates in.
The blank Calendar popup is a issue that has come up before (last summer) with Safari (http://drupal.org/node/273369). It doesn't look like it was resolved there. You might try to create a test cck content type (not releated to gradebook at all) and add a popup calendar widget. See if you always have a blank calendar with Safari. If so, I would suggest following up on the calendar module issue queue. I don't believe it should have anything to do with gradebook, but it would be good to check.
File Submission Problem
I am encountering the same file submission issue Barbara reported. My FireFox cache is set to 0, and I even cleared the cache manually but to no avail so far.
Any idea?
Found it!
I was eventually able to reproduce the problems initially reported by Barbara here. A patch is available on the gradebook issue queue at http://drupal.org/node/382254.
Also, so I can better support the gradebook module, it would help to report and follow up on future bug-related issues at the gradebook issue queue. This helps me to better track the status of problems and spares others in the education group who may be less interested in the nitty gritty details of gradebook development.
I think that it would be better to use this group/thread to discuss the general use, application, and future development of the gradebook module.
Thanks!
It works!
It works! And it is 20 min before the class I needed this to work! Thank you!
And sorry about forgetting the official bug tracking channel :-)
-Hiro
Attachment Usage Question
Is there any way to see which student submitted the attachment other than opening the grade slot one by one?
Thank you in advance.
P.S. Did I tell you this module is a godsend?
-Hiro
Through CSS...on its way
Yes. I am about to commit the next round of features to the 6.x-2.x dev version. One of those features allows styling the gradebook page by CSS according to whether or not a file is attached or if the student has submitted a response (see below). I have been testing this for a couple of weeks now. The default that I am using is boldface Red for attachments, increased font size for responses, and a combination if both. But since its done in css, you can customize it however you like.
Other new features include identifying a student response content type, weighting grades by gradebook category, and assignment scales. All appear to be working well on my test sites, but I'll need people to test these features and provide feedback. Look for these in the next day or so...
Thanks
I want to try!
Today, I have to grade file submissions students uploaded using gradebook file attachment, so I really need this function - to be able to see who uploaded at a glance, but my local dev machine is having a trouble (you might have seen my "Can't Login!" thread on the support forum).
Do you think it is safe to try this on the live site? I am getting a bit desperate.
-Hiro
2 Feature Requests - if it isn't there already
I need to be able to know when student uploaded the file. This is because of the deadline. Additionally, it would be super if we can close the upload per assignment to prevent from late submission.
Another issue is that the uploaded files are stored under default file directory. It would be very much helpful if we could control this, i.e., sub directory per OG (class).
Best regards.
-Hiro
These new features have just
These new features have just been added to 6.x.2.x-dev.
Thanks for the suggestions!
Still working on it
Sorry, this is taking longer than I thought it would. To better manage Gradebook 2 features, I've rewritten them as sub-modules, extending the gradebook API along the way. This way, the admin can choose the feature sets to enable, and the base module doesn't get bloated. I need to do some more testing before I commit the modifications, but once I do it should be safe to try on your site. Of course there will always be some bugs that need to be worked out...
a more modular gradebook 2.0
Ok. As mentioned above, I've moved the new features to the following (optional) gradebook submodules (in the latest gradebook-6.x.2.x-dev release):
These are packaged together with gradebook and gradebookapi, but can be enabled/disabled independently from admin/build/modules.
For attachments and responses, links show up in the gradebook and grade style changes to alert teacher (defined by css classes).
More details are given in the README.txt file.
As always, your thoughts and suggestions for improvement are much appreciated. I've been using it (in one form or another) for a week or so on a live site and as far as I can tell, all features work as intended. Your mileage may vary, so please let me know if you have any problems.
Thanks
Thanks for all your work on
Thanks for all your work on this. I'll be testing it out in the next couple days. I'll report back how installation goes and functionality.
I'm new at gradebook and still a bit confused by it, but I'm getting there. Maybe you can answer a question for me. Is it possible with Gradebook to step a user through assignments sequentially? Meaning, the user can not do step 2 until he does step 1... after she does step 2, she can do step 3... etc.
Thanks.
No, right now assignments
No, right now assignments have a single publish date and due date for all users. But I think what you are describing would really support competency-based instruction and grading strategies, which I am also interested in developing.
One way to do this would be to have an option to only list assignments after the publish date, but only after a response has been received for assignments with earlier publish dates. Another approach would be to list the next assignment only after a threshold grade has been achieved on all previous assignments. There are probably other triggers for the release of the next assignment as well.
It could also be worthwhile tracking grades over multiple attempts to assess progress.
Exactly, we're definitely
Exactly, we're definitely thinking along the same lines. Ideally, I'd like to be able to give a quiz as step 1, for example, then have some assignment for step 2, and then give the same quiz again as step 3. A pre- and post-quiz. Tracking grades would then allow us to see if there has been improvement, etc. The only way I can imagine it working right now is to duplicate the quiz, but ideally they would re-take the same quiz to simplify content development by a teacher for example. Not sure how to control that, however.
I also like your idea of the threshold grade. From your experience with Gradebook, would it be possible to build in this functionality in a modular way? And, would that be worth it?
I had attempted to utilize the publish date for this, but then realized that the publish date covered all users, so that wouldn't really work. Your suggestion of checking for responses makes sense. Ideally, I'd prefer to take the publish date out of the equation for some reason, but not sure how possible that is.
Now, how do I help you with this? :)
This is probably best
This is probably best implemented in a complementary Assignment module, rather than in the main Gradebook module just for modularity purposes. It would be nice to integrate with the Quiz module as well, so that an online quiz (at least a multiple choice one) could be automatically graded.
Yes and Yes
And I agree with David. I would recommend building a submodule that leverages gradebookapi to accomplish this. Everything (including the gradebook API) is still in development, so it definitely flexible enough to handle this feature request.
Right now, with the student responses sub-module, students can turn in multiple responses to the same assignment. All of these responses appear in the gradebook under that assignment, and it is left to the teacher to decide how to handle/grade the multiple submissions. The gradebook_responses submodule does not allow the teacher to grade each response and track the student's progress. So the new module would need to add that feature.
It would also need to provide a trigger to release the next (set of) assignments. This could be implemented using a combination of hook_nodeapi and a (new) gradebookapi hook that would let submodules implement their own hook_gradebookapi_get_sorted_assignments. This way the submodule could filter the assignment list shown on the gradebook page.
Publish date is currently part of the gradebook api, and I would prefer to leave it as a necessary pre-condition to releasing an assignment.
So I think the answers to your questions are yes and yes. Its definitely possible, and I think if it is done right it will be particularly useful for competency-based grading systems.
Rather than getting too technical here (I think I already have...). I have started a new feature request on the gradebook issue queue. Anyone interested in contributing to the development and testing can participate there.
yikes!
I know, I know...I shouldn't have updated on a live site. This afternoon I updated to Drupal 6.10 and three modules (gradebook, calendar, date). My working gradebook installation no longer works. Ouch.
I can still create assignments and assign them to a gradebook category. However, when I try to follow the links to the gradebook category pages (the links are in this form:sitename.com/category/gradebook/indivdual-assignment), I end up with a page not found result (page url is sitename.com/taxonomy/term).
Any help or advice is most appreciated.
yikes!
oop...double post.
Which link?
I am not sure which links you are referring to. Are these links on the assignment page (there should be a taxonomy term link on the assignment node that bring you back to the gradebook), or the link on the "title" row of the gradebook page (gradebook/xxx where xxx is a number) that brings up the assignment ? or some other link?
The links I referred to are
The links I referred to are what appear in the gradebook summary page.
Which version ?
And when you upgraded, which version of gradebook did you install?
This sounds like a problem with url aliases - gradebook actually codes the links to the assignment nodes as node/nid , so if you are seeing anything else, its because pathauto (most likely) has created an alias for that node. My guess is that you have some bad aliases. Try editing the assignments and saving them again - hopefully this will update the alias and everything will work correctly again. But there have been times where I have had to go and delete bad aliases at Administer >> Site building >> URL aliases.
You've read my aching head.
You've read my aching head. I think it's a path problem too, so I'm going to us the old drop back and punt strategy and rebuild the grade book associations.
Thanks for letting me talk this through with you.
Sorting issue
I am not quite understanding how the assignment/quiz nodes are sorted in the gradebook. They appear in the wrong order, and I always have to click on Due Date to see it correctly.
This is not a big deal for me, but students are making mistakes because of this confusing order. How is this default sorting set?
P.S. This midterm grading was much easier because of this great module!
-Hiro
The default sort is by
The default sort is by category, then alphabetically by assignment name. I agree that this is not the way I usually want it sorted, either. Clicking on the header row titles will toggle the sorting between ascending and descending. But when you return to the gradebook, you have to start over with the default.
For me, the most useful is to sort by due date in descending order, so the assignments are displayed from the future (left) to the past (right). I'll look into allowing some control over this....
Teacher can now define a default sort order
This feature has been committed to 6.x.2.x-dev
Help!
I just wrote this up to the bug reporting system. Since I am a bit desperate, please forgive me my duplicated post here:
========
I was stoopid to update to 3/20 dev version in a middle of grading :(
Since my local dev machine won't let me login for reason unknown for a month, I took a chance to update on the live server (stoopid!), now all the project files that students uploaded are g, g, gone from the gradebook.
Files seems to be there under /default/files, but there are just too many files without student's name (they don't listen). I don't know what to do at this point. Please advise.
It would be nice if there were a way to use subdirectories per class per project.
-Hiro
:_(
False alarm - user error
D'oh!
Very sorry for the false alarm aka user error. I didn't know attachment now is a separate module. I should had read it first!
Tho I did get this error:
best practices?
What is the best way to get a grade into the gradebook without visiting the Gradebook page? I have some scores coming from Flash that I'd like to post directly into the gradebook. I've written a custom php page that successfully calls existing gradebook functions, but I can't figure out where to put it within a drupal subdomain. Someone mentioned that gradebook has support for 'self-grading modules' but I can't seem to find any documentation on how to build one.
I need help! Gradebook erroring!
Gradebook 6.x-2.x-dev (2009-Jun-03)
I know MGN is good with responding to the bug report, but I am kinda desperate. I just wrote up this:
http://drupal.org/node/615002
I am freaking out. If anyone has any idea to solve this, I appreciate it.
-Hiro
Need your help again!
Hi Michael,
This is an emergency call again. Sorry to bother your weekend, but I am desperate since I am already 2 days behind the due date.
This is the urgent one:
http://drupal.org/node/626612
By the way, this one is old, and was wondering if it didn't reach you. Just in case:
http://drupal.org/node/616566
Thank you so much for your time as always!
-Hiro
Urgent (Again): Attachment Control Problem
This semester, I am having quite a few students uploading files to gradebooks which shouldn't accept file upload. I never had this problem before. Usually students upload to proper gradebook item. Not this semester. Now I must quickly contain the situation.
I disabled Student under Gradebook Setting > Attachment. This disables the attachment on all the gradebook items. I then set a few gradebook items to override the setting by "Allow Student Attachment all time" but it won't show under my student's account.
Then it hit me. What is this "Student" referred to? I don't have a role called 'Student" Since then I have been trying to find where this "Student" is set but to no avail. I am running out of time. Any help would be appreciated.
-Hiro
Workaround
Out of desperation, I changed 48 gradebook items to "Not allow attachment" one by one. This worked for now. I still love to know how to proceed properly.
By the way, the reason why I don't have student role is because I use OG per class. It would be nice if they show up in the Setting.
-Hiro
I'll look into it
Can you explain this further? Why shouldn't it accept file uploads? Is it because you disabled student attachments at the gradebook configuration page (admin/gradebook/gradebook/settings)? Or is it because you set up a specific assignment to not accept student attachments (on the node edit form for the assignment)? Or is there some other reason?
If the student attaches a response to the wrong assignment, you can let them know and they can delete the item and then attach it to the correct assignment. If you are using due dates, you can also set it so they cannot upload to assignments after the due date, or after the assignment has been graded. Hopefully this narrows down the list and helps avoid mistakes.
If you are using og gradebook, then any student (non-teacher) in the group. There isn't a need for a separate student role in this case. On the gradebook configuration page (at admin/gradebook/gradebook/settings) you can select gradebook roles (not Drupal roles) that are allowed to attach files.
Attachments
There are a few assignments they need to submit physical documents or medias in person, or write to private notes section, or forum section. Students this semester tend not to read the instruction, and just submit doc file to gradebook. I can't keep checking gradebook to find their mistakes. This is why I need to block attachment on most of the gradebook items except a few projects.
What I am looking for is to set the default to block, and engage attachments on only selected ones. It seems to be possible but I am not sure how to make it happen.
-Hiro
Restrict student attachments
On the settings tab for your class gradebook (at gradebook/tid/settings where tid is a number), set the default to "do not allow student attachments."
Then when you create assignments, under the assignment settings section of the node edit form, you can choose to use "gradebook settings default" for "Restrict student attachments" for those assignments where students should not be allowed to attach files.
For those few assignments that you want to allow attachments, select one of the other options under "Restrict student attachments" (like "allow student attachments at all times").
Make sure that your students have the role-based Drupal permission to "access gradebook attachments folder." You shouldn't grant a role-based permission to "attach files to gradebook" if you want to use the gradebook and assignment settings to restrict attachment permissions for some (but not all) assignments.
Ahhhhh!
I never thought the default setting is per gradebook! I never looked there. I think your readme doesn't mention this. It only mentions the settings as module. I went through the readme a few times. Of course I might have missed it every time I went though, which has happened before :-)
Right now, I am done with the other way around, disabling attachment for all the items except the few ones. I will try what I just learned when I prepare for next semester, which comes in a few weeks. Thank you so much as always.
-Hiro
Thanks for the feedback
I'll update the readme!
Gradebook 2?
What is the status of Gradebook 2? Is anyone working on it? Will any version of Gradebook be ported to Drupal 7?
Active!
I have just about finished a gradebook attendance module that has been a feature request on the queue for the last year or so.
This new module also allows teachers to set up an ongoing gradebook attendance assignment that gives students a grade for each day attendance is taken. Its the first module that I've tried to do automatic grading of gradebook assignments, and it seems to be working well. Hopefully this will provide some insight into how to go about integration with Quiz and other assignment modules.
There are quite a few feature requests on the queue that should also be considered. I think Rules integration would be a good one to get in soon. After that I am going to release one more beta and then (hopefully) issue a stable release.
Then I think we are ready for a Drupal 7 port of Gradebook 2....
Glad to hear it
Looking forward to the new release. I see that you already have some Views integration underway, which will be great to have. I have some other requests, but maybe I should put them into the issues queue rather than discuss them here.