My Moodle: New Tracker Item for My Moodle 2.0 Improvements

My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Mike Churchward -
Number of replies: 19
Picture of Core developers Picture of Plugin developers Picture of Testers
I have created MDL-19124 to start tracking work we can do to improve My Moodle for 2.0.

Key goals are:
  • it must be customisable by the user to show as little or as much as they want
  • it should be generic so it can be used by all Moodle institutions (this means working with the community to develop consensus where possible, otherwise options for different features)
  • it should be efficient on CPU and RAM
Other comments can be found here: http://moodle.org/mod/forum/discuss.php?d=117522

We should try and get our plans documented.

Mike
Average of ratings: -
In reply to Mike Churchward

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers
Looking at the posts surrounding what we would like to do with My Moodle, makes me think we need to have My Moodle plug-ins...

These would borrow on the 'Page' work being done for Moodle 2.0, and provide 'My Moodle' page plug-ins. These plug-ins could then provide the functionality they require in a standard page.

My thoughts are that the My Moodle page plug-ins would be displayed one per tab. The 'profile' tab would then simply be one of the plug-ins.

It would be possible to build a personal page layout editor that would allow users to select the pages they want in their My Moodle. They could also select the page they wanted as the default landing page.

Also, page plug-ins could support blocks, and allow users to add blocks to each of the pages in the way they want.

This structure would provide the framework to allow developers to add more functionality to My Moodle in a controlled way. New pages could include social networking functions.

I have some mockups in MDL-19124.

Standard profile: http://tracker.moodle.org/secure/attachment/17214/MyMoodle-profile.png
My Courses: http://tracker.moodle.org/secure/attachment/17221/MyMoodle-MyCourses.png
My Messages: http://tracker.moodle.org/secure/attachment/17226/MyMoodle-MessageCentre.png

Thoughts?
In reply to Mike Churchward

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Hubert Chathi -
I think that My Moodle page plugins that can support blocks is a good idea. It would allow people to easily develop some of the social networking functionality that has been asked for.

It could also help in integrating with other applications. For example, there could be a Mahara or Elgg page plugin that gives you a summary of activity from those sites (e.g. recent blog posts from friends, etc.).

In reply to Mike Churchward

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Stephen Bourget -
Picture of Core developers Picture of Plugin developers Picture of Testers
I like the plug-in approach as it will allow for better customization for each individual institution. I do have a couple of questions about the mockups...

1. Will there be a way for the server administrator to determine which plug-ins are available to the users or specific groups of users?

For example In your mockup you show a blog tab. The K12 school that I work at does not allow the student users to create blogs, however I have the blog functionality available to a few faculty who are experimenting with it. Would it be possible to hide the blog tab / page from the students but allow it to only the faculty using Roles / permissions?

Another way I would like to be able to use this plug-in structure would be to be able to create a customized dashboard (displaying things like announcements and other resources) and display it only to my faculty users (as defined by a Moodle role). Would this be possible?

2. On the my courses mockup, will it be possible to control which modules are displayed on the page, and possibly control how long something is diaplayed there?

For example could there be a way to prevent the assignment module from being displayed on the my courses page, Like what is being asked in this discussion, or set it so Assignments are only displayed until the due date / or some arbitrary value after the due date.
In reply to Stephen Bourget

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers
The mock-ups were more of a "first-step" concept, to test the water for approval/rejection of the page plug-in idea... If we went this route, the function of any page plug-in would be up to that plug-in.

I would think some of the standard features of page plug-ins would be similar to modules or other plug-ins. To that end:

1) Administrators would be able to 'lock' them. This would mean that certain page plug-ins would be designated must be present, and a user could not choose to remove them from their "My Moodle".

2) Administrators could choose to hide plug-ins from the site.

3) Displays of plug-ins would be controlled by capabilities. So roles without those capabilities would not see them.

4) Dashboard. I see this as a very useful plug-in that could be one of the first one created. It would have its own config screen that would allow a user to select what went on it.

If we think that this is a good idea, then I can start to create a spec for it.

mike
In reply to Mike Churchward

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Minh-Tam Nguyen -
It sounds a bit like you would end up merging the current myMoodle (list of my courses) behaviour with the user's profile page.
This is a good thing, because it would make it more of a 'personal space' for the users.

I think the individual courses in the 'My Courses' tab should behave like topics in a course: be movable.

Cheers,
Minh-Tam
In reply to Mike Churchward

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
You should certainly have My Moodle plugins, but I don't think you have realised the full implications of what I am doing to blocks because, in Moodle 2.0 the name for My Moodle plugin is: ... "Block".

