Changes to assignment module

Changes to assignment module

by Daniel Mikšík -
Number of replies: 33
Picture of Core developers Picture of Translators
Hello to all moodlers!

for some time now quite a few teachers at our department were calling for the two following features in the assignment module:
1) if specified by teacher, students are able to view the submissions of their fellow students,
2) the teacher can upload a corrected/commented version of a student's submission back to Moodle as part of his/her assessment.

The Exercise and Workshop modules don't fulfil these tasks simply enough, or don't have the second functionality at all.

I have started incorporating the proposed changes (so far only the first task is done) into the assignment module but I wasn't sure about some structural/principal things that I would like to solve before continuing the work. If others would also find something like the above said useful, would you please help me to decide on some points (to make the changes as moodle-like as possible)? In the enclosed zip file you will find the necessary files, they are only slightly modified original assignment files, the new code is marked //NEW CODE - //END NEW CODE. There are two new mysql tables created and a module New Assignment should appear in your modules listing. I'm using Moodle 1.2 development, 2003103100. I am not sure about the version numbers and many other things as I have never participated in this kind of collaborative work, so please pardon my ignorance and be so kind as to point me to resources where I can find relevant information. Thank you.

And here is my first big dilemma: Should the submissions of other students appear on the same page where students find information on their own submissions, i.e. in view.php, or should there only be a link (similar to teacher's "View xx submitted assignments") somewhere on the page leading to submissions.php where name, date, and the file submitted would be listed? Both solutions have their pros and cons, for now I have chosen the second possibility.
DM
Average of ratings: -
In reply to Daniel Mikšík

Re: Changes to assignment module

by Williams Castillo -
I like the second functionality you mentioned... Look forward to see how it ends...

And btw, congrats for your proactivity... Way to go.

And answering your question... IMHO, I think it should be a link... and, obvisously, be visible based on teacher's will...

Although... sincerly... I think all those links should be frames in a tabbed interface... big grin

Will

In reply to Daniel Mikšík

Re: Changes to assignment module

by John Windmueller -
Yay!  These are fantastic features to add to the Assignment module. 


My own inclination is that other student papers should appear on a
seperate page from "core" informaiton about the student's own
assignment.  I never cease to be amazed by the many exciting ways
students can glosss over what's written on a page and misunderstand
what's there, and so having seperate pages seems a helpful way to keep
it simple. 


Personally, I'd very much like the new option of being able to see other student's papers to not appear until after
a particular time--either the option to not make peer work viewable
until after a student has submitted her own work or perhaps until after
the assignment deadline.  (Probably one or the other--want to keep this simple). 

Aside from "view all peer work", I really like the Workshop's option of the "League Table", being able to list the top x papers (by evaluation score).  I know several instructors who have used the Workshop module just to get the league table option (with no self or peer evaluations). 

Again, great stuff to see added!
John


In reply to John Windmueller

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators

Good point about the timing, John. Thanks. I will consider also the League Table.

BUT
, guys, I'm a newbie to real php programming, I'm just slowly crawling through the Moodle code beginning to understand (needless to say, I have "absolutely no time"), etc. But I'll try and we'll see.

In reply to John Windmueller

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Following John's suggestions, the link to other students' submissions now appears on the view page only if a) the student submitted his/her own work AND resubmitting is not allowed, or b) the page is being viewed after the assignment deadline (regardless of the student's own submission). The submissions are listed by achieved grade (from the highest).

A way for submission of teacher corrected/commented files will take more time to get. But I'm still trying.wink
In reply to Daniel Mikšík

Re: Changes to assignment module

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Hi, Daniel,

I'd love to take a look at this but my time is too short to set up test installations... could you put up a demo site somewhere so we can try things out and see it in action?

Cheers,
Martin
In reply to Martin Dougiamas

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Hello, Martin,
it's just a small thing so far, moreover only a modification of your functions etc.shy
I'm also short of time so I did not set up a completely new test site. But all moodlers can use the course 'Moodle test course' at http://www.fictumova.cz/kursy, moodles/moodles (student), moodlet/moodlet (teacher).
I'm enclosing a new view.php for those who are using/testing the new assignment in their installations (removes an obvious bug).
Dan
In reply to Daniel Mikšík

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
I have sort of moved on with the changes to the assignment module (see the attached file); I'm using Moodle 1.2 development (2003103100). Everybody can still use the course 'Moodle test course' at http://www.fictumova.cz/kursy, moodles/moodles (student), moodlet/moodlet (teacher).
Suggestions and questions welcome.
DM
In reply to Daniel Mikšík

Re: Changes to assignment module

by Pablo Etcheverry -
Picture of Core developers
Hi, Daniel!

We are using your module to replace all previously uploaded assignments. In fact, we are considering disabling the standard assignment module, since yours has all the features plus the attachment feedback.
The problem we have found is the one I posted here, the backup problem. The problem is that the backup functions that should be located in /mod/newassignment are missing.
Since I guess you are as busy as me wink , I'm willing to collaborate with you in the addition of these functions. In fact, I've been coding the backup function making changes to the one belonging to the assignment module. Maybe next week I can pass this work to one of my co-workers and speed up the modifications.
If you have already done this, please tell me in order to stop the job. If not, I'll send you the resulting code in case you want it.

Pablo
In reply to Pablo Etcheverry

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Hi, Pablo!

I'm glad you find the modifications useful. The backup functions are high on my TODO list but I haven't started yet sad; moreover, I've got no experience in this functionality of Moodle and I would have to go through the code to get a gist of it first. If you have already coded other assignment backup functions, I guess you could be much faster in getting this work done. smile And I'll be more than happy if you send me the result (our teachers have also started to use the module extensively so I too will need the backup functions soon).

Dan
In reply to Pablo Etcheverry

Re: Changes to assignment module

by jean hardy -
Pablo and Daniel,

We are in the process of putting a very large Introduction to Computers class (125 students) into Moodle. I would love to be able to include this assignment feature. Do you know the status of the backup functions or will this all be incorporated into Moodle 1.3?

Thank you both for the technical help and coding in busy times.

jean
In reply to jean hardy

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Jean,
I have not been able to work on the backup function myself and I have no information on incorporating this change into Moodle 1.3. Sorry.

dan
In reply to Daniel Mikšík

Re: Changes to assignment module

by N Hansen -
Daniel, I'm  not quite following what changes you have made. Does your newassignment.zip contain the changes to give teachers the ability to upload commented assignments? Or have you not finished that work yet? And are these changes incorporated into the latest version of Moodle?
In reply to N Hansen

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Sorry for the delay... Yes, 1) the teachers can upload commented assignments, and 2) they can allow students to see each other's assignments if they find this option useful. There is no backup function for this module, otherwise it is fully functional. On incorporating this functionality into Moodle, please see the previous post.

