Your Moodle version

Activities: EJSApp

mod_ejsapp
Maintained by Picture of Ruben Heradio Ruben Heradio, Picture of Luis de la Torre Luis de la Torre
This plugin lets you add any Java or Javascript application (typically virtual and/or remote experiments) created with Easy Java(script) Simulations (EJS) to your Moodle course.
Moodle 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7

Sets

This plugin is part of set EJSApp and extensions.

Virtual and Remote Laboratories

 

 

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 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 labs:

 

  1. Virtual Labs or Experiments provide computer based simulations which offer similar views and ways of work to their traditional counterparts. Nowadays, simulations have evolved into interactive graphical user interfaces where students can manipulate the experiment parameters and explore its evolution.
  2. Remote Labs or Experiments use real plants and physical devices which are teleoperated in real time.

 

EJS

Easy Java(script) Simulations (EJS, http://www.um.es/fem/EjsWiki/pmwiki.php) is a tool designed for the creation of discrete computer simulations. During the last few years, EJS has grown for helping to create web-accessible labs in education of scientific and technical disciplines. With this objective in mind, recent releases of EJS support connections with external applications, such as LabView and Matlab/Simulink. Hence, EJS not only is useful to create virtual labs, but also the GUIs of their remote counterparts.

A rich repository of EJS simulations is freely available at: http://www.compadre.org/

EJSApp: bridging together Moodle and EJS

To support the one-click deployment of virtual and remote labs into Moodle, we have developed the EJSApp plugin, which has the following features:

  1. Deployment of labs written in EJS. 
  2. Control user access to the deployed labs and distinguish between virtual labs (or simulations) and remote labs.
  3. Allow several resizing options for displaying the embedded applets.
  4. 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" browserEJSApp Booking System and EJSApp Collab Session).

GitHub

The code repository of this plugin can be found at https://github.com/UNEDLabs/moodle-mod_ejsapp

References

Tutorial Videos

  What is EJSApp?
Description Overview of EJSApp
YouTube
 Core plugins
Description
 Guide to install and use EJSApp and EJSApp File Browser
YouTube
 EJS and Open Source Physics
Description
 Overview of Open Source Physics, a free repository with more than 400 freely available EJS simulations
YouTube
UNEDLabs: a network of virtual and remote laboratories
Description
Overview of UNEDLabs, a network of virtual and remote laboratories developed with EJSApp
YouTube

Screenshots

Screenshot
Screenshot
Screenshot
Screenshot

Contributors

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

Show comments
  • Picture of Luis Perez
    Thu, Jan 10, 2013, 11:31 PM
    I have an installation of Moodle in a commercial host that uses cpanel. I installed your EJSApp in my moodle 2.4. I tried one of your applets but it didn'l show up in the page. Reason - I was not able to make the apache user owner of the "jarfiles" directory.

    The techsupport Engineer responded; "I apologize, but those changes are not possible under our shared hosting environment. You will need to check with the developer of that software to see if there is any workaround. If not, then this will not work on our servers. Any processes being run in your account can only be run by your account's user.

    Is there anyway around this issue so I can use your modules and blocks in my site? Help will be appreciated.

    Luis
  • Picture of Ruben Heradio
    Fri, Jan 11, 2013, 6:27 PM
    Hi Luis,

    EJS simulations are distributed as jar files. To display the simulations into Moodle, those files need to be served from the files area of the Moodle database, where they are stored. Unfortunately, the functions that Moodle provides to serve files (“send_stored_file” from “_pluginfile”) do not work properly with jar files (neither with .zip files). For the moment, we have created our own way to serve the jar files, which requires making the apache user owner of the “jarfiles” directory.

    Making the apache user owner of the “jarfiles” directory is as easy as executing a chown command. I imagine your support engineer doesn’t want to do it for some security reason. However, I can’t see such kind of problem (I recognize not being an expert in software security).

    Best regards,
    Ruben
  • Picture of German Valero
    Fri, May 3, 2013, 11:55 PM
    Hello Luis and Rubén,
    I installed the EJSApp module in my local 2.5dev server and when I try to customize my spanish language files, I get an "error writing to database" error. The debugging info is:
    line 429 of \lib\dml\moodle_database.php: dml_write_exception thrown
    line 1089 of \lib\dml\mysqli_native_moodle_database.php: call to moodle_database->query_end()
    line 1131 of \lib\dml\mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
    line 190 of \admin\tool\customlang\locallib.php: call to mysqli_native_moodle_database->insert_record()
    line 60 of \admin\tool\customlang\index.php: call to tool_customlang_utils::checkout()

    It only happens when editing the international spanish language, but not on english or mexican spanish language packs.

    Also, I think this is related to the fact that this plugin does not have its English language files available for translation at AMOS (http://lang.moodle.org/ ). That usually means that there is something wrong with the code. See http://lang.moodle.org/mod/forum/discuss.php?d=2485 .
    In recent months, David Mudrak has been extremely helpful in diagnosing and correcting the problems that prevented other plugins from having their English strings available in AMOS. Maybe it is worth asking for his opinion on this plugin.

    Saludos desde México.
  • Picture of German Valero
    Fri, May 3, 2013, 11:59 PM
    Hello Luis and Rubén,
    An update on the "error writing to database" error:

    If I delete the es language folder from the mod/ejsap/lang folder, the error disappears.

    But I still can not translate the English strings in AMOS.

    Saludos desde México
  • Picture of Luis de la Torre
    Sat, May 4, 2013, 12:20 AM
    Hi German,

    Thanks for the warning. We didn't know about this new AMOS procedure and we uploaded the new plugin version with both files: the one with the English strings and the one with the Spanish strings instead of only uploading the English one.

    I'll try to figure out what else can be wrong as soon as posible.
  • Picture of Luis de la Torre
    Sat, May 4, 2013, 12:39 AM
    I have just uploaded a fixed version (twice, by mistake).
    I think everything should be working right now smile
  • Picture of German Valero
    Tue, May 7, 2013, 3:05 AM
    Hi Luis,
    I just translated the English strings in AMOS into mexican spanish. Everything looks perfect. Thanks a lot. I will wait 2 hours to download the updated language pack and plugin and check database.
  • Picture of German Valero
    Tue, May 7, 2013, 3:30 AM
    Hi Luis,

    The good news: the mexican spanish translation is working perfectly, which means all translations in AMOS will work too.

    The bad news: the es folder with the international spanish translation included within the plugin ZIP file keeps on causing a database error. I would suggest you to completely remove the es language folder from the plugin in Moodle database. I will submit the mex spanish translation to the international spanish pack maintainers at AMOS in 10 minutes. There are a few differences: a quiz is a cuestionario in Spain and an examen in México.
  • Picture of German Valero
    Tue, May 7, 2013, 3:40 AM
    Hi Luis,
    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.
  • Picture of Luis de la Torre
    Tue, May 7, 2013, 4:51 AM
    Hello German,

    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.
  • Picture of Luis de la Torre
    Tue, May 7, 2013, 5:02 AM
    Done!
  • MD shot of me from his iphone4
    Mon, Jul 1, 2013, 1:05 PM
    Hi, i was wondering if the source codes to the jar files are available anywhere. Even more, the one included in test directory.
  • Picture of Luis de la Torre
    Mon, Jul 1, 2013, 1:57 PM
    Hi Aparup,

    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.
  • Picture of Luis de la Torre
    Thu, Feb 27, 2014, 7:18 PM
    Hi all,

    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
  • Picture of Luis de la Torre
    Mon, Apr 21, 2014, 6:09 PM
    Version 1.7 has been released.

    EJSApp can now automatically sign the EJS applets uploaded to Moodle if you have a trust certificate installed in your Moodle server.
1 2
Please login to post comments