My Moodle: My Moodle overhaul for Moodle 2.0

My Moodle: My Moodle overhaul for Moodle 2.0

by Hubert Chathi -
Number of replies: 17

Introduction



For those who haven't been following MDL-19124, we are in the process of overhauling My Moodle for Moodle 2.0. We want give users and administrators more flexibility in customizing what appears on the My Moodle pages. To this end, we have split My Moodle into two types of pages: "Profile" pages, which all users (with the right permissions) can see; and "Dashboard" pages, in which only the user him/herself can see his/her own dashboard pages. Content on both profile and dashboard pages can be completely customized through blocks -- block can appear on either side, or in the centre column.

Status



We have implemented most of the core functionality. You can see a screencast here: of the current status. (I've heard that people have had varying degrees of success playing that video within the browser. If you cannot play it, or can't hear the sound, the most reliable way to play it is to download it, and open it in VLC.) The code in MDL-19124 is probably broken with the latest Moodle 2.0 from CVS, but if you check out the version in CVS from mid-February...

I'll be working on updating the code to the latest CVS version this week, so that the more adventurous can play around with it once that is done.

Discussion



At this point, we would like to obtain community feedback on various issues, so that we can make My Moodle work for real-world situations. Some of the main areas that we need feedback on are:

1. Users can customize their own dashboard/profile pages as they want. However, it's always good to have something to start with, so we have allowed administrators to define default dashboard and profile pages. At some point, the default pages get copied into the user's space, and any further changes to the default page will not be reflected in the user's pages. Our question is: at what point should this be done? Possible options are: a. when a user first edits their dashboard/profile pages, b. on user creation, or c. when a user first views his/her dashboard or profile page. (Currently, the code uses option a.)

2. Some of the major features that we are planning on adding, now that the basic functionality is done, are: a. allowing users to have multiple dashboard and profile(?) pages (e.g. a user could have a "General Course Work" dashboard, a "Friends" dashboard, and a "School News" dashboard.), and b. allowing administrators to "lock" certain dashboard pages so that users cannot change them. How important do you think these features are? Are there other features that we should be adding?

Note 1: (disclaimer) While we welcome and appreciate all feedback, and we will take all comments into consideration, we may not be able to satisfy all requests.

Note 2: I'd like to keep this discussion focused on the new pages/blocks functionality of My Moodle, and not on the course overview functionality. The course overview functionality will be moved to a block, and we will address changes to that at a later time.
Average of ratings: Useful (1)
In reply to Hubert Chathi

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by ricardo Medina -
Grades!
just a simple block that lists courses with their current grade would be awesome!
also the ability to quickly print the grades.
the current grade list takes too many navigation clicks to just get to the grades.
a fast list in the MyMoodle page would be the answer!
Thanks!

In reply to ricardo Medina

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Hubert Chathi -
Hi Ricardo,

Printing grades in My Moodle would be done by a new block (or by modifying the course overview block), so it's not part of our current development effort, which is to finalize the pages and blocks infrastructure. But it does sound like a useful new feature, so please bring that up again when we do have the discussion on what blocks to create for My Moodle, to make sure that we don't forget about it.

Thanks for your input.
In reply to Hubert Chathi

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Ger Tielemans -
  • Marking activities in a course as core-activity and showing a progress-indicator for each course? (progressbar or something like I have in my personal profile)

  • Open University has a course format version where the student can mark activities as important.. a progressindicator based on these personal important things? (maybe a "filter" combination of these two smile)
In reply to Hubert Chathi

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Dale Davies -
Sounds exciting! Here's my two cents...

1) I'd probably go with either option A or B, although I'm not really sure what the real difference is. I suppose maybe option A may save a little disk/db space as it won't "copy" over the default page into the users space until they decide to edit it. Some users may never bother to do any editing, if the page was copied over on user creation then even if they never did any editing their My Moodle page would still take up extra space. Have I got this right?

2) I like this idea, as long as these dashboard pages can be predefined by the admin. If we can configure what dashboard pages the user will have access to and customise them from an admin level that would be very handy and will save me at least having to start applying my own customisations in code. For example in some situations it may make sense to have more than one dashboard, but others it may seem a little too much. It would be very handy to be able to lock dashboard pages, even to lock certain parts of them and leave the rest customisable. Also will it be possible to have something like the "Stick Blocks" functionality we have now?


