Skip to content.
Personal tools
You are here: Home » Features » JoinIn project: Sharing Groups between LAMS and Moodle

JoinIn project: Sharing Groups between LAMS and Moodle

Alex Little, Juliette White, Ernie Ghiglione & Patrick McAndrew
Last modified 18 Dec, 2006
Published 12 Dec, 2006
Alex Little introduces the JoinIn project which has developed a toolkit which enables groups to be shared between the Moodle and LAMS open source VLEs.

The principal objective of the JoinIn project was to enable the sharing of groups between two of the most popular open source learning tools, LAMS [1] and Moodle [2]. The project was a collaboration between the Institute of Educational Technology at the Open University, UK [3] and the Macquarie E-Learning Centre of Excellence (MELCOE) at Macquarie University, Sydney [4]. The team working from MELCOE were also part of the core development team for LAMS . The project aimed to demonstrate a methodology for sharing groups between systems which could be extended to other learning environments.

The initial scenario was to allow LAMS activity designs to be embedded within Moodle courses, whilst retaining the groupings students had been divided into on the Moodle course. An example could be a Moodle course which divided students into two groups and each group was to participate in a different LAMS sequence. In this case we wouldn’t want to require the teacher (or administrator or anyone else for that matter) to ensure that all their students and relevant groupings were registered on both the Moodle and LAMS systems.

Before this project started a LAMS-Moodle integration module already existed, but this only allowed sharing users (not groups) and could only interact with these two systems; it wasn’t a generic approach which could be applied to other tools without further development work.

The project looked to use the relevant standards to implement the sharing of group and user information, these are the IMS Enterprise and IMS Enterprise Services (ES) specifications [5]. Although they sound similar and both deal with users and groups, they each address different issues. The IMS Enterprise specification provides an XML format for storing data about users, groups and membership, whereas IMS Enterprise Services describes a set of services which can be used to interact with IMS Enterprise data, i.e. creating, deleting, getting and updating users, groups and membership [6].

In using these specifications we also hoped that not only could we share that data across LAMS and Moodle, but that it could also be linked up to an Student Record System to automatically share and transfer users and groups between all three systems.

The diagram below shows the various components of the proposed JoinIn system, and how they interact with each other (for the more technically minded, the interfaces are also shown, mainly SOAP web services):

Proposed JoinIn architecture

Proposed JoinIn architecture

As the project progressed it became apparent that although IMS ES offered most of the required services, some were missing, for example, the ability to return all the groups, rather than a specific group. Extra services needed to be added for our requirements, which then defeated the point of using a standard specification.

During the development of the Moodle Grouping Module, it became apparent that there were limitations as to the use of groups in Moodle. One of the biggest restrictions was that all activities for a course had to use the same set of groups. However there were other issues including permissions for groups and the sharing of sets of groups between courses. Therefore as part of the work for the project we developed a new infrastructure for groups in Moodle including a new user interface for managing sets of groups and members of groups [7]. This user interface also allowed the automatic generation of groups in various ways – for instance a teacher could specify the number of groups or number of students in each groups and the groups would be automatically created. This more general work on groups in Moodle has generated a high level of interest in the Moodle community and is planned for inclusion as a core feature of version 1.8 of Moodle.

In parallel to the Moodle grouping interface, we were also developing the existing LAMS-Moodle integration module to cope with group information. LAMS was also extended so that it could communicate directly with the Enterprise Service or directly with Moodle (for those people who preferred not to set up the additional Enterprise Service).

This all fitted well and worked with our original architecture. However on a practical level, especially for non-technical teachers, we felt that requiring 3 systems (LAMS, Moodle and the Enterprise Service) to be installed, configured and running correctly, would potentially put many users off using, or even trying out, this configuration. So we took the decision that by default the LAMS – Moodle integration would run without requiring the Enterprise Service to be installed, i.e. that LAMS and Moodle communicated directly, while still exchanging their data using the IMS Enterprise specification. The other factor which influenced this was the fact we had already needed to deviate from the IMS ES specification.

The final outcomes and impact of JoinIn turned out to be different from our original intentions. Our original architecture plans turned out to be fine in theory, but less well suited to a practical application, especially due to the fact that IMS Enterprise Services did not provide all the services we required and the added complication of requiring additional services to be installed. So while IMS Enterprise has been used as a communication format, in practice the services are less likely to be used.

The work carried out by JoinIn has increased the value of the LAMS-Moodle integration by allowing a richer model of group activities and, with the adoption of the new grouping interface in Moodle, the JoinIn project has made a useful contribution to both of these popular open source learning environments and their user communities.



[2] Moodle

[3] Institute of Educational Technology, Open University

[4] MELCOE Macquarie Universitys E-Learning Centre Of Excellence, Macquarie University Sydney

[5] IMS Enterprise and IMS Enterprise Services (ES) specifications

[6] JoinIn Project Proposal

[7] JoinIn development blog (very technically focused)


Supported by JISC Supported by CETIS
Powered by Plone