dan
In reply to Daniel Mikšík

Re: Changes to assignment module

by Mike Jackson -

Thanks Daniel. Once again, the moodle community seems to have an answer to my questions. I wanted a calendar/upcoming events module and here it is in 1.3. I wanted a better way to deal with assignments, and it looks as if yours will do that. I just have to figure out how to get this installed on my system. I'll probably wait until our tech manager is back.

In reply to Daniel Mikšík

Re: Changes to assignment module

by Mike Jackson -

Further thoughts based on a test install of the new assigment module into moodle 1.3:

1) how do I get the right name to appear in the module list i just get modulename. I have a feeling I have not done something important in the moodle configuration...

2) getting backup to work would be important

3) the due date does not show up in the calendar

I definitely like the multi upload option and the feedbackfile option.

Thanks.

In reply to Mike Jackson

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Michael,
1) I guess you didn't put the language file into its proper place (Czech and English translations are only available, at the time).
2) Backup and restore are fully functional now (tested in Moodle 1.3.3).
3) I'm not familiar with the calendar yet, to be honest.shy I'll work on it...

Changelog for the attached zip file:
- backup and restore available (thanks to Eloy's well-commented code!)
- help files updated
- new name for the module: echo-Assignment
- small fixes in the main lib.php

Hope this can now be of greater use.
Dan
In reply to Daniel Mikšík

Re: Changes to assignment module

by Jay Lloyd Neal -
Hi Daniel. I'm still using your newAssignment from February. I tried installing the latest version by just swapping out new files/folders with the old version then going to the admin page. (This is how I've upgraded other modules in the past). I also checked permissions, etc. Didn't work, (Big red error message across the top of all pages: [Could not find NewAssignment] so I just restored the backup from a few minutes before.
Is the latest NewAssignment 100% backwards compatible with the older version? I see that you renamed the module "echo-assignment."
I'm wondering, do I need to delete the old NewAssignment using the Mod admin before adding the most recent NewAssignment to MOODLE1.33?
Just being cautious, because many faculty are using the older version of the module. I don't want their e-assignment activities to disappear!
Thankyou again for sharing your revised module with us.

