Virtual Programming Lab

Activities ::: mod_vpl
Maintained by Juan Carlos Rodríguez-del-Pino
VPL is an activity module to manage programming assignments

Virtual Programming Lab 4.1.1

Moodle 3.9, 3.10, 3.11, 4.0, 4.1, 4.2
Released: Sunday, 18 June 2023, 12:57 AM

VPL - Virtual Programming Lab for Moodle

Release of Version 4.1.1 of VPL for Moodle

VPL Logo

This update brings enhanced user functionality, improved performance, and several important bug fixes to VPL for Moodle.

Improvements

  • Graders are no longer required to enter a password for VPL activities that require one.
  • The VPL's web service now has an enhanced scope, allowing users with the necessary permissions to open, save, evaluate, and get_results for other users. This is facilitated through the addition of a new 'userid' parameter in the respective functions.
  • For VHDL language, GHDL is now the default compiler. If GHDL isn't available, the system will automatically switch to FreeHDL for compatibility.
  • We've added a new run script for direct access to the execution server command line. This must be manually selected from the execution options page and won't be used automatically based on file extensions. This powerful feature allows students to use the command line for compiling and executing their code. Note: Code files edited in VPL will be simultaneously updated on the execution server when saved.

Bugfixes

  • Fixed an issue in the file router.php in the PHP run script (kudos to @breeze833 for spotting this).
  • Resolved the improper use of XMLRPC introduced in the previous version.
  • Fixes the use of PHP CLI by eliminating an obsolete command line parameter when using it.
  • Improved the performance of the code highlighter based on the ACE editor.
  • The VPL plugin's JSON decoding is now more resilient, tolerating invalid UTF-8 characters. This issue surfaced while trying to fetch the 'ddd' version that displayed German characters in non-standard encoding.

Compatibility

This version of VPL has been tested under the following software versions (where applicable):

  • Moodle: from version 3.9 to version 4.2.
  • PHP: from version 7.4 to version 8.1.

Upgrading from a previous version

You can upgrade from VPL 2.4. Upgrading from 4.1.0 does not change the data used by the plugin. We strongly recommend reviewing all intervening release notes between your current version and VPL 4.1.1 before upgrading, to ensure that you're informed about all changes and potential impacts on your usage.

Due to the use of JavaScript in this plugin, the Moodle administrator may need to purge all caches (Site administration -> Development -> Purge caches) after updating. Additionally, some users may need to clear their browser's cache (Ctrl + F5). This issue seems to have been resolved in Moodle 4.2.

Release of Version 4.1.0 of VPL for Moodle

This release includes fixes and improvements for VPL version 4.0.1.

Improvements

  • Includes a new generic tokenizer (VPLT) for the similarity feature. This tokenizer will allow the creation of specific tokenizers for new languages quickly. (Contributor: David Parreño Barbuzano (losedavidpb))
  • The WebService now accepts binary files using Base64. See the WebService API for more details.
  • VPL has set the FEATURE_CONTROLS_GRADE_VISIBILITY. Now, only VPL will control the visibility of the grade marks of VPL activities.
  • Improves compatibility of XML-RPC and JSON-RPC. Now JSON does not escape Unicode characters.
  • Now the activity password request allows you to unmask the password.

Bugfixes

  • Fixed some include paths.
  • Fixed events using context.
  • Updated code to be compatible with Moodle 4.2.

Compatibility

This VPL version has been tested under the following software versions (when available):

  • Moodle: from version 3.9 to version 4.2.
  • PHP: from version 7.4 to version 8.1.

Upgrading from a previous version

There are minor changes in the DB to align default field values with their default values. Also, the FEATURE_CONTROLS_GRADE_VISIBILITY in a production server may need to go to the grading book to unhide specific user grades, hidden using the grading book. If you are updating from a VPL version previous to 4.0.1, see the release notes of the version released after yours. You can update directly from VPL 2.4.

Due to the use of JavaScript in this plugin, after updating, the Moodle administrator may need to purge all caches (Site administration -> Development -> Purge caches), and some users may need to clear their browser’s cache (Ctrl + F5). This issue seems to be resolved in Moodle 4.2.

VPL - Virtual Programming Lab 4.0.1 release notes

This release includes fixes and improvements for the VPL. 4.0.0 version.

