Posts tagged ‘groups’

Friday 16 June 06

Now got the JoinIn project website up and live for people to look at:  If you find anything missing or the instructions aren’t clear enough etc etc, then please let us know!

We’re getting very close to having the JoinIn project finished off now, and have had some potential good news in that the updates we’ve (well, Juliette has !) done to the Moodle grouping interface might be incorporated into the Moodle core.

Friday 5 May 06

Been getting on well with implementing the Person and Group services, and got the main method done that we needed for these, but have come up against a bit of a problem when implementing the Membership service. I;ve posted a comment on the SF forum about this, but it’s essentially that the service doesn’t appear to the available, just get a null pointer error, and I can’t figure out why this would be. So hope that I can get this resolved soon.

Another question that’s come up is why the deleteMembership method only requires a sourcedId, I don;t quite get what this method then does. Does it delete all the memberships for this group (or for the person)? Isn’t there a way to just remove a person’s membership from a group – if so which method should be used?

Juliette had also raised a couple of queries regarding some of the Moodle integration….

1) Do we allow groups that don’t belong to groupings?
2) When adding a member to a group, should we check that the person is a member of the course?

Both of these are really specific to Moodle rather than the Enterprise side of things – so need to have a chat about these with her.

Thursday 6 April 06

As I’ve been going through the IMS Enterprise and IMS Enterprise Services spec, I’ve got a number of questions as to how they should be used, or more what they should actually return (this is just a random collection of my queries!)…

1) Should the readPerson method return the persons’ group membership too – or should it only  be the person record?
2) Should the methods which return group memberships return records of people who are implicitly in the group too? By this I mean if there is a parent Group P which contains a child Group C and person A is a directly listed as a member of C (but not of P), if I request all the members of group P, should person A be included? Or should it be up to the requesting system to make iterative calls to get this sort of information?
3) Some of the methods in the Ent Service spec appear to do very similar things, eg the readGroupsForPerson and readMembershipsForPerson both appear to return the same information, admittedly the XML format is different, but essentially the information you are getting from each is the same.
4) It seems a little odd that the formatted name is mandatory, but the component parts of the name are not, I would have thought it ought to be vice versa – as storing and using the component parts of the name is much more common and sensible!
5) There seems to be the potential for the group relationships to get into a loop (I’ve not seem anything yet in the spec that refers to this potential problem), as it seems possible (according to the spec), to have Group A being a member of Group B and GroupB to also be a member of Group A.

The answers to these are probably out there somewhere….!

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

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 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

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. "