There is now a new field in forum_discussions which has the userid
of the author in it. This saves a lookup every time to forum_posts.
There is also some caching and rearrangement of the logic.
It seems to work OK, I'm about to do some speed tests on moodle.org
1) There is a new site-wide configuration variable called maxbytes,
which provides an upper filesize limit for all (student) uploads.
2) There is a new course-level variable called maxbytes, which further
limits uploads within a course.
3) There is a new maxbytes field for forums, which further restricts
the size allowed in a particular forum. There is also a new config
variable in the module configuration to specify a default size
to use when defining a new forum.
4) Assignments already had a limit, but this is now aware of the other
limits, and like forums there is now a settable default value.
5) Finally, the sizes of files (Gb, Mb, Kb, bytes) is now translatable
in the language packs.
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.
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.
Changes to expand "open" option in forums. Now have a choice between
three options: new discussions and new replies, new replies only and
no new discussions or new replies.
Three new options in lang/forum.php and I changed "allowdiscussions".
Basically the changes are:
- I've merged the 'discuss' module into the forum module
which makes the interface MUCH clearer for everyone
- I've added a new 'single' forum type that replicates
what the old discuss course modules used to look like.
- I've got rid of the "discussion" forum type - it will
still exist in upgraded courses but as a normal forum.
- the 'discuss' module is completely deleted - gone.
- the 'chat' module is completely deleted - gone.
- The upgrading system has been improved, and all code
is stored in version.php.
- I've put in upgrading commands to do the best I can
(right now) to upgrade courses that used the discuss
module. It should mostly work, just leaving some
"orphan" coursemodules on you course front page. You
can easily delete these using the little 'x'.
I may have forgotten something - I've only tested on
my testing server and I'm about to test on my production
server to see how it goes.
- Forums have a lot of little new features and fixes. The
main one is the subscription process. Teachers can 'force'
subscriptions on any forum. This disallows everyone from
choosing their own mail subscription - it's just on.
- The assignment module is half-finished and not working yet
I've still some massive changes to do, mostly involving making
all the lib.php function names more standardised, so consider
this is an interim checkin to do some tests.