cheers, Jay
In reply to Jay Lloyd Neal

Re: Changes to assignment module

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Hi, Jay, overwriting the existing files with new ones should do the trick (changing name of the module should not interfere with this); the trouble with the previous "release" was that the upgrade procedure was buggy (due to my ignorance of the principles of Moodle's module upgrade). This should be fixed now. In fact, there is no change to the database structure at all, what changes is the code only.

I cannot guarantee the module is 100% backwards compatible, I'm adding (copying + modifying) new features as they appear in the Assignment module - and of course, along with them, lots of changes is going on in general Moodle libraries, etc.; and I'm not, or hasn't been so far, keen on maintaining stable versions for different releases of Moodle.


Encouraged by your queries, I decided to set up my local CVS in which I could keep different versions of the module and also to publish the latest version of echo-Assignment here:
http://www.phil.muni.cz/~miksik/en/newassignment/.

The current downloadable version:

- adds dates into calendar/upcoming events;
- supports groups.

I'm runnig the module in 1.3.4+ Moodle installation with some components from 1.4.x so I would say it is rather 1.4.x compatbile than 1.3.x compatible. Please, do not use it on production server without checking the functionality in a test installation first. If you (or anybody else) find a bug, plese report it here or (preferably) e-mail me directly.

Dan
In reply to Daniel Mikšík

Re: Changes to assignment module

by Mike Jackson -

Hi I just downloaded and installed the new assignment module (which works great) and have two questions:

1) how can I change it's name from echo-assignment to something more intuitive?

2) After installing, I get the following error message on my main moodle page:

Warning: get_list_of_languages(C:\Inetpub\wwwroot\moodle/lang/cs_utf/moodle.php): failed to open stream: No such file or directory in C:\Inetpub\wwwroot\moodle\lib\moodlelib.php on line 2268

Warning: get_list_of_languages(): Failed opening 'C:\Inetpub\wwwroot\moodle/lang/cs_utf/moodle.php' for inclusion (include_path='.;c:\php4\pear') in C:\Inetpub\wwwroot\moodle\lib\moodlelib.php on line 2268

What have I done wrong? sad

TIA

In reply to Mike Jackson

Re: Changes to assignment module

