Archive for February 2006

Monday 27 February 06

Spent a little time yesterday looking at the Enterprise SDK and seeing how to get that working. My first step was to try running the very simple example (at http://www.cetis.ac.uk/content2/20040624131946) and I did get this running ok with JRun, I didn’t get it working with JBoss. Altough I had it running on JRun, in that I got the message on screen that there was an axis service available, when I actually tried to view the wsdl (as I’m still unclear as to exactly what the input parameters and outputs are for the service methods), I get an error.

With JBoss, I didn’t actually get an error (or in the logs), but just a blank page in the browser – so it was as if the the page/service was found, but no content generated. I’m not sure if this is to do with the version of Axis that I have running on my JBoss, or something like that?

I also thought I’d have a go at downloading and compiling the demo application on the cetis-es sourceforge site, but I didn’t get that finished, so I’ll give that another go today and I’ve been looking at the BEWT site, as they appear to have it all working.

Friday 24 February 06

Today I’ve also set up a test LAMS server, and installed the LAMS-Moodle module to integrate LAMS sequences into Moodle courses. The LAMS server is on a separate machine to our Moodle server, just to demonstrate these things working on separate machine, and it’s all been pretty straightforward to set up. I’ve noticed a couple of ‘odd’ things though (that I don’t think I’m actually going to worry about too much!), firstly that occasionally error messages appear in Moodle saying something along the lines of ‘warning, no such file or directory… \mod\lams\lib.php’, but it all seems to work fine anyway. Secondly, when I’m trying to add a LAMS sequence to Moodle, it doesn’t always seem to show all the sequences I’ve made in LAMS – this could be because I’ve put them in the ‘wrong’ place on LAMS though.

My plans for next week are to get to grips with the IMS Enterprise SDK and try to create a sample student records system to integrate with, so then we’ll have a web service for our Moodle Grouping Module and Grouping UI to call. I am going to make this very lightweight, as it will simply be a demo.

Friday 24 February 06

Been chatting to Carol at Sussex Uni about their Minted project today, really just to catch up to let them know what we’re up to in our project, and for her to let us know what she’s doing – to check we’re not duplicating effort. At the moment it seems like we can both just get on with what we were already doing, so we’ll still continue creating the Moodle Grouping Module in the same way and testing out the IMS Enterprise SDK etc, and they’ll be trying out the IMS Enrolment module for Moodle and linking the IMS Enterprise SDK up to their student record system.

It would be nice if we could have our Moodle Grouping Module ready in time for Minted to try out too, but this all depends on how quickly we can get this up and running. Fortunately though, we don’t need to depend on each other for our projects to be successful and still deliver what we promised to JISC!

We’re going to be keeping in touch with how each of our respective projects develops anyway, and once we’ve actually developed something worth showing (!), we’ll get together face-to-face.

Thursday 23 February 06

I have now posted up our notes from the meeting last week, and you can find them here: http://kn.open.ac.uk/public/document.cfm?docid=7581 These notes reflect our thinking at the time, and how the system should be developed, based on the components we thought to be already available (and their functionality). Some our thinking, and the work we’ll have to do, has changed as we’ve done more research (see the blog postings over the last few days). So once we’ve had chance to spend more time doing this research (especially on IMS Enterprise and Moodle groups), we’ll be able to provide a more realistic picture of what we’ll develop.

Thursday 23 February 06

And some more comments from Juliette regarding the grouping aspects within Moodle….

"Moodle has a concept of courses, members of a course and groups within a course. IMS Enterprise of course just has generic groups. This means that if we get an XML file of IMS Enterprise data we don’t automatically know which groups are courses. If you’re only trying to transfer information about course enrolment then you’ll have your data set up so the groups correspond exactly to courses and you don’t have any other groups, so you can ignore this problem. However as we’re dealing with groups within courses then we might need to worry about this type of thing. We could assume that all top level groups (i.e. groups that aren’t members of other groups) are courses, but I wonder how valid this assumption is with the sources that data is likely to come from.

If we’re only doing stuff through the IMS Enterprise Services API it doesn’t look like we’ll actually need to worry about this at all as we’ll assume that our systems are already synced with the course and enrolment info, but it still bothers me as a potential source of unforeseen problems!   "

Thursday 23 February 06

Some more comments from Juliette regarding the IMS Enterprise specs…

"The first thing that is a bit confusing about IMS Enterprise is that there are actually two specs – IMS Enterprise (latest: version 1.1) and IMS Enterprise Services (latest: version 1.0). They both deal with the problems of how we communicate information about people, groups, who belongs to which groups and which groups belong to which other groups between systems. The IMS Enterprise spec essentially tells us how to write all this information in an XML document whereas the IMS Enterprise Services gives us a web services API with calls that let us do things like create people and groups, put things inside groups, update and delete things and get information about groups and people given their ids within the system. The two are independent but designed in a fairly compatible way so you could use them both with the same data in a fairly sensible way I think. I did notice a list of differences between the two in the IMS Enterprise Services spec though.

So the IMS Enterprise spec is good if you want to transfer all the information about your system somewhere but is a bit clumsy for making any changes to that data while the IMS Enterprise Services spec is good for manipulating the data but doesn’t give you any way of finding out what is actually out there to manipulate. The specs suggest that IMS Enterprise Services supersede IMS Enterprise, but it looks like in practice you’ll need IMS Enterprise to get both your systems in sync somehow unless there’s some magic solution to this that I haven’t spotted.

I also had a look at Dan Stowell’s IMS Enterprise module for Moodle (look under Dan Stowell’s posts on the moodle.org forums – the latest version seems to be 0.6). It appears to very helpfully take an XML file in IMS Enterprise format and puts that information into the Moodle database in a sensible way. It doesn’t provide any sort of web services client for IMS Enterprise Services, so if we need one it looks like we’ll have to write one ourselves.

I need to look a bit more closely at Scott Wilson’s IMS Enterprise SDK too. At first glance it consists of some libraries and documentation to make it easier to attach an IMS Enterprise Services web service to your software. You still need to write your own backend of to actually do something with the calls rather than return ‘unsupported’. I suspect that what we and the MINTED project need here is probably fairly similar. "

Wednesday 22 February 06

Something else we’ve been trying to get our heads around is exactly what the IMS Enterprise SDk actually does. My impression (and I now think I was wrong!!) was that it was a self contained java/web services application that you would simply put on you J2EE server and then you could call various web services to get information or put information in and behind this there was a database (or similar!!) storing all the data.

We’ve now&nb;looked a bit closer, and it seems that it’s essentially a wrapper that can help you to expose student/group information via webservices using IMS Enterprise/IMS Enterprise Web Services (the nomenclature is confusing me too!!). So it now appears that in order to demonstrate our grouping toolkit, we’ll also need to build a web service, but just using the IMS Enterprise SDK to help us. I’ll chase this up with the Minted group, as I’m not sure if they had the same (mis!) understanding as I did, if so, they’ll need to build a service too, and it would make sense to collaborate on this.

Wednesday 22 February 06

Juliette has been spending some time looking at the Moodle forums regarding the use of groups, adn this is the email she has sent around (I did ask her if it was ok before I posted this!!):

"I’m gradually ploughing through the Moodle forum on groups to get a feel for some of the problems that people seem to be having. One thing that’s worth being aware of is that the way Moodle handles groups has some changes version 1.6 (apparently available on the Moodle CVS).

As you may know, the way Moodle essentially works at the moment is that you can only define one set of groups for a course. When you add a tool to a course, you can tell it to use this set of groups. So for instance if you have two ‘groupable’ activities in a course you have to use the same groups for each activity. Most of the request on the forum arise from a need for multiple sets of groups (I’ll call a set of groups a group set for the time being – need a better name!). So allowing this  would be an obvious improvement. When you add a tool you’d then tell it which group set to use. This would mean that you could use different groups for two different activities in the course.

There are also some possibly interesting things the user interface might be able to do if we have multiple group sets. For instance it could automatically create a new group set with minimum overlap with existing specified group sets. So for instance you could get it to put everybody into pairs, then say to the user interface ‘create me a new set of pairs with minimum overlap with the other set of pairs’, so that nobody is in a pair with the same person as before.

Another option could be that it can automatically create a new group set where groups are subsets of groups in an existing specified group set. This would mean that you could divide your students into three groups say, have a forum for each of these groups and then put them into pairs for another activity but be sure that the both members of a pair come from the same group of the original three.

As well as adapting tools to be able to choose a group set for the tool, ideally you’d want to be able to assign the force option (split all groupable activities into groups) to no more than one of the group sets.

All of this does however make the issue of what the ‘flattening function’ should be quite interesting though, as we’ll have to assume that some tools might be ready to use IMS groups before others. Maybe we could have some way of marking one of the group sets as the ‘primary’ group set that tools still using the conventional Moodles groups would see? There are general issues about the flattening function of course though because IMS doesn’t have any concept of courses. It’d be interesting to see exactly what the existing IMS Enterprise Moodle module that the MINTED folk mentioned does for this. Another thing I haven’t checked yet is whether it’s possible in Moodle to create separate ‘sections’ for a course like you can in some VLEs. If it can’t then separate sections, a pretty common requirement, are just groups within Moodle. As well as flattening, we also have the reverse problem – if somebody makes a change to the conventional groups in Moodle, how precisely do we reflect this in our IMS groups database? I think that way is much more straightforward, but we still need to make sure that we do it.

The user interface for managing group sets will also need substantial thought to make it easy enough for most people to use, but I think it should be possible. One thing that came up on the forums is that people want to be able to see a list of all the groups for their course on one page so we must make sure our user interface can do that too. "

Wednesday 22 February 06

Sourceforge have now confirmed the registration of our JoinIn project, the link to it is: http://sourceforge.net/projects/joinin, but obviously there’s nothing there yet. I’ve been having more discussions on our team to sort out various issues, for example which database formats we are going to support, which versions of Moodle etc we’ll be using. I’ve also received further clarification from Ernie about how the Moodle/LAMS link up will work, regarding the groups. So I’m just updating our document and will post it up shortly (as I keep saying!!). Juliette as also been looking up on the Moodle forums queries and problems from real users regarding groups, to see how our toolkit can help address them. However, we do need to remember that we’re doing a toolkit which could be used for any VLE, we’re not just doing Moodle development, though we happen to be using Moodle as our first VLE to test the toolkit architecture on.

Have also had an email from Sam at JISC regarding which version of IMS Enterprise and the SDK we’ll be using. At the moment it looks like we’ll have to start off  using Scotts SDK (which uses v1.0 of Enterprise), as it’s likely that a newer version won’t be available for a few months. Depending on the timing of the release of the new version, and how much the API and outputs have changed to the current version, we’ll try and use the more recent version in our toolkit.

Monday 20 February 06

I’ve just finished writing up the notes etc from the meeting with Ernie last week, and have sent them around to everyone who attended. So hopefully I should have the notes posted up soon. I’ve registered the project with SourceForge, so just awaiting approval from them. I’m also going to have a look at the Moodle forums to see what types of thing people in the Moodle community are asking about regarding grouping, and also to check that we’re not replicating work. Hopefully the forum should also be a good source for use cases too.