Note: You are currently viewing documentation for Moodle 2.5. Up-to-date documentation for the latest stable version of Moodle may be available here: EJSApp.

EJSApp

From MoodleDocs

The EJSApp Set of Plugins

EJSApp are a set of plugins for Moodle that let you:

  • To deploy applications written in Easy Java Simulations (EJS).
  • To control user access to the deployed EJS applications and distinguish between virtual labs (or simulations) and remote labs.
  • To set several resizing options for displaying the embedded EJS applets.
  • To backup and restore thanks to Moodle course backups.
  • To use cloud storage for any data, image or state file created by the EJS application.
  • To create sessions for synchronous collaborative working with the Java applets created with Easy Java Simulations.
  • To manage and control the access to EJS remote laboratories by means of a booking system that gets integrated into Moodle.

EJSApp Activity

The EJSApp activity plugin allows users to embedd Easy Java Simulations (EJS) applications (such as simulations, virtual and remote laboratories) into a Moodle course. This plugin works with version 2.0 or higher of Moodle.

EJSApp plugin can be downloaded from Moodle Plugins Directory and from Github.

As with any customization, it is recommended that you have a good backup of your Moodle site before attempting to install contributed code. While those contributing code make every effort to provide the best code that they can, using contributed code nevertheless entails a certain degree of risk as contributed code is not as carefully reviewed and/or tested as the Moodle core code.

EJSApp is useful for adding simulations or remote laboratories into your Moodle courses, which is of especial interest for those of scientific or technical nature. More information about EJS and EJSApp can be obtained at http://www.um.es/fem/EjsWiki/Main/UsingEJSWithMoodle.

Installation

  • Code - Copy the files into your Moodle mod folder ($CFG->dirroot/mod)

WARNING: If you are updating ejsapp from a previous version, DO NOT replace/delete your old jarfiles directory inside your old ejsapp directory.

IMPORTANT: For Unix Moodle servers (e.g., Linux and Mac systems), EJSApp requires that (i) the apache user is the owner of the "jarfiles" dir inside the "ejsapp" dir, and (ii) it has permissions to read, write and execute the jarfiles dir.

The following points describe how to do it:

1) go to the ejsapp dir:                                                                       
$ cd ejsapp                                                                                    
                                                                                               
2) Change the owner of the jarfiles dir to apache.                                             
For instance,                                                                                  
2.a) in Linux CentOS, the apache user is "apache", so you should write                         
$ chown -R apache jarfiles                                                                     
2.b) in Linux OpenSuse, the apache user is "wwwrun", so you should write                       
$ chown -R wwwrun jarfiles                                                                     
                                                                                               
3) Change the permissions of the apache user:                                                  
$ chmod -R 700 jarfiles    
  • Database - Login in as a Moodle Administrator and go to the Administration notifications page to create the required EJSApp tables.
  • Settings - During the previous step you will come across the setting configuration page for the EJSApp plugin. Default values might be valid for you. However, read the description of each parameter there and change any value you want. The README.txt file that comes along with the EJSApp plugin has even more information about these parameters.

Configuration

When installing ejsapp for the first time, you will need to set four variables:

  • columns_width: This is the total width occupied by your columns (in pixels) in your Moodle visual theme. This variable is used to resize the applet size when embedded in Moodle and the "Preserve original applet layout" options is set to no. Default configuration works well with the default theme and with many others based on the two columns format. However, other themes may require changes in this variable.
  • collaborative_port: When the "EJSApp Collaborative Sessions" block is also installed, this variable sets the port used for establishing TCP connections in the collaborative sessions.
  • sarlab_IP: This variable defines the IP(s) direction(s) of the SARLAB system(s) used for managing the access to the remote laboratories. If left empty, the plugin understands that SARLAB is not used.
  • sarlab_port: This variable defines the port(s) used to communicate with the SARLAB system(s). If left empty, the plugin understands that SARLAB is not used.

If you are not sure what values you should be setting for these parameters, use the ones by default.

Languages

The EJSApp activity plugin is available in:

  • English (en_utf8)
  • Spanish (es_utf8)

If you would like to supply translations for other languages, please create an issue in the tracker and attach a zip file of the language files.

Related Plugins

The EJSApp activity plugin works autonomously and does not require any other plugin to be installed in your Moodle site. However, there are three more plugins (the EJSAppBooking activity plugin and the EJSAppFileBrowser and the EJSAppCollabSession block plugins) that add new features to the system and might enhance the use of your EJS applications embedded into Moodle.

These additional plugins can also be downloaded from the EJSApp Set Webpage at Moodle Plugins Directory and from Github.

Contributor/Maintainer

The EJSApp activity plugin and the other three mentioned in the Related Plugins section are contributed and maintained by Luis de la Torre and Rubén Heradio, from the Spanish Open University (UNED).

EJSApp File Browser

This plugin is a modification of the "Private Files" block of Moodle and lets Java applets, created with Easy Java Simulations (EJS) and added to a Moodle course by means of the ejsapp module activity, to store data files saved from these applets. It also includes a little AJAX feature that let users to refresh their files block without refreshing the entire page.

Installation

