My Moodle: Extending "My Moodle"

Re: Extending "My Moodle" - more personal

by Roger Emery -
Number of replies: 12
We've enabled "my moodle" as the default home page for users in concert with automatic enrollement from our records system.

Here's something simple that make so much difference:-
I've tweaked the code (yesterday) to show the users name and picture as a heading block - it just adds that personal touch. "Hi, Daisy!" etc

Screen capture attached.
Code below - its all hard coded/styled/languaged in a table at the moment as proof of concept as I'm still tweaking, but will do it properly once we have upgraded to 1.8x (currently using 1.72).
It uses the 100x100 user picture reduced to 50x50 - the exact half doesn;t leave jaggy edges to the picture.

One file changed:- ../my/index.php

These additions from Line 55 (ish) onwards...

/// The main overview in the middle of the page

$firstname=$USER->firstname;
$userpicture=$USER->picture;
$userid=$USER->id;
if ($userpicture) {
$picturepathname = 'http://mycourse.solent.ac.uk/user/pix.php/'.$userid.'/f1.jpg';
} else {
$picturepathname = 'http://mycourse.solent.ac.uk/pix/u/f1.png';
}
echo '<table style="border-color:#eeeeee;" border="0" cellpadding="4" cellspacing="2" width="100%">';
echo '<tr><td style="background-color:#eeeeee; border-color:#dddddd;"><a href="http://mycourse.solent.ac.uk/user/view.php?id='.$userid.'"><img src="'.$picturepathname.'" align="right" width="50" height="50"></a><b><span style="font-size: 6px">&nbsp;<br></span><span style="font-size: 18px">Hi, '.$firstname.'!</span><span style="font-size: 12px"><br>Your sites below...</span></b>';
echo'</td></tr>';
echo '</table><br/>';
Attachment my_personalised.gif
Average of ratings: Useful (6)
In reply to Roger Emery

Re: Extending "My Moodle" - more personal

by Ray Lawrence -
HI Roger,

I like this. smile Just a quick thought.... have you considered re-working this as a block, with scope to edit the text? It could then be used in courses too (although not in the centre of the course page sad).
In reply to Ray Lawrence

Re: Extending "My Moodle" - more personal

by Steinn Sigurðarson -
On our agenda in the covcell project (to be delivered this month actually, yikes!) is also what we call a "personal profile block".

Which started out to be a pretty complicated block where people could manage their personal information and decide who sees what etc -- but I said no to that idea, since we just don't have the time and money to make such a block with an interface that would make it actually useful.

Instead, we decided to just make a little block for use with the My Moodle page, where a user would see their own picture, a greeting, and perhaps some basic stats on themselves (number of courses they're registered in, etc?) ... ideas?

In fact, seeing that screen shot from Solent reminded me of what a difference such a simple block could make!

I'll throw one together soon and post it here!

Best,
Steinn

In reply to Steinn Sigurðarson

Re: Extending "My Moodle" - more personal

by Roger Emery -
Just to note - the avatar/picture of the user links to their profile
In reply to Steinn Sigurðarson

Re: Extending "My Moodle" - more personal

by Steinn Sigurðarson -
Just a quick mail from the COSELLO conference, we are now publishing (finally!) the COVCELL tools we hadn't published yet.

Here is a screenshot of what I call "COVCELL + My Moodle".
covcell_mymoodle.png
Average of ratings: Useful (2)
In reply to Ray Lawrence

Re: Extending "My Moodle" - more personal

by Roger Emery -
Not sure I'd know where to start with a block version to be honest! Have to look into that.
Just wanted this on the students 'my' / homepage for now - hence the hack.

Also thought though a similar block/centre resource within a course would be good to show the tutor(s) avatar/name in a similar way with links to their profile - This would personalise the course sites/pages with the info of who is teaching as a compliment to the students homepage showing who is learning.


In reply to Roger Emery

Re: Extending "My Moodle" - more personal

by Ray Lawrence -
I like the fact that this is central and not to the side in a block... Just did a bit of cutting and pasting, I feel a new course format coming on.
Attachment bodge_job.jpg
In reply to Ray Lawrence

Re: Extending "My Moodle" - more personal

by Ger Tielemans -

We made this change: echo the users's name in the navigation bar, then a static, hardcoded part of the code in /calendar/ moved to /my page/ in the center, sticky blocks on the left and the right and then finally blocks students can choose to paste on their privat my page (like the HTMl-block on the right with the personal web 2.0 favorit links..)

Availability of the blocks is depending of the (block) settings in:

  function applicable_formats() {
        return array('all' => true);
    }

(not available block for students and teachers on my page: 'my' =>false )

Attachment mypageGER2.png
In reply to Roger Emery

This forum post has been removed

The content of this forum post has been removed and can no longer be accessed.
In reply to Deleted user

Re: Extending "My Moodle" - more personal

by Roger Emery -
Hi Nick,

The display of recent activity and assignments is built into the standard 'my' page so I have added nothing, although I have read that others have found this feature does not work because of a bug in certain versions. We are using 1.82

Roger
In reply to Roger Emery

Re: Extending "My Moodle" - more personal

by Ben Christopher -

Hi roger,

i am using 1.9+.

am i right in saying that i can paste this code into ../my/index.php and all this "block" will appear for all my users?

thanks

Ben

In reply to Roger Emery

Re: Extending "My Moodle" - more personal

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Hi Roger,

I hope that you read this!

Anyway, I have had a go at implemening your code and made a few alterations - so in index.php of /my/ for Moodle 1.9.5 inserted at line 66:

$firstname=$USER->firstname;
$userpicture=$USER->picture;
$userid=$USER->id;
if ($userpicture) {
$picturepathname = $CFG->wwwroot.'/user/pix.php/'.$userid.'/f1.jpg';
} else {
$picturepathname = $CFG->wwwroot.'/pix/u/f1.png';
}
echo '<div style="border: 2px solid #5C5CD4; border-radius:2ex; -moz-border-radius:2ex; -webkit-border-radius:2ex; background-color:#5C5CD4; color:#ffffff;"><table border="0" cellpadding="4" cellspacing="2" width="100%">';
echo '<tr><td width="90%"><p style="font-weight: bold;"><span style="font-size: 4px">&nbsp;<br></span><span style="font-size: 18px;">';
$timetodecode = date("G");
if ((int)$timetodecode < 6 && (int)$timetodecode >= 0) {
echo 'The twilight hours can be the most productive,';
} elseif ((int)$timetodecode < 12) {
echo 'Good Morning';
} elseif ((int)$timetodecode < 18) {
echo 'Good Afternoon';
} elseif ((int)$timetodecode <= 23 || (int)$timetodecode == 0) {
echo 'Good Evening';
}
echo ' '.$firstname.'</span><br /><span style="font-size: 12px">Your courses are below...</span></p></td><td width="10%"><a href="'.$CFG->wwwroot.'/user/view.php?id='.$userid.'"><img src="'.$picturepathname.'" width="50" height="50"></a></td>';
echo '</tr></table></div><br />';

The code is site independent and implements round borders when used with a suitable CSS3 complient browser such as Firefox or Safari.

Cheers,

Gareth