September 6, 2007, 9:39 am by Alex
|
1 Comment
Spent the day yesterday figuring out how I could implement a load chat history function in MSG – as one of the things I find a little annoying with MSG is that if you accidentally close the chat window, you can’t get the chat back – and if I find it irritating then I’m sure others do too
There were 2 ways I thought I could approach this…
- In BuddyXML (essentially the MSG server layer) intercept the messages as they are sent to/from users and store in files on the server, just in a directory structure reflecting the users involved
- Enable logging in the OpenFire server and parse these to give the user their chat conversation with the user selected
Each of these options has it’s pros and cons. Approach 1 means creating a new logging system (re-inventing functionality already implemented in OpenFire), but it would be quick to return the results to users (no parsing involved), whereas approach 2 has the opposite pros & cons – the logging is already implemented, but if the logs get big, it could take a while to parse/process them.
I decided to take approach 2, as it just *seems right*, but if it does start to become slow (with the parsing involved) we’ve got another method we could implement. In order to reduce the amount of parsing of log files, I’m restricting the conversation history returned to the last 7 days – although I’ll set the server to store the last 30 days, so we can increase the amount of history returned if it all works ok.
I’ve got most of this fixed up now and implemented – the final bit to put in place is to actually display the history back to the user in the chat window.
Hopefully this function with be useful to people (well, at the very least, I’ll find it handy!)
This morning the live OpenLearn servers have been updated with quite a few improvements…
- RSS feeds published for a variety for units (including unit content)
- MyLearningSpace and MyLabSpace – so you can see your courses, recent forum postings etc in one place (well really it’s 2 places!! – one for each OpenLearn site)
- More prominent forums – so will hopefully generate some more discussion, and what dicussion there is will be more visible to users
- much more sensible login navigation for users with OUCU (SAMS) user accounts
- plus, obviously the most important update (!) is to MSG block, so you now receive much more obvious new message notifications, when a new message arrives you’ll see a small pop up box appear in the bottom right of your browser window (in a similar way to how GTalk informs you of new messages)
Plus there have been lots of other updates to the servers too (bug fixes etc), but the ones above are (IMHO) the most significant.
In ‘other news’, I’ve put the FB stuff on bit a of a backburner for now, whilst we get chance to think about what exactly we want the FaceBook MSG application to actually do. The other (real!) reason for this is that I had quite an obscure bug which took most of last week to track down and fix. In the MSG forums there were a few people who weren’t getting automatically logged in to MSG. There didn’t appear to be any pattern to who was affected, and I didn;t have a user account which displayed the issue, so was difficult to pin down. Eventually we found it was to do with not all users being auto logged in to both LearningSpace and LabSpace, and it was these users who then didn;t get logged in to MSG. So we’re pretty sure we’ve got the issue fixed now, but if you’re still affected then please let us know!
August 20, 2007, 10:00 am by Alex
|
Comment
Have just started to have a look at developing an MSG widget/application for Facebook and am getting myself familiarised with the Facebook developers API. Appears to be fairly straightforward so far – well, I guess it can’t be too hard judging by the number of applications already out there and the API has only been available since around June (I think!).
One thing I do need to get sorted is exactly how the application should work and how it should interact with your facebook friends. My thinking at the moment is that it should look to see which of your friends have both a facebook & MSG account on the server you’ve specified and display their MSG presence – but I need to think a little more about how this would work in practice, or maybe it should just display all your MSG contacts? But then there could be less linkage between your Facebook contacts identities & MSG contacts identities. hmmm.. any ideas/thoughts?
August 8, 2007, 2:40 pm by Alex
|
Comment
I’ve finally finished writing another little widget that I started a while ago, this one allows you to display live presence status embedded on any webpage, without the end user being logged in to MSG (or even needing an MSG account) – you can see it in action at the top of this page. Clicking on the status icon will launch the MSG client.
In order to prevent anyone monitoring (or just displaying) anyone elses presence status, for each username and url (domain and directory) you’d like to display the icon on, we need to assign you a unique ‘key’ – in a similar way to how the Google maps API keys work. At the moment we don’t have an automatic form for generating these keys, so for now you’ll just need to email us with the username, and the url of site you’d like to display the icon on.
Here’s that code that you’ll need to paste onto your page to display the presence icon:
<script src="http://msg.open.ac.uk/msg/widget/msgstatuswidget.jsp
?host=msg.open.ac.uk
&user=a.little%25open.ac.uk
&refresh=10
&showText=true
&key=mykey
&showIcon=true">
</script>
Here’s a brief description of each of the parameters:
host: MSG host server where the user account resides
user: username of the presence icon to display
Refresh: how often (in seconds) the widget should check for presence changes. Minimum is 10 seconds and specifying 0 will mean the presence status is only loaded when the page first loads
showText: true/false of whether to show the textual description of the status (default false)
showIcon: true/flase of whether to show the icon (default true)
key: key for the url and username combination
Any comments/feedback welcome
I’ve just finished writing my first version of an MSG widget for the Netvibes environment and it’s ready for people to have a play with.

