Hi,
We have made some enhancements to MyMoodle at the Open University which we think could be beneficial to the Moodle Community as a whole, and would like to canvass opinion on whether we should commit them to core.
I realise that I’ve covered these to some extent in an earlier posting, but I think I need to be a bit clearer about what they are, so first of all, we have added print_overview functions to the glossary module, wiki module, and questionnaire module (see tracker entries MDL-12073, MDL-12074, CONTRIB-276 respectively).
For each course in which the user is enrolled, a message will be displayed for each of these types of modules if there has been any activity in the module since the user last viewed the course. The message will appear within the rectangular box which surrounds the title of that course, and will give the number of actions that have occurred, plus a hyperlink leading to the module’s own display pages, where the user can find out more information regarding the actions within the module. So, for example, if two other users have completed and submitted the course questionnaire, the following will be displayed.
Questionnaire: <questionnaire name>
2 new questionnaire responses since unit last viewed
Please also see the upper frame of the screenshot, where a course called "Parliament and the law" is showing a message indicating that there has been one new questionnaire submission since the currently-logged-in user viewed that course. (Note - on our web site, we have been using the term "unit" in place of "course" - we will amend that in language files contributed back to Moodle)
We have made the following improvements to the function which prints the course information:
a. A new section at the start of the MyMoodle page called "Site-level activity", to display blog activity and modules that are held at site, rather than course level. This can be seen in my screenshots. On our LearningSpace site we called it "LearningSpace site-level activity". One blog message and three forum messages are displayed in the upper screenshot:
Learning Journal Entries
2 entries since last log in.
Forum: Arts and History forum
5 posts since last log in.
5 total unread.
Etc…
Within this section, first the blog overview function, which we have created within the blog code, is called to display information about activity in the blogs, if there has been any (see below for more detail). We called the blog the "Learning Journal" on our own site. After that, the print_overview functions are called on all the modules that are held in the site course, (i.e. the introductory course of the site, usually course ID 1, if one has been set up), and the messages from these displayed. Three messages from forum overviews can be seen in the site section of the upper screenshot.
The display of site-level activity may not be useful to all Moodle environments, (e.g. in some, there may be no interactive modules at this level, or the activity may be kept private) so we will put in a config. setting under My preferences/Appearance/My Moodle, which will allow the hiding or revealing of the whole section (the Site Level Activity box shown in the screenshot).
b. For each course, we display course-related information, including the currently-logged-in user's role: e.g.
Role: Student
(this is not shown in the screenshot).
c. For each block that is used by the course, we call a print_overview function, if the block has one, similar to the call to a module’s print_overview function, in order to generate a similar activity message. This is something we support with our custom-built blocks on our site and which is not supported, at present by many core blocks. However, we feel that it may be worth considering modifying some of the core blocks to do this in future.
d. We have also modified the course overview function to display a button which performs a click to hide/click to reveal on the box around the course data. The hiding and revealing of the section is done by using the standard JavaScript function elementToggleHide, in much the same way as is done for the content of blocks (see moodleblock.class.php). Please see the lower frame of the screenshot, in which the course "Parliament and the law" has now been hidden, but can be revealed by clicking on the "+" button at the left hand side.
If the user does not have JavaScript enabled on their browser, the sections will all be displayed by default, and the button will not work, but they will not see an obtrusive error if they click the button.
e. We display recent enrolments on the course: this can be seen in the screenshot, where there is text that says:
Learners:
1 new learner(s) since unit last viewed
f. If the current user is enrolled on the course, we provide them with a link which they can use to unenrol themselves.
Finally, as mentioned above, we have included a print_overview function in the blog, which displays information in a similar format to the module print_overview functions, if a user has contributed a blog entry since the date and time of the current user's previous login to the site, and if the contributor is not a deleted user. E.g.
Blog
2 entries since last log in
Could I just ask for your opinions on whether I should commit all this to CVS, or whether there are any aspects that we should omit or modify?
Thanking you in advance,
Gareth Morgan.