EJSApp
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/1rAsnvHO2Po</mediaplayer>
EJSApp: core plugins
Presenting the EJSApp activity module and the EJSApp File Browser block. <mediaplayer>http://youtu.be/CzjAY2mWv-E</mediaplayer>
Collaborative Web-labs
Presenting the EJSApp Collab Session block and the synchronous collaborative experimental sessions feature of EJS. <mediaplayer>http://youtu.be/cxLDXnTs5KE</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
EJSApp video-tutorial 1 (What is EJSApp?): http://www.youtube.com/watch?v=1rAsnvHO2Po (More to come!)
EJSApp video-tutorial 2 (EJSApp: core plugins): http://www.youtube.com/watch?v=CzjAY2mWv-E (More to come!)
EJSApp video-tutorial 3 (Collaborative Web-labs): http://www.youtube.com/watch?v=cxLDXnTs5KE (More to come!)
UNEDLabs webpage (a Moodle site hosting a network of virtual and remote laboratories based on EJS and EJSApp): http://unedlabs.dia.uned.es/
EJSApp tutorial: http://www.um.es/fem/EjsWiki/Main/UsingEJSWithMoodle
EJS webpage: http://www.um.es/fem/EjsWiki/