General plugins

EJSApp plugins: Bridging EJS, Remote Labs and Moodle

 
 
Picture of Luis de la Torre
EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

Hi all,

Rubén Heradio and I have developed three Moodle plugins for adding Easy Java Simulations (EJS) applets into Moodle as activities and enhancing their use within this LMS.  You can find them here: https://github.com/UNEDLabs (and, since this is a stable release, hopefully they will be available at the Moodle Plugins directory page either very soon).

You will find four different plugins:

  • ejsapp -> This one is a module, so you should place it in your mod folder. It allows you to add EJS applets as new activities into your moodle courses.
  • ejsapp_file_browser -> This is a small modification of the "My private files" block from version 2.1. It is able to receive files from the EJS applets added to your courses using the ejsapp activity. It also recognizes EJS state files (which are in .xml format) so when you click in one of those files in your ejsapp_file_browser block, Moodle will redirect you to the appropiate vrlab activity instance, load the EJS applet, read the xml file and load the simulation state previously saved.
  • ejsapp_collab_session -> This is a new block which can be used along with the ejsapp activity to create collaborative sessions for the collaborative features of EJS. Thanks to it, users can synchronously collaborate as they can work at the same time with the same EJS applet.
  • ejsappbooking -> This is another module, although we tagged it as a resource instead of as an activity. It offers a booking system for managing the connections to remote laboratories created with EJS and added into Moodle with the ejsapp activity.

Requirements: EJS (build 120714 or later) and Moodle (it was tested on versions 2.0, 2.1, 2.2 and 2.3, although during the last months we only used it with version 2.2 and 2.3).

