that is much better than the proposal to change the role of course creators.
There is a new field in user_teachers called "editall", which is
ON BY DEFAULT, and allows teachers to edit courses. It can be modified
on the teacher editing screen (formerly assign teachers).
The value is cached in the session.
To test for it, there is a new function isteacheredit($course->id)
which works much like isteacher did.
I'm going through now and applying this new function wherever
it is needed.
OK, this is a big check-in with some big changes, and needs work still.
It seems relatively stable, but I need help identifying the rough patches.
1) First grading scales support. There is a now a new table called "scale"
that contains grading scales. There can be site scales (course=0) and
custom course scales. These can be used in modules - I've only done
forums for now but that was the hard one. Scales can be edited via
the new item in the course admin menu.
There is one default scale - the connected/separate knowing one that used
to be in forum. To build this I pull data from the language packs
to create one during the upgrade, or anytime a scales menu is called
and no scales are found.
2) New roles for course creator and teachers. I've fixed up the course
menus and some other things but there's a lot left to do on this to
make it all smooth. The idea is that teachers no longer can edit courses
unless they are also course creators. The interface for this needs to
be smoothed out a fair bit and I need help with this.
The upgrade will upgrade all teachers to be creators, but will default
the new site config "creatornewcourses" to "no", so that effectively
these new teachers have the same privileges.
3) Simplified teacher management. There is no longer an "assign teachers"
and a "teacher roles" page - it's all on one page in course/teacher.html.
Phew ... time for a shower and then back into it.
Course creators are managed by /admin/creator.php , same way that admins.
Or if authetication module have 'auth_iscreator'-function (right now only ldap-module have) ,
users are added to creators at login time.
Moodle tables.
ie user -> userid in many tables, plus in user_students
start -> starttime and end -> endtime
I've just done all this as carefully as I could ... I don't think
I missed anything but it's pretty intensive work and I'd be fooling myself
if I didn't think I'd missed a couple.
Note that this version should pretty much be able to bootstrap itself
using PostgreSQL now ... but this is untested
Basically all the Database functions are in lib/datalib.php
and the web functions are all in lib/weblib.php, so
moodlelib.php is much thinner than it was.
Data functions have been extended ... most old calls will
still work, but now many more SQL commands can be performed
using the datalib functions rather than using SQL. I'm
currently moving through the whole tree replacing SQL
calls or at least concentrating them in one section of
mod/xxx/lib.php
Still working on forums, quizzes, surveys, resources.
The tree is currently not full working ... some things are
half-completed ... will resume tomorrow.
confirmation on deletions, removing deleted user from all student lists,
teacher lists and subscription lists and freeing up their username and
email to be used again.