Got back to work after couple of weeks holiday yesterday (holiday pics!) so spent the last day or so trying to remember what I was actually doing before I went away! None of the notes I made before I went away made any sense to me yesterday morning – but it’s all starting to become clear again!
Have been working a bit more on the Netvibes widget, and there’s now also talk of creating a Facebook widget for MSG – but for now I’ll stick with getting just one widget finished. Also managed to update the MSG BuddyXML service so that it can accept the username and password as part of HTTPBasic authentication – rather than just as get/post parameters (this was the problem I was struggling with a couple of weeks ago). One thing that’s slowing me down slightly at the moment is that our msg.open.ac.uk died over the weekend and we’re awaiting the engineer to fix it up.
A few people seems to have been trying out my Online Users Map block, did find a problem with it though (which is now resolved) – in that my original table name seemed to be too long for some Moodle installations (or more precisely ADODB) – which appear to have a restriction of 28 chars on the table name length.
Also beginning to look at how to manipulate images using PHP, the main functions I need to do is overlay one jpg onto another jpg to create a third image, and create lines for one set of coordinates to another on the image – sure there must be things out there which do this – just need to have a google…
Been playing with Netvibes UWA and trying to create a little MSG widget, but have been having a little trouble getting the authentication to work for MSG.
I think the problem is down to the fact that the MSG login works via get or post params being passed, rather than “http_basic” authentication username & password – which Netvibes uses. As far as I can tell this means that the username and password aren’t passed with the request as ‘normal’ url or form parameters – so the MSG login script complains that username & password are missing. I’ve not yet found a way of getting the http_basic username & password passed over to the processing servlet.
There are few ways I think of to get around this (though none are ideal)…
1) creating an http_basic secured page in MSG which can handle the authentication – however this means having all the usernames/password replicated into tomcat access files, which I really don’t want to be doing.
2) having the user enter their password entered every time they visit Netvibes – again not really an option as it’s hardly the point of having the widget – it ought to just be a case of entering your MSG credentials once and Netvibes stores these.
3) having the password stored as plain text – again not a good option as too much potential for passwords getting intercepted
Another issue is that Netvibes widgets don’t appear to support https requests, so the password will always be sent plain text to MSG 🙁
As I’ve only just started looking at the UWA framework, there may be something I’m missing or doing wrong – so any pointers as to what to do would be very welcome – especially if there are any examples 😉
I’ve just finished writing a new Moodle block, which is a variation on the standard online users block, but rather than showing a list of users, it uses the location information from users profiles to display online users on a Google map:
You can download this block from Moodle.org – or it’s in the Moodle contrib CVS
All feedback welcome – please post any comments/feedback etc below 🙂
Google have just announced that their geocoding API will now geocode UK addresses – so should make things much easier for maps developers. Will need to think now as to whether to move to this service for MSG, rather than using the Geonames service – a (possible) reason for moving to the Google API is that it’ll geocode full UK postcodes, whereas Geonames is only accurate to the first half of the postcode.
Just looking a creating a Netvibes widget so users could embed a slimmed down MSG client into their Netvibes page, and looking around all the info to do with Universal Widget API (UWA) – seems to be straightforward enough so far – good that the widget will also be able to work with Google & Apple dashboard.
Main issue is going to be deciding exactly what the functionality of the widget should be – my thought at the moment is that it should just show your status, plus your currently online contacts (not in groups??), then if you want to get more info etc (or chat) you’ll need to launch the actual MSG application.
Any suggestions as to whether this is enough/too much etc etc welcome (especially with not displaying the users in groups, and not showing offlien users).
Just found the first thing that I’m a little disappointed with regarding Google Maps… I was trying to get my map to load it’s points from a KML file – for which there is very simple code to achieve (couple of lines) – and all worked fine when I was pointing to mykml.xml. But as soon as I change this to be mykml.php (because the kml is dynamically generated as the points are regularly changing – and even at the same point in time may be different for different users), the points fail to appear on my map. As it works for .xml and .txt extensions I can only assume that Google have blocked kml files that are obviously (given the file extension) dynamically generated.
I’m unsure as to why they would have placed this restriction (perhaps for performance reasons?) – so any info on this welcome – or if I’m doing something wrong?
I think I may have found a work around (this comment in particular), but I’ve not tried it out yet to see if it works, but will give it a go now…
Update (17/08/07): For info that particular work around didn’t work for me – I found lots of other links to work arounds, but unfortunately they all rely on changing the web server so KML files are processed in the same way as ‘normal’ PHP files. Unfortunately, this isn’t really an option for me, as it’s part of a new Moodle block which people would download and run on their own server and I’d like people to be able to the install and run it without having to fiddle with their web server. Guess it’s back to JSON requests to grab the markers…