There is one thing you mention above that I'm a little concerned about however, perhaps you could explain further as I may have misunderstood. You say that course overview functionality will be moved to a block, seriously just a block? I'm not sure a block would give enough space to do this justice. Could the course overview be a dashboard page of its own right?
In reply to Hubert Chathi

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
I think you may as well stick to a. No point breaking the link to the standard default until you have to.

I think it would be nice for the student if, after they have customised their dashboard a bit, to have the option see what the standard dashboard is like, with the option to then either reset to the standard, or keep what they currently have. However, that is probably a second version feature.
In reply to Tim Hunt

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Ger Tielemans -
And / or offer the admin to create local default views with a mechanism like the "sticky blocks". (extra local defaults should be available - depending of the role - as extra's in the choice list of the my page owner.
In reply to Ger Tielemans

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Hubert Chathi -
Yes, "sticky blocks" should already work as-is (although the UI is a bit messed up right now), and we are planning on making "locked" pages. As far as separate configurations based on role assignments, I believe this should already be possible through role overrides in the block level, or role assignments on the block level. We can't add entire pages based on role, though, since pages are not a context. (I'm not sure what you mean by "choice list".)
In reply to Tim Hunt

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Hubert Chathi -
Yes, I think that a. makes the most sense from a technical standpoint (e.g. saves a whole bunch of database records). And, personally, I think it makes the most sense from a UI standpoint. But I'm also interested in hearing if there are differing opinions, or reasons for doing it differently. If not, then I'll just keep it as it is.

I like the idea of allowing the student to view the standard dashboard, and reset if they want to. (And maybe allow an admin to reset the dashboard?)
In reply to Hubert Chathi

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Mark Pearson -
>" At some point, the default pages get copied into the user's space, and any further changes to the default page will not be reflected in the user's pages. Our question is: at what point should this be done? Possible options are: a. when a user first edits their dashboard/profile pages, b. on user creation, or c. when a user first views his/her dashboard or profile page. (Currently, the code uses option a.)"

Here's the problem I see with option a. According to the spec when a user first visits the dashboard/profile he/she sees nothing since the default pages will only get copied on the first editing operation. That's what the spec seems to imply at any rate. But I think that option b would be the best option since it results in predictable behaviour by the system.

I'm wondering how the following likely scenario would be handled -- Moodle admin sets up default dashboard, some users try it out but find that there are changes and tweaks that should be made. Admin changes the default dashboard to reflect the new improved layout. How then does he roll out this new dashboard to all the users? I'm not sure whether this is addressed by your options.


> 2. Some of the major features that we are planning on adding, now that the basic functionality is done, are: a. allowing users to have multiple dashboard and profile(?) pages (e.g. a user could have a "General Course Work" dashboard, a "Friends" dashboard, and a "School News" dashboard.), and b. allowing administrators to "lock" certain dashboard pages so that users cannot change them. How important do you think these features are? Are there other features that we should be adding?

I'd hope that it can be kept as simple as possible. I really don't see the need for multiple dashboards. Personally, I'd rather see a simple single dashboard well implemented.


>Note 2: I'd like to keep this discussion focused on the new pages/blocks functionality of My Moodle, and not on the course overview functionality. The course overview functionality will be moved to a block, and we will address changes to that at a later time.


But the Course Overview functionality is the really the core of MyMoodle -- at least as I see it. For my users, the dashboard is peripheral to the main purpose of MyMoodle which is presenting an overview of the courses they are currently teaching and allowing access to older courses but keeping them hidden out of the way.

@Dale : you may not be aware of this, but in Moodle 2.0 blocks can be located in the main body of the display. Having the Course Overview as a block means that it can be located in the central part of the layout together with other blocks. (But, how will this scale to dozens of courses? On many sites which have been in production for a number of years teachers will have a large number of courses in which they are stilled enrolled as teacher. How will these be displayed? If older courses cannot be hidden might the length of the page not break the Dashboard layout?)

In reply to Mark Pearson

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Hubert Chathi -
Here's the problem I see with option a. According to the spec when a user first visits the dashboard/profile he/she sees nothing since the default pages will only get copied on the first editing operation. That's what the spec seems to imply at any rate. But I think that option b would be the best option since it results in predictable behaviour by the system.

When a user first visits the dashboard/profile, he/she will see the standard dashboard that the Admin has defined. If the Admin has defined the standard dashboard to be blank, then the user will see a blank page; if the Admin has defined the standard dashboard to have some content, then the user will see the content. But I'm thinking that, out of the box, Moodle should come with a standard dashboard that contains the new course overview block.

