My University (UHB Rennes - France) is working with Moodle for about one year.
There are about 20000 students and 1000 teachers in the Moodle database. And also 10 people of the "registrar staff" (is it the correct appellation?), administrative employees manually enrolling/unenrolling the students in the the 500 courses.
Single Sign-On authentication is made with CAS (that itself requests for LDAP).
Student accounts are nightly created/updated from LDAP (by using an adjusted version of auth_ldap_sync_users.php).
Enrolments are self-enrolments or manual (by that registrar staff), depending on student's category : traditional or "open" (adults, for the main part).
I have recently developped three new features for this registrar staff. They are actually working with this new Moodle 1.5+ code for one month :
1) List students
- lists students (with their enrolments) depending on various combined criterias : Fullname (or ID number), Institution, Department, Category, Courses, City/town ;
- downloads the result as text format (for processing with spreadsheet or other text-processor).
2) Enrol several students
- enrols/unenrols several students in one course ;
- transfer enrolments from one cours to another ;
- enrol students selected with previous "List students" feature" (that's a future feature).
3) Enrol one student
- enrol/unrenrols one student in several courses.
In my mind, these features are "registrar-level", like the existing other one "Assign teachers". However, since the "is_registrar()" function doesn't (still) exist, I have flagged them as "creator-level" (with the "is_creator()" function).
If anybody else would find one of these facilities useful, i'd be happy to work for CVS integration.
Arnaud
Here are some screenshots :
1) Users menu for Admins
2) Users menu for Course Creators
3) List students
4) Enrol several students
5) Enrol one student

This is cool! Currently we are using enrolment keys to handle enrolments, but this is going to be unmanagable since we are hoping to expand the number of students we are serving in near future. And also we are required to enrol group of students each semister (i.e. from semester 1 to semister 2 courses, etc) and It seems to be your multiple enrolment feature is capable of that. So I would like to test this one

BTW can we search students and select them from the results and enrol them in one or more courses?

I tried to delete that line but couldnt!
That stuff looks nice. Some of this stuff might be complementary.
If you can get registrars to produce a CSV file (spreadsheet) of course idnumbers and student idnumbers, I have a perl script written which will enrol students automatically on the hour. Not sure if that might be more efficient for you. It might not suit.
The script in scripts/linkstudents.pl reads in a file and adds any new enrolments which are not currently in Moodle. It does not remove ones which are not in the CSV file however, which is deliberate. I have a separate script to list those for deletion by hand.
http://moodle.gcd.ie/~gavinmc/moodle_import_utils/
Gavin
Hi Arnaud!
that's some interesting stuff! The NZVLE/Catalyst team is working on a similar track, making it easier to manage Moodle installs with large numbers of users/courses. None of our enhancements touch this area (some already in CVS), I think it'll be a good complement.
Can you post the patches that implement these features? Ideally, they should be:
- one patch per feature
- unified diffs
- done against current HEAD (and MOODLE_15_STABLE too if you have them)
Cheers!
I'll do that. Need some time...

I am starting with Moodle but I belong to a huge institution in Italy... so in a while I'll start having thousands of users.
I would like to test these useful tools too, they appear to be exactly what I was wondering.
But I am new to moodle and I did not understand where I can find them and how can I install them on my private installation of moodle.
Can anyone help me please?
Thank you in advance.
Daniele
Re: Students and enrolments : new features -> patch against HEAD
Here is the patch you asked for, against HEAD.
I didn't split it into three patches (one per feature) because I think that wouldn't be clearer. Since some lib-stuff is common for several features. However If you prefer I could try to produce three or four patches.
Is that sufficient?
If you like, I could produce the same patch against MOODLE15STABLE.
Re: Students and enrolments : new features -> patch against HEAD
How can I use a file .patch?
What does it means "use a file against HEAD"?
Head of what?
Re: Students and enrolments : new features -> patch against HEAD
I studied and used your .patch file but... it was build for he 1.5.2 release and now it doesn't work fine.
Are you planning to create it for the last 1.5.3+ release?
Thank you in advance.
Re: Students and enrolments : new features -> patch against HEAD
I am waiting for Moodle.org CVS integration.
Once (if) my patch would be integrated, I could correct it and maintain it for further versions. Otherwise, it would be too much work for a poor result...

