Activities: EJSApp

mod_ejsapp
Maintained by Picture of Ruben HeradioRuben Heradio, Picture of Luis de la TorreLuis de la Torre
This plugin lets you add any Javascript or Java application (typically virtual and real-remote experiments) created with Easy Java/Javascript Simulations (EjsS) to your Moodle course.
228 sites
145 downloads
15 fans

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:

 

  1. Virtual Labs or Experiments provide computer based simulations which offer similar views and ways of work to traditional labs.
  2. 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:

  1. Deployment of labs written in EjsS. 
  2. Control user access to the deployed labs and distinguish between virtual labs (or simulations) and remote labs.
  3. Combined use of EjsS applications with Blockly (https://developers.google.com/blockly), a scracth-type visual programming language.
  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" browser, Remlab ManagerEJSApp Booking SystemEJSApp 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

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

Sets

This plugin is part of set EJSApp and extensions.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5

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 de la Torre
    Sun, Jun 4, 2017, 12:02 AM
    I forgot to mention, Andreas, that even if you deploy the applet through JNLP (as EJSApp does now), you need to sign your applet with a valid trust certificate. Otherwise, the applet won't be load by the JRE.
  • Picture of Luis de la Torre
    Thu, Jul 6, 2017, 9:00 PM
    A new version of EJSApp has been released. This one includes support for blockly and chart.js.

    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.
  • Picture of David Dunn
    Mon, Sep 11, 2017, 11:40 PM
    EJSapp 3.0 (Build: 2017062603)
    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?
  • Picture of Luis de la Torre
    Tue, Sep 12, 2017, 1:56 AM
    Hi, David,

    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.
  • Picture of David Dunn
    Sat, Sep 16, 2017, 9:40 PM
    Thank you, Luis, for your helpful response. I will follow up with our instructors.
  • Picture of David Dunn
    Fri, Oct 6, 2017, 8:41 AM
    Reporting back: The instructor says that he has tried the JavaScript solution, but only a blank page loads.
  • Picture of Dinis Medeiros
    Sun, Jan 14, 2018, 8:48 PM
    Is it 3.4 compatible?
  • Picture of Luis de la Torre
    Sun, Jan 14, 2018, 9:09 PM
    Hi Dinis,

    Yes it is. I forgot to change the info here (I will do right now), but it works perfectly fine with Moodle 3.4

    David, unfortunately, your I didn't read your message. I'm afraid I can't be of much help with your description of the problem. If you are still interested in fixing it, maybe we could have a skype meeting.
  • Picture of rathankar rao
    Sun, Apr 29, 2018, 4:05 PM
    Hi, I tried using EJSApp on my website. When i click on the installed application in moodle, the application downloads a jnlp file and i need it to open in the browser itself. I also tried installing EJS private files browser, but it is still not working. any help is appreciated
  • Picture of Luis de la Torre
    Fri, May 4, 2018, 3:41 PM
    Dear Rathankar,

    Embedded Java applets are no longer supported by any web browser, so I decided to deploy the Java applets through the Java Netjork Launch Protocol (JNLP), as desktop applications. You don't open jnlp files in the browser, the Operating System opens them. What is exactly your problem when opening a jnlp file? If you give me more details, maybe I could help you.

    If you prefer the simulation (or remote lab) to be embedded in the browser, 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.

    The EJSApp private files browser serves for different purposes (saving and loading files related to EJSApp lab activities).
  • Picture of Nagesh Japa
    Wed, Jan 2, 2019, 8:27 PM
    Hi I have installed ejsapp and ejsapp_file_browser plugins as shown in the Guide to install and use EJSApp and EJSApp File Browser video. I am getting error when I am trying to create a lesson in a course :

    The address wasn’t understood

    Firefox doesn’t know how to open this address, because one of the following protocols (jnlp) isn’t associated with any program or is not allowed in this context.

    You might need to install other software to open this address.

    Please help me on this error, thanks in advance.
  • Picture of Luis de la Torre
    Tue, Jan 8, 2019, 6:29 PM
    Hi Nagesh,

    Firefox is trying to open a Java file. Since Java applets can't be embedded into web browsers since a couple of years ago, EJSApp tries to open it through the JNLP protocol, which downloads and then runs the Java applet as a desktop application. However, for this to work, you need the Java Virtual Machine to be installed in your computer.

    Anyway, I recommend you to use EJS Javascript applications instead of Java ones.
  • Ricardo Caiado
    Sat, Nov 23, 2019, 5:54 AM
    Hi,

    Using Moodle 3.5.2+, Postgres 9, PHP7.1

    I get this error messagewhen upgrading from "3.1" to "4.0": Field "mainframe" does not exist in table "ejsapp"

    Ricardo
  • Picture of Matthias Giger
    Sat, Nov 23, 2019, 2:43 PM
    The same problem occurs in Moodle 3.7.3:

    Field "mainframe" does not exist in table "ejsapp"

    More information about this error

    ×Debug info:
    Error code: ddlfieldnotexist
    ×Stack trace:
    line 561 of /lib/ddl/database_manager.php: ddl_field_missing_exception thrown
    line 365 of /mod/ejsapp/db/upgrade.php: call to database_manager->drop_field()
    line 818 of /lib/upgradelib.php: call to xmldb_ejsapp_upgrade()
    line 524 of /lib/upgradelib.php: call to upgrade_plugins_modules()
    line 1869 of /lib/upgradelib.php: call to upgrade_plugins()
    line 694 of /admin/index.php: call to upgrade_noncore()
  • Picture of Luis de la Torre
    Sat, Nov 23, 2019, 7:37 PM
    Hi, I'm afraid that, as I wrote in the notes for this new release version, there are some big changes in 4.0 that prevent EJSApp 4.0 to be upgraded from EJSApp 3.1 or older. You would need to uninstall your EJSApp plugin first and then install the new 4.0 version. Unfortunately, this would delete your EJSApp activities and you will have to add them again to your courses. You could, however, make a backup of your courses before uninstalling, then uninstall, install the newer EJSApp version and finally restore your courses. That way, the EJSApp activities would be there again and you would just need to re-upload the EjsS .zip or .jar file.
1 2 3
Please login to post comments