Let me explain a bit.

In Moodle 2.0, every page in Moodle is identified by three things: a contextid, a page type, and a subpage name. (Subpage name is not often needed, and normally blank.)

For the My Moodle page, the contextid should be the user context of the current user, the pagetype should be my-index, and subpage should be blank (but see below).

Then, on any page, in future the theme will mostly control where blocks can appear. So, if you are using the standard theme, you will automatically get space for blocks on the left and the right; and then there is a region in the centre of the page where the content of this page goes. (<div id="content">). If it wishes, the particular page can choose to allow regions of block within that main content div too. Well I think that for the My Moodle page we should only have blocks in that central region. That makes things totally customisable.


Now, you were talking about allowing multiple tabs on the my-moodle page. That is a good idea, and that is where the 'subpage' bit comes in. Each tab would just correspond to a different subpage name, and that lets you have different blocks on each subpage. So actually, the My Moodle page would comprise a tab bar, and add/manage tabs controls, and then a region of blocks.


I hope that makes sense. The UI for managing 'sticky blocks' throughout Moodle is what would allow administrators to control which blocks all students see on their My Moodle pages by default - that would be basically the same UI that they use to determine which blocks are added to course pages by default.


Note that in Moodle 2.0 dev at the moment, the first part of the new blocks system is implemented, and although it is not finished, it is working enough that you can add and remove blocks from a page (you just cannot move them around, and I have not fixed block contexts yet). Anyway, there may be enough there that you can start seeing how it will work.


Also, I agree with Minh-Tam Nguyen that the My Moodle page should be merged with the user profile (but perhaps that can wait for Moodle 2.1?)
In reply to Tim Hunt

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers
I was thinking that the blocks system might be the way to go as well, and just define the way it is displayed within My Moodle...

But then I began to think that each of the My Moodle subpages might want to have their own blocks on them. That is, a centre display section with side blocks. Do you think this system could be supported this way, or if allowing blocks on the subpages is even a good idea?

mike
In reply to Mike Churchward

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

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
I think we definitely should aim to use blocks here rather than a new plugin type. If blocks are insufficient to meet any use cases please let's work that out now, because blocks are being redeveloped as we speak.

As for this example, having multiple My Moodle pages per user is totally supportable by the new blocks system as far as I can see. I would proceed on that basis and Tim will be able to help further when he gets back in a few weeks.

I assume you are just thinking parallel tabs, rather than a hierarchical structure. Best practice in this area seems to be:

iGoogle http://www.google.com/ig and
NetVibes http://www.netvibes.com and even
Mahara http://mahara.org
In reply to Martin Dougiamas

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers
Blocks seems to make sense, except that it wouldn't allow us to put blocks on sides of the sub-pages (if the sub-pages were themselves blocks) would it?

If not, I guess we could sacrifice that.