Salutations !
Re: Students and enrolments : new features -> patch against HEAD
i doing this.
cd moodle/admin/
patch < your_patch.patch
but is not working .. is stoping in the firs lang/ entry ...
Tim.
Ok this is great...very good !! I'd like to test this and see how it can be integrated both into 1.5.2+ and 1.6 .
I'm very interested in your idea...
Could you please post your coding so I can add it to our site too.
It would make student enrolement so much easier.
Thanks
I added your tool to our which allow us to create and manage global groups. That is useful when you have to manage several students and courses.
http://moodle.org/mod/forum/discuss.php?d=35471
I post the modified files of your feature, adapted with ours. Now, you can display users (in the list) by global group. For example if you want to enroll all users of the current school year, just select the group and it'll only display these users.
I saw the tool folder content (posted by Guillaume on December 12) but I can't understand how Moodle 1.6 can call these new files?
Can you explain me better how to install and use this tool that I believe is a "rosetta stone" for administrators?
Thank you in advance.
I found it already added to the 1.6
Really a important improvement.
Yeaaaaaaaaaa

Where did you find them Daniele?
Tim.
I found it and I explained its funtionality to a collegue.
It was March 7 but now I can't find it any more and also Martin D. said it was never added.
But I am still sure I used it on March 7.
Also someone above mentioned global groups. I thought this was coming later.
From the new features added by Arnaud Saint-Georges, I would like to know if It is possible to enrol a large number of students directly into moodle system without the help of other enrollment systems found in many Universities.
Is it possible to customize the information gathered while registering students to shape them the way I want?, or I will need to add some lines of coding myself to do this?
In fact I want to use moodle from the very basic task in the university, that is from registration of students entering the university, before even assigning them to their courses.
Thanks.
It's actually a pretty big and specialised task, which is why SIS typically are much more expensive than LMS
Not to say a registration/student information system couldn't be added in to Moodle with some expert and well planned coding, however to do it right is a pretty large task and should probably be funded accordingly.
Jim Farmer talked about some of these challenges and potential solutions at the recent Moodle Moot in Savannah, Jim is a great resource for this (and many other
What if there is no any specialized registration/student information system available at the university, like many universities in Africa, I want to know if can help them by using moodle, first of all for registering students(--up to 9,000 or more) and have their information in moodle database, and then enrol them to their different courses after.
During the registration, i want to be able to customize the information given by students according to the university requirements.
This way, moodle can replace the tiring and unmanageable situations in which students are registered.
Regards,
hi,
nice work..
well, we worked in out university on SIS-LMS integration..
it do every enrollment task automatically and in less than 30 seconds !!!!
it is nice feature and it do all the tasks!!
I have just finished to integrate two of these three features for my Moodle 1.6 : List students and Enrol one student.
Here are the patches for Moodle 1.6 :
UHB_list_students.diff -> add the List students feature
UHB_enrol_onestudent.diff -> add the Enrol one student feature
UHB_users_menu.diff -> add these two new choices in the users menu
Example for applying the first one with Linux line command :
1) cd [your_Moodle_directory]
2) patch -p1 < [your_Moodle_patches]/UHB_list_students.diff
Hope these two new features could be added in Moodle 1.7...