This is a block plugin for Moodle so you should place the ejsapp_file_browser folder in your /blocks folder, inside you Moodle installation.

Dependencies

This module needs the ejsapp module to be of any use. It works with version 1.3 (or later) of EJSApp.

Contributor/Maintainer

The EJSApp file browser block is contributed and maintained by Luis de la Torre and Rubén Heradio, from the Spanish Open University (UNED).

EJSApp Collab Sessions

This plugin lets you to create sessions for synchronous collaborative work with Java applets created with Easy Java Simulations (EJS) and added to a Moodle course by means of the ejsapp activity module.

Installation

This is a block plugin for Moodle so you should place the ejsapp_file_browser folder in your /blocks folder, inside you Moodle installation.

Dependencies

This module needs the ejsapp module to be of any use. It works with version 1.3 (or later) of EJSApp.

Contributor/Maintainer

The EJSApp collaborative sessions block is contributed and maintained by Luis de la Torre and Rubén Heradio, from the Spanish Open University (UNED).

EJSApp Booking System

This plugin allows adding a booking system to handle the conections to the remote laboratories developed using EJS and added to a Moodle course using the ejsapp activity module.

Installation

This is a module plugin for Moodle so you should place the ejsappbooking folder in your /mod folder, inside you Moodle installation. This module has been tested in all Moodle 2.x versions.

WARNING: If you are updating ejsappbooking from a previous version, DO NOT replace your old applets/BookingServer/configuracion folder inside your old ejsappbooking directory with the one in the newer version. Otherwise, you will need to reconfigure the parameters set in point section Server configuration.

Client configuration

The applets folder contains the following:

BookingClient folder, with the booking client applet, embedded by EJSAppBooking when this resource is added into a Moodle course.

BookingServer folder, with the booking server applet. This application must be running on your Moodle server. You can also use it to configure the remote laboratories you have previously added to your Moodle site using the EJSApp plugin. Finally, it also offers a nice way to configure your mail system to use with Moodle.

Both folders contain a folder called "configuracion" with files for adding/editing languages presented in the bookings applets GUIs.

Server configuration

First, you need to configure the server so it can connect to your sql database. You can do that in two different ways:

First one (using the GUI):

1. Go to the applets/BookingServer/configuracion folder.

2. Edit the valores.dat file and change interfaz=0 to interfaz=1. This makes the booking server application to run showing a graphical user interface.

3. Run the BookingServer.jar applet.

4. Click on the options tab of the top menu.

5. Select the "Server settings" option.

6. Enter the needed data to let the booking server access your sql database.

7. Use the "Test" button to check whether the booking server can access the database or not.

Second one (editing text files):

1. Go to the applets/BookingServer/configuracion folder.

2. Edit the moodle.dat file and modify the user=root password= lines with the data of your sql admin user.

3. You can then run the BookingServer.jar applet without the GUI.

IMPORTANT: Either way, you always need to execute the BookingServer.jar file with administrator privileges.

Dependencies

This module needs the ejsapp module to be of any use. It works with version 1.4 (or later) of EJSApp.

Contributor/Maintainer

The EJSApp file browser block is contributed and maintained by Luis de la Torre, Rubén Heradio and Javier Pavón, from the Spanish Open University (UNED).

Video tutorials

What is EJSApp?

A general vision of the EJSApp plugins and the ideas behind them. <mediaplayer>http://youtu.be/RsRS_ERQs0c</mediaplayer>

EJSApp: core plugins

Presenting the EJSApp activity module and the EJSApp File Browser block. <mediaplayer>http://youtu.be/Oql5h_ravGE</mediaplayer>

Collaborative Web-labs

Presenting the EJSApp Collab Session block and the synchronous collaborative experimental sessions feature of EJS. <mediaplayer>http://youtu.be/DOOoq2rUJYE</mediaplayer> (Activate the subtitles!)

Remote Labs and the EJSApp Booking System

Keys for configuring your EJS applications in Moodle as remote laboratories and using the EJSApp booking system. <mediaplayer> http://youtu.be/YGlTTMmkaC0</mediaplayer>

What is UNEDLabs?

A general view of UNEDLabs; a Moodle web portal of collaborative, virtual and remote laboratories. <mediaplayer>http://youtu.be/QC6-bmW1Y4c</mediaplayer>

Easy Java Simulations (EJS) and the ComPADRE library

A brief description about EJS and how to find and access hundreds of EJS applications for free from the Open Source Physics (OSP) collection at the ComPADRE library. <mediaplayer>http://youtu.be/Mf7ZIz6QGXU</mediaplayer>

See also

EJSApp Set Moodle modules webpage: https://moodle.org/plugins/browse.php?list=set&id=27

EJSApp UNEDLabs Github repository: https://github.com/organizations/UNEDLabs

EJSApp Moodle forum discussion: https://moodle.org/mod/forum/discuss.php?d=217163

UNILabs webpage (a Moodle site hosting a network of virtual and remote laboratories based on EJS and EJSApp): http://unilabs.dia.uned.es/

EJSApp tutorial: http://www.um.es/fem/EjsWiki/Main/UsingEJSWithMoodle

EJS webpage: http://www.um.es/fem/EjsWiki/