Blocks: EJSApp Collab Session

Maintained by Picture of Ruben Heradio Ruben Heradio, Picture of Luis de la Torre Luis de la Torre
This block lets creating sessions for collaborative working with Java applets developed with Easy Java Simulations (EJS) and added to your Moodle course by means of the ejsapp module.
42 sites
3 fans
Moodle 2.0, 2.1, 2.2, 2.3, 2.4, 2.5


EJSApp is a module that supports the deployment of EJS simulations, that usually correspond to virtual and/or remote labs, into Moodle.

EJSApp Collab Session

Broadly speaking, there are two different types of collaborative environments according to the moment when the student-student (or student-teacher) interaction takes place: asynchronous and synchronous. The first ones allow data exchange in flexible timetables and remote access to web-based course materials to carry out activities in an asynchronous way. They use collaborative tools such as e-mail or forums for on-line communication. This is the typical approach and tools offered by most classic Learning Management Systems (LMS). However, this type of communication can cause feelings of isolation in the student and hence reduces his/her motivation. Furthermore, students do not receive instant feedback from their questions and cannot talk in real-time about results obtained in the learning activities. These limitations can be overcome by applying synchronous technologies, as this block does.

We have created an extension of Moodle and EJS to provide synchronous collaborative support to any virtual/remote lab developed with EJS, i.e., thanks to our extension, any existing lab written in EJS can be automatically converted into a collaborative lab with no cost. Our approach not only supports the teacher's presentation or explanation of course material by emulating a traditional classroom on the Internet. More interestingly, it also supports collaborative learning activities centered on students' exploration or application of the course material through VRLs. That is, students working in groups of two or more, mutually searching for understanding, solutions, or meanings.

A fundamental issue in a synchronous collaborative system is the Floor Control. This term points out how the system components share the computational resources. Our proposal tries to offer shared VRLs that can be controlled in real-time by the different members of a virtual class. In our case, the shared VRL is composed of a Java applet generated with EJS. There are two main kinds of components to coordinate: one session director’s applet and some invited user’s applets. The session director is responsible for starting, monitoring and closing a collaborative session. Thanks to the Moodle and EJS extensions we have developed, the session director’s applet manages in real-time the virtual class and synchronizes all the invited user’s applets. S/he has a list of invited users connected to the virtual session and can disconnect any invited user’s at any moment. In order to have a suitable floor control, connected invited user’s applets are locked and they cannot interact with the shared VRL in a first moment. They are only allowed to see in real-time what the session director is doing in the shared application. This way, the collaborative session avoids collisions of events which can cause unwanted and incoherent results. One example of this problem could be that the real equipment which controls the VRL becomes uncontrollable because of unsuitable user interactions.

In the following lines, the behavior of the EJSApp Collab Session block is described:

  • From the session director point of view, a collaborative session is composed of the following steps:
  1. A session is created by clicking the button "Create collaborative session".
  2. The session director selects then the potential participants to the session he is creating. When the “Invite participants” button is clicked, they will be notified with an e-mail and a Moodle internal message.
  3. The VRL is accessed in collaborative mode, i.e., the session director’s applet manages the virtual class and synchronizes all the invited user’s applets.
  4. The collaborative session is finished by clicking the “Close collaborative session”.
  • From an invited user point of view, a collaborative session is composed of the following steps:
  1. Once invited, the user clicks on the button “Participate as an invited student”. To prevent misuses of EJSApp Collab Session, its graphical interface changes to show just the valid choices available to a given situation. So, the “Participate as an invited student” button is only visible because the user has been invited to, at least, one collaborative session.
  2. From all the received invitations, the user selects in which session s/he wants to participate. Note that a course member can be invited to several collaborative sessions, but s/he can only participate in one of them at the same time.
  3. The VRL is accessed in collaborative mode.
  4. The user stops participating in the session when (i) s/he decides to leave it or (ii) when the session director closes it. In the former case, the user is free to enroll either to that session again or to any of the other current available invitations.

Tutorial Video

Guide to Install and Use EJSApp Collab Session


This plugin is part of set EJSApp and extensions.


Screenshot #0
Screenshot #1


Picture of Ruben Heradio
Ruben Heradio (Lead maintainer)
Picture of Luis de la Torre
Luis de la Torre: author
Please login to view contributors details and/or to contact them

Comments RSS

Please login to post comments