Arnaud
(on holidays tomorrow thursday tonight...)
Re: Students and enrolments : new features for 1.6
Re: Students and enrolments : new features for 1.6-WINDOWS
Hi,
This is a great functionality.
Does it work in windows O/S too???
Wher could I download it too..
Garry
Re: Students and enrolments : new features for 1.6-WINDOWS
Use, for example, 7-zip (http://www.7-zip.org/) to extract the three diff files.
Then, for Windows, I don't know what is the best way to apply them to your Moodle ?

Re: Students and enrolments : new features for 1.6-WINDOWS
Hi Arnaud and fellow Moodlers,
Thanks for the reply.
Could you guide me as to which files are to be patched as I am a little confused on the actual files that are to be updated and their location.
Thanks once again.
Garry
Re: Students and enrolments : new features for 1.6-WINDOWS
I have made some changes and prepared the files for windows. I am attaching the same as a zip file.
Could you look at the folders and see if the creation is correct.
I am having a error message as under.
Warning: main(enrolonestudent.html): failed to open stream: No such file or directory in e:\program files\easyphp\www\lms\admin\enrolonestudent.php on line 124
Warning: main(): Failed opening 'enrolonestudent.html' for inclusion (include_path='E:\Program Files\EasyPHP\php\pear\') in e:\program files\easyphp\www\lms\admin\enrolonestudent.php on line 124
Could you suggest some solutions or direction I should take.
Look for your comments and suggestions on the files attached. The folder in moolde in which they go are placed with the files in the attachment.
PS I do not get the srceens Could you advise the path on reaching the screens.
Garry
Re: Students and enrolments--new features for 1.6-WINDOWS
Hi,
The problem is solved the HTML file was not loaded and hence the problem. The errors are gone. The two functions appear as per screen shots. They look really nice.
This is really great and I must congratulate for the nice functionality.
Could you advise when the third would be posted.
Would be nice to try and use a comprehensive functionality. Thsi must be added into Moodle 1.7
Garry
How is is going?
Would like to use this feature on our server with 1.6.
Thanks
Hi Bhupinder,
One suggestion is that the List Students function be able to not only download a file in text format, but also as a .csv
Thanks.
JM
May be add feature request in bug tracker and all people who need in these features vote?..

You can add these new enrolments-features into the bugtrack...
I am looking forward for finding the third "enrol several students" plugin too.
Your work is great.
Tahn k you again.
I have finished to integrate the third feature for my Moodle 1.6 : Enrolling several students (or copying enrolments from one course to another).
Here are the patches for Moodle 1.6 :
UHB_enrol_students.diff -> add the Enrol several students feature
UHB_users_menu_enrol_students.diff -> add this new choice in the users menu
I plan (in the next days

Thus we will be able to list students depending on various combined criterias: Fullname (or ID number), Institution, Department, Category, Courses, City/town and to immediately enroll/unenroll them (or part of them) in one or more courses.
Note that none of this code will work in 1.7 because we now support proper Roles. The user_students and user_teachers tables are gone, so this code needs to be adjusted dramatically to make it work with whatever roles a local institution has defined.
It's regrettable about this code but I think the new Roles system will allow a lot more flexibility.

Don't worry about the changes introduced by 1.7, because this new Roles system will be really welcome in our university (30,000 users in Moodle users table and four main roles: administrators, registrar staff, teachers, students).
If similar students enrolments features (or part of it) would not be included in 1.7, I will adjust my code after I upgrade my Moodle site. As I did from 1.5 to 1.6. Because we need these features. Or have you a better idea?
I also think that your extended manual enrolment (i've seen it at the first french MoodleMoot) is very usefull.
... and i (and certainly not only me) would really like it to be included in standard Moodle distribution !
The problem is that you shouldn't wait for 1.7 (or 1.8) to be released (for a long time) to begin working on how to adapt it... if you want developpers to have time to validate you code.
Can we download this? I would like to use this in our system.
We are running 1.62 at present
Thanks
Me too, I am running 1.6.2 for two weeks.
Arnaud
Where do you download this from?
Thanks
(feature 1 and 2 joined to that post)
et
Ici: http://moodle.org/mod/forum/discuss.php?d=33217&parent=247625
(feature 3 joined to that post)
Arnaud
What is a diff file?
Thanks
Hi Arnaud,
Could you also include the option for the List Students function to be able to download as a .csv as well so it can be exported directly into excel?
Merci
Jm
Actually, I've just found out how to import an html table directly into excel, and this works a treat!