by Darren Smith -
I would guess (and that's all it is) that you haven't installed the language files properly.

Also, did you download it from the authors site rather than the attachment in this thread? The most recent version can be found here:

http://www.phil.muni.cz/~miksik/en/newassignment/

Hope that helps
In reply to Darren Smith

Re: Changes to assignment module

by Mike Jackson -

Thanks. I did download it from the .cz site

What can I do to install the language files properly... I unzipped the file from the root of the moodle directory.

In reply to Darren Smith

Re: Changes to assignment module - problem solved

by Mike Jackson -

problem solved - I just deleted the cs_utf directory that was created when unzipping the file.

Thanks.

In reply to Mike Jackson

Re: Changes to assignment module - problem solved

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Sorry for that, I have removed the cs_utf directory (the default language at our Moodle installation) from the newassignment package.
You can rename echo-assignment by modifying these two strings in lang/en/newassignment.php:
$string['modulename'] = "echo-Assignment";
$string['modulenameplural'] = "echo-Assignments";
 Dan
In reply to Daniel Mikšík

Re: Changes to assignment module - problem solved

by Joshua Bugeja -
hi daniel.

i have tried using your echo-assignment and the only problem i have encountered is the following:

"A required parameter (sesskey) was missing"

This error is only encounted from:

"Administration » Configuration » Modules » echo-Assignment"

other than that it seems to be working well. keep up the good work.

the error was encountered on the 1.4.3+ and 1.5dev versions.

Thanks.
In reply to Joshua Bugeja

Re: Changes to assignment module - problem solved

by Daniel Mikšík -
Picture of Core developers Picture of Translators
Thanks for the report, fixed now at http://www.phil.muni.cz/~miksik/en/newassignment/.
In reply to Daniel Mikšík

Re: Changes to assignment module - problem solved

by Peter Honan -

Daniel,

something I am constantly asked for with the standard assignment module is the ability to download all submissions as a zip for offline marking. I'm not sure if this has been included in 1.5 but it would be a great adddition in my school.

In reply to Daniel Mikšík

newassignment module v2

by Jaroslav Šeděnka -
Hello everybody,

I'd like to introduce you the new version of newassignment module (for 1.4). New features are:
  • file versioning - old versions of students' files as well as teachers reviews (feedback files, grades etc.) are kept
  • students' files can be viewed by other students anonymously [option]
  • a list of students that haven't submitted anything yet was added
  • some other minor features...
The module is almost completed at the moment, but it needs some testing (i am new to moodle developing, so Moodle integration will probably not be the best (features like backup/restore, calendar, user_outline etc.).

Get the source at http://www.phil.muni.cz/~jarek/moodle/na/newassignment-latest.zip.

WARNING :the upgrade script is really "fresh", backup your old files && db if you want to upgrade.
In reply to Jaroslav Šeděnka

Re: newassignment module v2

by Mawuli Kuivi -
Does the assignment allow more than one file submission either together or seperately for an assignment. I know that most student have more than one word document for one assignment. Can they submit together without zipping the files?
In reply to Mawuli Kuivi

Re: newassignment module v2

by Darren Smith -
Have a look in the assignment forum for new code which allows multiple student submissions.
In reply to Mawuli Kuivi

Re: newassignment module v2

by Jaroslav Šeděnka -
This code allows students to submit multiple files (one after each other), and the teacher can upload multiple reviews as well.

Please do not install this version in production environment, multiple security issues were discovered by skodak and are being fixed. Thanks a lot for the code audit! I will upload a bug-fix release on Monday (you can check the directory on our webserver or just use the newassignment-latest.zip link from above).
In reply to Jaroslav Šeděnka

Re: newassignment module v2

by Edith Lin -

First of all, thanks so much for Jaroslav's contribution.

I've just added echo-assignment into moodle 1.5, but there is some problem in the input form, fields starting from Assignment type can't be shown.  Is there any other version for 1.5?

Screen dump is attached for your referrence.

Attachment echoassignment.gif
In reply to Edith Lin

Re: newassignment module v2

by Michael Penney -
We coded up a 1.5 version, it's in CVS/contrib/ReviewAssignment_1.5.

This works as a new assignment type in the standard 1.5 assignment.
In reply to Edith Lin

Re: newassignment module v2

by Darren Smith -
Will this one or Michael's convert previous echo assignments from 1.4.whatever to the new type or is it a matter of loosing those and starting again?