I think that "predictable behaviour" is a matter of opinion in this case.

I'm wondering how the following likely scenario would be handled -- Moodle admin sets up default dashboard, some users try it out but find that there are changes and tweaks that should be made. Admin changes the default dashboard to reflect the new improved layout. How then does he roll out this new dashboard to all the users? I'm not sure whether this is addressed by your options.


This is not addressed by any of the options, and there is no sane way to automatically merge in changes. This would be addressed by Tim's suggestion of allowing users to view the standard dashboard, and to reset their dashboard to the standard. We can add more options (e.g. Admin can reset all users' dashboards, users can copy individual blocks from standard dashboard to their own, etc.) at some point.

Admins can also create "sticky" blocks, which will always be visible, regardless of the user's configuration.

But the Course Overview functionality is the really the core of MyMoodle -- at least as I see it. ...


I'm not trying to downplay the Course Overview functionality. It's just that my current focus on development is on the pages/blocks functionality. I will be looking at the Course Overview functionality at a different time, along with other potentially-useful blocks.

@Dale : you may not be aware of this, but in Moodle 2.0 blocks can be located in the main body of the display. ...


Just to clarify, having blocks in the main body is (currently) unique to My Moodle. Other pages are able do it as well, but AFAIK, My Moodle is the only page that actually does. Dale, look at the screencast to see what it'll look like with blocks in the centre column.
In reply to Hubert Chathi

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Ger Tielemans -

One of the biggest problems in the current role system is that Moodle cannot discriminate between my real courses and the courses I inheret from a role on a higher level (like teacher in a category).

lots of overview pages become far too long (like: the list my courses on the my page but also the block my courses, etc.)

I wish me a user-choosable filter-mechanism for these lists with also params like:-last visit, this semester, alphabetic, etc..

In reply to Ger Tielemans

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Hubert Chathi -
One of the biggest problems in the current role system is that Moodle cannot discriminate between my real courses and the courses I inheret from a role on a higher level (like teacher in a category).


The enrolments system will be changed in Moodle 2.0, and (IIRC) this will no longer be the case.

In fact, this is one main reason that I have not done any work in changing the course overview code yet -- since the enrolments system will be changing, the code to display the course overview will need to be changed again.
In reply to Hubert Chathi

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Ger Tielemans -
Ok, thanks for the answer.
In reply to Ger Tielemans

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Peter Diedrichs -
Picture of Particularly helpful Moodlers
This might be the totally wrong place for this, and if so I'm sorry but I just haven't found the right discussion/thread...

Anyway, here's my question with accompanying suggestion: Will My Moodle 2.0 have any kind of archive function? That would be great!
Since at my university many teachers teach several courses, and we don't want to remove old courses because the students want their old courses available, the teachers My Moodle-page gets overloaded with old-but-still-relevant courses.

One quite common solution seems to be to have a parallell moodle installation, like http://archive.moodle.your.domain, where old courses are moved. But that requires another upgraded and well kept moodle installation - another site, another login, plus administration... Not very convenient!

My suggestion is that My Moodle should have an alternative like "Archive this course" as an option for each course, and a separate page where the (by each individual) archived courses are gathered and can be accessed, and, if one so wishes, restored to "active courses". Mayby a "Deactivate subscriptions"-button for each course as well.

Can anyone tell if there's any kind of thinking like this around older courses in Moodle 2.0? I haven't found it described anywhere.
In reply to Peter Diedrichs

Re: My Moodle: My Moodle overhaul for Moodle 2.0

by Dale Davies -
I acheive this by having a form online ("End of year cleanup" form) that allows teachers to specify what they would like to with the course page at the end of the year (options like delete forum posts, remove students etc).

On there is an option to archive the whole course and specify a new blank course page.

If they choose this I take a course backup, email them the ZIP file, and create a new blank version of the course page for them using one of our predefined templates.
In reply to Peter Diedrichs

Re: My Moodle: My Moodle overhaul for Moodle 2.0

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
The new Backup/Restore in 2.0 is a lot better than 1.0 and we can now backup/restore easily from PHP code.

Even though there are no archiving tools in 2.0 exactly like you describe I'm sure we'll see lots of other addons developed that will implement some funky archiving schemes.

Also note the course overview is just a block now, and can easily be replaced with another custom block.

Possibly something can also be done with a special "Archive" course category that courses get moved into (and then those are ignored on the course overview).

More ideas welcome here.