The widget will give you the presence state of your contacts (with “click to chat” option) and notify you when new messages are received.
To add the widget to you’ll need to log into you Netvibes page then select ‘Add Content’, under the ‘External widgets’ section select ‘UWA Module’. Click on the ‘Add to my page’ link, which will then add the generic UWA Module to your page. Then edit the settings for this module so the Widget URL is set to: http://alexlittle.net/blog/download.php?file=msg-uwa-latest.html. You must also ensure the ‘Inline this widget’ box is ticked (else it won’t remember your password).
You can now edit the MSG Widget to set your MSG username and password and then whenever you log into your Netvibes page you’ll automatically be logged into MSG and receive new message notifications and the presence status of your contacts.
OU users: if you normally use your OU network password to access MSG on msg.open.ac.uk, you should create a new password for accessing msg.open.ac.uk (otherwise Netvibes will be storing your OU network password), to do this please follow these instructions.
Please note that currently the MSG Netvibes widget will only connect to the msg.open.ac.uk server, so you must have an account on this server to be able to use the widget. After we’ve done some more testing we’ll extend this so you can use the widget to connect to your MSG-OpenLearn profile.
Feel free to try out the widget and let me have any feedback
Next step (after any bug fixes!) is to see if this widget can be used with iGoogle – in theory it should as they use the same UWA, but I’ve not tested it out yet. And after that, make a Facebook application for MSG…
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
July 4, 2007, 3:58 pm by Alex
|
Comment
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).
June 29, 2007, 2:18 pm by Alex
|
Comment
I’ve just finished updating the MSG Map Widget so that you can allow filtering. The filter can either be specified in the javascript command and/or an optional filtering control can be added to the map. You can also select whether you would like to display just the online users or both on and offline users. Another new option is the ability to have the map refresh every x seconds (the previous version showed the users at the point the page first loaded). See the map below for an example – this one shows all OpenLearn users who have enrolled on courses with ‘german’ in the title. Feel free to have a ‘play’ with the filter:
Few points to note…
- You can’t select to highlight the text in the filter box, you need to delete each character – which I know is a right pain. I’ve not figured out why this is – I’ve a feeling it’s something to do with the fact that text box is within a Google map, so ‘selection’ doesn’t work in the same way – since holding the mouse button down whilst dragging means something different in the map context. But I could be wrong about this!
- Similary the tab to ‘go’ button on the form doesn’t work – you need to use the mouse
- When the maps says it’s showing ‘all’ users this isn’t quite true! It actually shows all the online users, plus up to a maximum of 100 offline users. This is help prevent potential performance problems when displaying 100′s or 1000′s of markers.
I’ve created a page on the MSG website to explain the various options/parameters available.
All feedback welcome
I’ve just added usernames to the MSG map widget I created yesterday (see: http://alexlittle.net/blog/2007/06/19/msg-map-widget/) so when you click on a marker it’ll tell you who that user is. At the moment this is only available for the msg.open.ac.uk server – but hopefully will be able to apply it to msg-openlearn server soon too. It the username isn’t available then just ‘Anonymous’ is displayed instead.
Spent couple of hours putting together a little MSG map “widget” – so you can embed a Google map with markers for where users are online on your own webpage as the examples below show….
For the msg.open.ac.uk server
For the msg-openlearn.open.ac.uk server
This is the code that you need to use to embed this on your own page:
<script src="http://msg.open.ac.uk/msg/widget/msgmapwidget.jsp?host=msg.open.ac.uk
&height=300&width=450&zoom=2&lat=50&lng=0"></script>
Just change the parameters for fit what you’d like to show and how:
host: the MSG server to get the info from – valid entries currently are: msg.open.ac.uk or msg-openlearn.open.ac.uk
height: height of the map to display
width: width of the map to display
zoom: starting zoom level of the map
lat: starting latitude coordinate for map centre
lng: starting longitude coordinate for map centre
At the moment it’s just something I’ve been playing with, but would be good to be able to extend so that it can show the presences of your own contacts and give live presence info and provide the click to chat links etc.