All four plugins have been uploaded to the Moodle Plugins Directory (https://moodle.org/plugins/) and are currently under revision. Meanwhile, as said before, you can also download them from Github, at https://github.com/UNEDLabs

In the next few days we will share some videos explaining how to use the three plugins so you can benefit from all the features described above (and some more not even mentioned).

If you use EJS Im sure you will really love these plugins. And if you do not know what EJS is (http://fem.um.es/Ejs/), and you need to add experimentation capabilities in your Moodle course, you should really check it out. Finally, you can find a brief tutorial about how to use these plugins at http://www.um.es/fem/EjsWiki/Main/UsingEJSWithMoodle. There is also a wiki page created at moodle.org, one the EJSApp plugin (http://docs.moodle.org/23/en/EJSApp).

Feel free to use this thread or the Github webpage for asking any question, reporting any bug you may find while using the plugins or just asking for any improvement you would like to see in future releases.

 
Average of ratings:Useful (1)
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

The four EJSApp plugins have been approved and are now available for download from Moodle.org.

The webpage for the EJSApp set is:

https://moodle.org/plugins/browse.php?list=set&id=27

Enjoy adding simulations and/or remote laboratories to your Moodle courses!!

PS: You can download many already created EJS simulations from the compadre library: http://www.compadre.org/osp/search/categories.cfm?t=ModSearch

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

We have started publishing some video presentations about EJSApp!

Check them out smile

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

Hi again,

 

We have published three new videos about EJSApp:

 

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

I would edit the two previous messages if I could but here it goes...

We deleted the previous videos because we have uploaded them with better resolution.

Rather than embedding them again I'll just link to the youtube channel we created for sharing these videos:

http://www.youtube.com/user/UNEDLabs

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

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

This means you can now have your simulations in Moodle running from mobile devices!

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 
EJSApp version 1.8 is out. 


Some changes:

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.


There are also new versions in the EJSApp Booking System and the EJSApp Files Browser plugins.

If you like them, please mark them as "Favourite" in their corresponding Moodle download webpages.


Thanks!

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

Version 2.0 is out.


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.

 
Average of ratings: -
Picture of Chris Petch
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

Hi Luis,

I have a problem getting EJSApp to work with java applets. I keep getting a ClassNotFoundException when trying to run the EJSApp.

The source code generated is below. I have checked that ejs_astro_AstronomicalParallax3D.jar exists in  /mod/ejsapp/jarfiles/7/11/ and was wondering whether this problem is due to the relative URL for codebase not starting from the direcotry that view.php is in.

Is this enough for you to go on?

Thanks for any help you can give.

Chris


------------------

<div role="main"><span id="maincontent"></span><div class="box generalbox"><div id = "EJsS"><script type="text/javascript"> var w = 645, h = 643;document.write('<applet code="users.berry.timberlake.astronomy.AstronomicalParallax3D_pkg.AstronomicalParallax3DApplet.class"');document.write(' codebase="/mod/ejsapp/jarfiles/7/11/"')
;

document.write(' id="ejs_astro_AstronomicalParallax3D.jar"');

                  document.write(' width="'+w+'"');

                  document.write(' height="'+h+'">');

                  document.write('<param name="cache_archive" value="ejs_astro_AstronomicalParallax3D.jar">');

                  document.write('<param name="permissions" value="sandbox"/>');

                  document.write('<param name="codebase_lookup" value="false"/>');

                  document.write('<param name="context_id" value="5"/>');

                  document.write('<param name="user_id" value="2"/>');

                  document.write('<param name="ejsapp_id" value="11"/>');

                  document.write('<param name="language" value="en"/>');

                  document.write('<param name="username" value="Admin User"/>');

                  document.write('<param name="user_moodle" value="admin"/>');

                  document.write('<param name="password_moodle" value="DEPRECATED"/>');

                  document.write('<param name="moodle_upload_file" value="http://www.xyz.com/moodle/mod/ejsapp/upload_file.php"/>');

                  document.write('<param name="lookandfeel" value="NIMBUS"/>');document.write('<param name="is_collaborative" value="false"/>');document.write('</applet>');</script></div></div></div>    </section>

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

Hi Chris,


By looking at the code, everything seems fine.

I've tried that very same EJS simulation in my server and this is the code I get:

<div role="main"><span id="maincontent"></span><div class="box generalbox"><div id = "EJsS"><script type="text/javascript"> var w = 645, h = 643;document.write('<applet code="users.berry.timberlake.astronomy.AstronomicalParallax3D_pkg.AstronomicalParallax3DApplet.class"');document.write(' codebase="/mod/ejsapp/jarfiles/2/462/"');

                  document.write(' id="ejs_astro_AstronomicalParallax3D.jar"');

                  document.write(' width="'+w+'"');

                  document.write(' height="'+h+'">');

                  document.write('<param name="cache_archive" value="ejs_astro_AstronomicalParallax3D.jar">');

                  document.write('<param name="permissions" value="sandbox"/>');

                  document.write('<param name="codebase_lookup" value="false"/>');

                  document.write('<param name="context_id" value="5"/>');

                  document.write('<param name="user_id" value="2"/>');

                  document.write('<param name="ejsapp_id" value="462"/>');

                  document.write('<param name="language" value="en"/>');

                  document.write('<param name="username" value="Admin User"/>');

                  document.write('<param name="user_moodle" value="admin"/>');

                  document.write('<param name="password_moodle" value="DEPRECATED"/>');

                  document.write('<param name="moodle_upload_file" value="http://unilabs.dia.uned.es/mod/ejsapp/upload_file.php"/>');

                  document.write('<param name="lookandfeel" value="NIMBUS"/>');document.write('<param name="is_collaborative" value="false"/>');document.write('</applet>');</script></div></div></div>


Have you tried with more EJS simulations? Are others working fine?

 
Average of ratings: -
Picture of Luis de la Torre
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

Hi Chris,


I found a bug in EJSApp April version that could appear in some Moodle installations (depending on the configuration of your server).


Yesterday I uploaded a new version of EJSApp that fixes it, in case you want to give it a try.

 
Average of ratings: -
Picture of Eduardo Berrios
Re: EJSApp plugins: Bridging EJS, Remote Labs and Moodle
 

Hi Luis


I ' ve installed the last version of EJSApp plugin  in my moodle 2.8 and I' m getting this error. I read the instruccions but i didnt find the problem. I m not developer so I would appreciate if you can give me any ideas for resolving this issue


Regards




Eduardo

28-Aug-2015 08:22:47 America/Santiago] Default exception handler: No se puede encontrar registro de datos en la base de datos. Debug: SELECT cm.*, m.name, md.name AS modname 
              FROM {course_modules} cm
                   JOIN {modules} md ON md.id = cm.module
                   JOIN {ejsapp} m ON m.id = cm.instance
                   
             WHERE cm.id = :cmid AND md.name = :modulename
                   
[array (
  'cmid' => 15,
  'modulename' => 'ejsapp',
)]
Error code: invalidrecordunknown
* line 1481 of /lib/dml/moodle_database.php: dml_missing_record_exception thrown
* line 1328 of /lib/datalib.php: call to moodle_database->get_record_sql()
* line 75 of /mod/ejsapp/view.php: call to get_coursemodule_from_id()

 
Average of ratings: -