Moodle Plugins directory: Via - Virtual Classroom | Moodle.org

Via - Virtual Classroom
The Via activity module provides integration between Moodle and Via, a virtual teaching 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.
To connect to Via, you will need to create an account with us at SVI e Solutions (for USA/Canada) or Classilio (for Europe) we will then provide a personalized URL and authentification keys that will be required in the plugins' parameters to create activities. These provide added security.
The module allows users to create Via - Virtual Classroom activities by adding many instances to a course. When creating the activity, the creator will have the choice of creating an activity with a start and end time and date or a permanent activity, which is always open. These can be great for homework groups. There is even a block that will display all the permanent activities of a course which offers quick access. The activity creator can also chose if the activities can be recorded and made public. There is another block to display the recordings to made access quicker and easier. The enrollment method can be set to automatic or manual. With the automatic enrollment all students enrolled in the course will be added as participants. The users will be synchronized with the help of the Moodle cron. The presenter will be the activity creator, but can be changed manually. An animator can be added manually. When manual enrollment is chosen the creator can pick which students will be allowed to participate.
Any user who creates or joins a meeting will have their account created on the Via server (if one doesn't already exist) and they will be signed in automatically using HTTP header authentication. So, as long as the user is logged into Moodle they will never have to enter in user details to get access to the Via activity.
The plugin is available in french and english.
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
$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
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)
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.
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
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/