Moodle plugins directory: EJSApp | Moodle.org
EJSApp
Virtual and Remote Laboratories in Moodle
It is commonly accepted that digital media (such as simulations, videos, interactive screen experiments or web labs) can positively impact student knowledge, skills and attitudes. Consequently, tools such as Moodle and web-based online labs have become widespread in distance education in the last decade. Moodle supports the administration, documentation, tracking, and reporting of training programs, classroom and online events. Web-based labs make possible to illustrate scientific phenomena that require costly or difficult-to-assemble equipment.
There are two complementary approaches for web-based online labs:
- Virtual Labs or Experiments provide computer based simulations which offer similar views and ways of work to traditional labs.
- Remote Labs or Experiments use real plants and physical devices which are teleoperated in real time.
EjsS
Easy Java/Javascript Simulations (EjsS, https://www.um.es/fem/EjsWiki/ and https://gitlab.com/ejsS/tool) is a tool designed for the creation of: 1) discrete computer simulations and 2) web-accessible online labs in education of scientific and technical disciplines. With this objective in mind, EjsS supports connections with external applications, such as LabView, Python and Matlab/Simulink, and hardware, such as Arduino and BeagleBone boards.
A rich repository of EjsS simulations is freely available at: http://www.compadre.org/
EJSApp: bridging together Moodle and EjsS
To support the one-click deployment of virtual and remote labs into Moodle, we have developed the EJSApp plugin, which has the following features:
- Deployment of labs written in EjsS.
- Control user access to the deployed labs and distinguish between virtual labs (or simulations) and remote labs.
- Combined use of EjsS applications with Blockly (https://developers.google.com/blockly), a scracth-type visual programming language.
- Backup and restore. EJSApp provides maintenance facilities for labs, packaging them into Moodle course backups.
To get the feel of EJSApp, visit UNILabs, which is a moodle site that hosts a rich network of virtual and remote labs for students of the Spanish Open University (UNED) and other Spanish Universities, such as the Huelva, Complutense and Almeria Universities. All labs in UNILabs have been developed using the EJSApp and its extensions (EJSApp "private files" browser, Remlab Manager, EJSApp Booking System, EJSApp Collab Session and the Open Source Physics repository plugin).
GitHub
The code repository of this plugin can be found at https://github.com/UNEDLabs/moodle-mod_ejsapp
References
- Luis de la Torre, Maria Guinaldo, Ruben Heradio, Sebastian Dormido. The Ball and Beam System: A Case Study of Virtual and Remote Lab Enhancement With Moodle. IEEE Transactions on Industrial Informatics, 11(4): 934-945, 2015.
- Luis de la Torre, Ruben Heradio, Carlos A. Jara, Jose Sanchez, Sebastian Dormido, Fernando Torres, Francisco A. Candelas. Providing Collaborative Support to Virtual and Remote Laboratories. IEEE Transactions on Learning Technologies, 6(4): 312-323, 2013.
- Luis de la Torre, Juan P. Sanchez, Ruben Heradio, Carmen Carreras, Manuel Yuste, Jose Sanchez, Sebastian Dormido. Creating web experimentation portals. International Conference on Interactive Computer aided Blended Learning, 2013, Florianópolis, Brasil.
- Ruben Heradio, Luis de la Torre, Jose Sanchez, Sebastian Dormido and Hector Vargas. An architecture for virtual and remote laboratories to support distance learning. In Research in Engineering Education Symposium, pages 579-587, Madrid, Spain, October 2011.
Tutorial Videos
Overview of EJSApp
Tutorial to add a simulation/virtual lab activity with EJSApp
Tutorial to add a remote lab activity with EJSApp
Overview of Open Source Physics, a free repository with more than 400 freely available EJS simulations
Overview of UNEDLabs, a network of virtual and remote laboratories developed with EJSApp
If you like this plugin, please support its development: https://www.paypal.me/ejsapp
I just sent the files to the international spanish language pack maintainers. You can safely delete the spanish translation from the files included in the module ZIP file.
According to http://lang.moodle.org/mod/forum/discuss.php?d=3006 , all language strings (except for English) should disappear from released modules (core and add-ons) and all translated strings only be available through AMOS. It is a complicated task.
GRACIAS.
Thanks for all this feedback. We really appreciate it.
Let me update then the plugin once more, this time without the es folder.
I guess I should do the same with the rest of the EJSApp plugins. However, do I need to send their corresponding es language files to the spanish language pack maintainers in AMOS? If that's the case, Im not sure how should I do that.
I will write again once I have uploaded the zip file without the es folder.
Gracias a ti, German.
You can open the EJS model (this is, the "source code") of the jar file included in the test directory by just double-clicking in the jar file (the simulation will load) and then right-clicking at any place of the simulation. A menu will appear with several options.
If that menu is in english search for the "Open EJS model" option. If it is in Spanish, search for "Abrir modelo EJS".
Then follow the instructions and EJS will open the source code of that jar file. Let me know if you have any problem.
PS. Usually, all applets created with EJS have this option but some of them don't. Anyway, the one included in the test directory does.
Since EJSApp version 1.6 was released two days ago, you can also embedd into your Moodle course the javascript applications created with EJS 5.0
EJSApp can now automatically sign the EJS applets uploaded to Moodle if you have a trust certificate installed in your Moodle server.
Fixes an important bug when doing a copy or a backup of ejsapp activities that use a signed applet.
Fixes a bug with some OSP Javascript simulations.
The 'view personalized variables' options has been moved to the 'edit settings' block.
Several code improvements.
It allows using alias to your virtual and remote laboratories .jar (Java) or .zip (Javascript) files compiled with EjsS.
Also, it enhances the personalization of variables in virtual laboratories by allowing teachers to download the values generated for the variables of the lab that are being personalized.
Finally, it has a cleaner and more optimized code in many aspects.
The latest versions of EJSApp offer a solution for this problem by:
1. Deploying the Java applet through the Java Network Launch Protocol (JNLP) as a desktop application instead as a web browser-embedded applet.
2. Allowing to embed Javascript simulations created with EJS.
On the one hand, blockly enables a complete new way of interacting with the simulations, virtual labs and remote labs. Combining visual programming with interactive applications is extremelly interesting and powerful.
On the other hand, users can now define and plot their own graphs on demand thanks to the use of the javascript Chart.js library.
Moodle 3.3.1
When I click on a lab, I get only a download window to download the jnlp file.
Any suggestions to fix this?
I'm afraid you can't fix that. Embedded Java applets are no longer supported by any web browser, so we decided to deploy the Java applets through the Java Netjork Launch Protocol (JNLP), as desktop applications. This allows us to launch the applets with certain parameter that may be needed for the applications to run with all their features, but you can no longer have them embedded in you browser.
If you prefer the simulation (or remote lab) to be embedded in the browser (as we do), you should move to Javascript. EjsS allows creating Javascript applications in a very similar way as the Java applications were created, and you can add them to your Moodle course exactly the same way you do it with Java applets in an EJSApp activity.