Via - Virtual Classroom
Maintained by
SVI eSolutions, Thomas Fauquignon, Michael Leblanc
The Via activity module provides integration between Moodle and Via, our virtual classroom tool. It is designed to simplify the use of synchronous events within Moodle. It provides a single sign on between the two systems with easy event creation and management.
Comments
Comments are no longer open for new posts. Existing comments remain available to read.
The Moodle plugin is free but not the virtual classroom service:
To connect to Via, you will need to create an account with us at SVI e Solutions: https://www.sviesolutions.com/
As a policy, we do not delete the comments raised during the approval review. There is nothing wrong about them. Things should be transparent and open as much as possible in an open source project. With regards to prechecker, please refer to https://docs.moodle.org/dev/Travis_integration#Moodle_plugins
review and detected some issues that block the approval at the moment.
SQL queries have table names hardcoded with the mdl_ prefix. This will cause failures on sites that use other or no prefix for DB
tables. Parameters are injected into the queries via variable expansion, which may lead to potential security risks. Please use
placeholders (? or :named) only. Also, please use placeholders instead of attempting to quote values yourself for cross-db
compatibility.
Many global scope functions in your plugin do not use expected via_ prefix. To prevent accidental name collision, make sure to use
proper prefix for them all (or wrap them as member methods of a properly named class).
Your lib.php contains a lot of code not related to public interface of an activity module. As these libs are loaded at every request
from all plugins, it is required to keep them as small as possible - they should contain just necessary interface functions. All the
internal logic of your module should go to locallib.php that is included only when needed.
Using superglobals like $_REQUEST or $_POST is strongly discouraged. Moodle provides solid API for processing and sanitization of
user input. Bypassing it may again lead to serious issues, including security related ones.
The restorelib.php file seems to be a relict of a previous version of the plugin.
Your CSS selectors in styles.css such as A.button may affect HTML elements outside your module scope. Please use CSS selectors
specific to your module's output.
Things like `if (function_exists('require_capability'))` are irrelevant after including the main config.php that bootstraps the
whole Moodle environment. Please follow the code structure and common code flow used by other activity modules.
The requirement to contact SVIeSolutions to obtain API keys and other access data should be mentioned in this plugin description, as
many admins do not read the README file.
AFAIK, some sites might have issues with network communication via http:// streams opened via fopen(). Most Moodle code relies on
the solution via cURL.
For now, I am going to mark this plugin as needing more work until we get these issues resolved.
The code checker plugin can be quite helpful in fine tuning your code and can be found at: https:/moodle.org/pluins/view.php?plugin=local_codechecker
You may wish to consider using that tool to further improve your plugin. Below are the initial results:
Files found: 47
mod/via/CHANGELOG.txt - 7 error(s) and 11 warning(s)
mod/via/README.txt - 9 error(s) and 0 warning(s)
mod/via/api.class.php - 2663 error(s) and 45 warning(s)
mod/via/auth.php - 49 error(s) and 0 warning(s)
mod/via/backup/moodle2/backup_via_activity_task.class.php - 18 error(s) and 4 warning(s)
mod/via/backup/moodle2/backup_via_stepslib.php - 90 error(s) and 14 warning(s)
mod/via/backup/moodle2/restore_via_activity_task.class.php - 44 error(s) and 3 warning(s)
mod/via/backup/moodle2/restore_via_stepslib.php - 194 error(s) and 6 warning(s)
mod/via/choosecategories.php - 268 error(s) and 6 warning(s)
mod/via/conntest.php - 105 error(s) and 3 warning(s)
mod/via/db/access.php - 45 error(s) and 0 warning(s)
mod/via/db/install.php - 3 error(s) and 0 warning(s)
mod/via/db/log.php - 64 error(s) and 0 warning(s)
mod/via/db/upgrade.php - 292 error(s) and 13 warning(s)
mod/via/edit_review.form.php - 2 error(s) and 0 warning(s)
mod/via/edit_review.php - 297 error(s) and 4 warning(s)
mod/via/index.php - 32 error(s) and 4 warning(s)
mod/via/javascript/conntest.js - 8 error(s) and 0 warning(s)
mod/via/javascript/list.js - 4 error(s) and 0 warning(s)
mod/via/javascript/viabutton.js - 3 error(s) and 0 warning(s)
mod/via/lang/en/help/activitytype.html - 1 error(s) and 1 warning(s)
mod/via/lang/en/help/enroltype.html - 2 error(s) and 0 warning(s)
mod/via/lang/en/help/mods.html - 1 error(s) and 0 warning(s)
mod/via/lang/en/help/session.html - 9 error(s) and 5 warning(s)
mod/via/lang/en/help/via/activitytype.html - 1 error(s) and 1 warning(s)
mod/via/lang/en/help/via/enroltype.html - 2 error(s) and 0 warning(s)
mod/via/lang/en/help/via/mods.html - 1 error(s) and 0 warning(s)
mod/via/lang/en/help/via/session.html - 9 error(s) and 5 warning(s)
mod/via/lang/en/via.php - 112 error(s) and 1 warning(s)
mod/via/lib.php - 4457 error(s) and 193 warning(s)
mod/via/manage.form.php - 31 error(s) and 1 warning(s)
mod/via/manage.php - 457 error(s) and 25 warning(s)
mod/via/mod_form.php - 659 error(s) and 33 warning(s)
mod/via/phpxml.php - 287 error(s) and 2 warning(s)
mod/via/restorelib.php - 181 error(s) and 21 warning(s)
mod/via/send_invite.form.html - 2 error(s) and 0 warning(s)
mod/via/send_invite.php - 67 error(s) and 5 warning(s)
mod/via/settings.php - 218 error(s) and 11 warning(s)
mod/via/styles.css - 22 error(s) and 0 warning(s)
mod/via/tabs.php - 36 error(s) and 4 warning(s)
mod/via/testadminid.php - 63 error(s) and 2 warning(s)
mod/via/uapi/auth.php - 122 error(s) and 6 warning(s)
mod/via/uapi/getversion/index.php - 31 error(s) and 0 warning(s)
mod/via/version.php - 7 error(s) and 0 warning(s)
mod/via/view.assistant.php - 58 error(s) and 0 warning(s)
mod/via/view.php - 709 error(s) and 49 warning(s)
mod/via/view.via.php - 301 error(s) and 7 warning(s)
Total: 12043 error(s) and 485 warning(s)
$plugin = new stdClass();
I would also recommend removing many of the comments and either put them in a CHANGELOG file or the README. The README file indicates making some changes to Moodle core. Plugins are not permitted to do this as it technically makes them patches. Patches are not accepted in Moodle unless in the other category.
Also, it is recommended to only include in the plugin the English lang files and then use AMOS to provide languages (in your case the French language pack).
For now I am going to mark this as needing some more work until these issues are resolved. Peace - Anthony
It would be better if the UApi did not have to be at the root of the Moodle install as that tends to break the plugin nature of things. It seems to function as a library. I am not sure if you might want to make it a separate local plugin or leave it in its current location.
For now, I am going to mark this plugin as needing more work until we get these issues resolved.
Peace - Anthony