Bugfixes

  • Fixes bug that prevents downloading files if the Moodle debugging mode is on.
  • Fixes the disappearance of the setting navigation in the Classic Theme of Moodle 4.
  • Fixes HTML in the override actions that prevent seeing action buttons when using a nonstandard theme.
  • Restores CLI functionality in PHP run script that was lost in the 4.0.0 version.
  • Fixes bug in Prolog run script that shows an error message in execution.
  • Fixes bug in minizinc run script that shows an error message in execution.

Small improves

  • Improves calendar and timeline support with new i18n strings.
  • Adds support for the expected completion date event.
  • Improves activity header compatibility for Moodle 4.
  • Adds integration with edit dates report plugin.
  • Uses the Moodle lock system instead of the VPL lock system.
  • Adds SmartTV detection for the terminal.

Updating from a previous version

There is no special warning when updating the 4.0.0 version to this one. This update does not change the DB or other data used. If you are updating from a VPL version previous to 4.0.0 see the release notes of the version released after yours. You can update directly from VPL 2.4.

Due to the use of JavaScript in this plugin after updating the Moodle administrator may need to purge all caches (Site administration -> Development -> Purge caches) and some users may need to clear the browser’s cache (Ctrl + F5).

VPL - Virtual Programming Lab 4.0.0 release notes

This version includes support for JSON-RPC, improves compatibility with Moodle 4, and fixes bugs on VPL. 3.5.0+.

  • The plugin now can use JSON-RPC instead of XML-RPC to communicate with the execution server. Notice that the execution server (vpl-jail-system) must be version 3.0.0 or higher. A new switch in the plugin configuration allows selecting the use of JSON-RPC or XML-RPC (default JSON-RPC). This feature removes the need for the PHP-xmlrpc extension.
  • The compatibility with Moodle 4 has been improved by:
    • Removing the show of the activity description on each page.
    • Changing the plugin logo to one with the new Moodle 4 icon style.
  • Adds support for running web applications (PHP and HTML) using a local browser. This feature reduces server resources needed drastically and improves development including updating code without restarting the running task. This feature requires execution server V2.8 or later.
  • The web services have been improved. Now a teacher can retrieve the submission of a student.
  • Fixes a bug introduced in the previous version that prevents to set manually a zero grade mark.
  • This version is compatible and has been tested with PHP from version 7.4 to PHP version 8.0.

VPL - Virtual Programming Lab 3.5.0+ release notes

This is a bug-fix release of VPL. 3.5.0.

Fixes and improvements from VPL 3.5.0

Release notes of VPL 3.5.0

Prerequisites

  • Moodle 3.8 or higher
  • PHP 7.3 or higher

New functionalities

This release includes the override feature thanks to @Astor-Bizard from the Caseine Project. This feature allows to set in a VPL activity a different startdate, duedate, reduction by evaluation and free evaluations for specific users or groups.

Small improvements

  • Shows variations assigned to users in the descripción in the code editor.
  • Adapts extend settings navigation to support Moodle 4.
  • Applies filters to the activity name display.
  • Run scripts adds environment vars MOODLE_USER_ID, MOODLE_USER_NAME, and new MOODLE_USER_EMAIL.

Bug fixes

  • Fixes bug that shows the students the grade reduction in comment titles.
  • Fixes bug that removes variation title when updating activity setting.
  • Fixes performance problem due to regex expression inefficiency when showing evaluation report.
  • Fixes reports of students working periods when no data.
  • Fixes bug setting $PAGE URL. Reported by @pavelsokolov issue #128.
  • Fixes bug of handling decimal numbers internationalization.

Programming languages

  • Adds support for Julia by adding a default run script. Julia is detected when using files with the jl file extension.
  • Removes obsolete swipl command-line option in Prolog run script.

Version information

Version build number
2023061712
Version release name
4.1.1
Can be updated to
4.2.3 (2024011312)
Maturity
Stable version
MD5 Sum
e3cefc2ca044dbe7e63d8acae42639ff
Supported software
PHP 7.4, Moodle 3.9, Moodle 3.10, Moodle 3.11, PHP 8.0, Moodle 4.0, PHP 8.1, Moodle 4.1, Moodle 4.2

Version control information

Version control system (VCS)
GIT
VCS repository URL
VCS tag
v4.1.1

Default installation instructions for plugins of the type Activities

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder (eg "assignment") in the "mod" subdirectory.
  4. Visit http://yoursite.com/admin to finish the installation