Yes, I was only thinking of parallel tabs... And in fact, tabs should really just be the first way we style the page to work - there may be others (but I can't think of any at the moment).

mike
In reply to Mike Churchward

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

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
Subpages wouldn't be blocks would they? They could just be records in a new my_pages table.
In reply to Martin Dougiamas

Re: My Moodle: New Tracker Item for My Moodle 2.0 Improvements

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers
I'm not sure I'm following you....

Is there a new "subpage" type plug-in now too?

mike
In reply to Mike Churchward

My Moodle + User profile

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
Firstly: Mike, it's so cool you can work on this and I'm very grateful that you are!

I am feeling very confident that My Moodle and the user profile page should be redeveloped in tandem for Moodle 2.0 as two sides of the same coin, probably as tabs of the "same" system (from a user interface point of view).

My Moodle = your personal "portal" page where you arrange your own Moodle front end (so you have a clear overview of what is happening and what needs doing for all your courses) as well as feeds and other info (eg a block to show your courses on an integrated Blackboard server, for example!) It's also the place where you change your preferences and settings.

User Profile = your page for other people, may contain blocks with related information you want other people to see (eg recent twitter posts, etc). You should have some control here over what you want to allow people to see. Some of the existing tabs we have now in Moodle 1.x could become blocks on this page, and some of them could be moved to the My Moodle page.

This model is quite common on the internet these days, for example:

Facebook = Home + Profile
Twitter = Home + Profile
Flickr = Home + You

In reply to Martin Dougiamas

Re: My Moodle + User profile

by Mike Churchward -
Picture of Core developers Picture of Plugin developers Picture of Testers
I think we would want them to be *very* closely related, such that the user profile page is (conceptually) part of My Moodle. Or are you saying something different?

One of the big issues to deal with would be course context issues. Currently, the profile page has displays depending on what course the user was in when it was clicked, whereas My Moodle should be completely course independent.

I suppose, what could be done is to make sure that the profile functionality comes from functions that can be used to populate a page display. That way, there can still be the standard profile function and the My Moodle profile function.

mike
In reply to Mike Churchward

Re: My Moodle + User profile

by Matt Gibson -
+1 for having My Moodle as a tab (the default one) in the user profile.

Regarding the context, Tim made the point somewhere before that there is an internal need for a different profile page for each course, but to be honest, I can't see it as being very useful from any user's point of view, and in fact its downright confusing. By all means, we should display different things depending on whose viewing the profile and what permissions they have, but I think it would help a lot if there was just one user profile and a single set of tabs that show all of a user's activity and information in one place.

Activity logs for example - it's not easy or intuitive for a student or admin to switch from seeing a user's logs in one course to seeing their logs in another (at least not without a fair bit of explaining). I think that unifying these pages would help a lot so that we have a single logs page, forum posts page, etc. and can choose via a dropdown which course to view. My Moodle would make a lot of sense in this scenario, wheras without the change, it may well add to the confusion.
In reply to Mike Churchward

Re: My Moodle + User profile

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
I think as long as we keep the idea of (for the current user) "private pages for me" and "public pages for others to see" totally separate then it should be easy to work out the design.

Currently the user profile contains a bit of both, plus a third aspect "logs and records for this user". This could be a third section on the tabs, and all the course-specific stuff can be under that.
In reply to Martin Dougiamas

Re: My Moodle + User profile

by Hubert Chathi -
One way to unify "My Moodle" and "User Profile" is to have the My Moodle pages able to generate two (or more) different views -- a "private" view, and a "public" view (if applicable). We could also split "public" into "friends" and "strangers", if we wanted that level of granularity, based on roles and capabilities. Of course, the user should be able to determine whether the "public" view is accessible (and some views probably won't make sense to have a "public" view at all).
In reply to Hubert Chathi

Re: My Moodle + User profile

by Ger Tielemans -
My Page should look like the personal portals elsewhere, but then heavy integrated in Moodle: the calendar will be the key field, iCal..  
(see also the competition: opengoo.com cyn.in, google.apps)
..
When you force my page after login, you know for shure that everyone will see that page. The problem with tabs is that you change this in a pull-system: only the default fronttab will be pushed to the user, the other info is only available if the user clicks on that tab...
Nothing wrong with that, because our users are complaining that the My page is overcrowded: moving parts to secondary tabs could solve that.*) The biggest problem is that we cannot differentiate between user (roles) for the info filtering. 
 
We use and tune My Page to fit our needs at 5 schools:
  • We allow center blocks, especially the calendar in the center
  • Some users add the messages block in the center, handy
  • we use sticky blocks to force blocks on all my pages:
    • user photo block with extra schoollinks left
    • schoolinfo block left (filtered for location and role of the user)
    • admin block on the left
    • handy weblinks on the right (for our schools)
  • In the screendump you just can see the header of the first course in the list for this user: I toyed with filter choices for the user (last visited, sort by date, yes/no course messages, but that gave confusion..)
We also add extra buttons with PDF-dumps of local-school-events. (We add a location filter to the site-news page and create a role for site(location) news authors.
..
Having the tabs of the personal page integrated on the my page would simplify a lot, BUT PLEASE, NOT the other way around smile

*) Teachers see to many courses on their my page, for them category(=location) reletad tabs with courses in that category would help teachers.
Attachment mypage.jpg
In reply to Ger Tielemans

Re: My Moodle + User profile

by Hubert Chathi -
I believe that with tabs, you would be able to set your own default tab. We could also create a "dashboard" tab type, that would allow you to add arbitrary blocks and such. So you should be able to get the exact same functionality as what you have now.

Another possibility with tabs (provided that it does not break the "must be efficient" requirement) is that the tabs titles do not have to be static, but can give extra information. For example, a "message centre" tab could indicate that the user has 3 unread messages.
In reply to Hubert Chathi

Re: My Moodle + User profile

by Daniel Neis Araujo -
Picture of Core developers Picture of Plugin developers Picture of Translators
Hello,

here at the Universidade Federal de Santa Catarina, we have implemented the possibility to the user choose for which courses the overview must be showed at my moodle.

It works on Moodle 1.9.5+ and here is the link to the tracker issue: http://redmine.npd.ufsc.br/issues/show/236

Hope you'll like.