Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/plugin/zoom
Angel Fernando Quiroz Campos 0aae15ffd3 Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
..
Entity Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
lang Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
lib Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
resources/img Plugin: Zoom: Add plugin icons - refs #3481 5 years ago
view Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
README.code.md Plugin - Rename Zoom plug in class 6 years ago
README.md Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
activity.php Minor - Plugins: Zoom - add breadcrumb - WIP - BT#17288 6 years ago
attendance.php Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
config.php Minor - format code 6 years ago
endpoint.php Minor - add logs 5 years ago
global.php Plugin: zoom refactor, use doctrine ids, format code BT#17288 6 years ago
index.php
install.php Minor - Flint fixes 5 years ago
join_meeting.php Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
meeting.ajax.php Plugin: Zoom: allow attendance signatures - refs BT#19534 4 years ago
meeting.php Plugins - Zoom - Change setting enableCloudRecording 6 years ago
meetings.php Plugins - Zoom - Change setting enableCloudRecording 6 years ago
plugin.php Zoom plugin scripts access protection - refs BT#17288 6 years ago
start.php Minor - format code 6 years ago
uninstall.php Minor - Flint fixes 5 years ago

README.md

This plugin adds Zoom meetings, user registration to meetings and meeting recordings.

This plugin requires a Zoom account to manage meetings.

Once enabled, it will show as an additional course tool in all courses' homepage: teachers will be able to launch a conference and student to join it.

Configuration

The Zoom API uses JSON Web Tokens (JWT) to authenticate account-level access. JWT apps provide an API Key and Secret required to authenticate with JWT. To get them, create a JWT App:

  1. Log into your Zoom profile page

  2. Click on Advanced / Application Marketplace

  3. Click on Develop / build App

  4. Choose JWT / Create

  5. Information: Fill in fields about your "App" (application and company names, contact name and email address)

  6. Click on Continue

  7. App Credentials: Copy your API Key and Secret to these fields below

  8. Click on Continue

  9. Feature: enable Event Subscriptions to add a new one with endpoint URL https://your.chamilo.url/plugin/zoom/endpoint.php and add these event types:

    • Start Meeting
    • End Meeting
    • Participant/Host joined meeting
    • Participant/Host left meeting
    • All Recordings have completed
    • Recording transcript files have completed

    Then click on Done then on Save and copy your Verification Token to the field below.

  10. click on Continue

Changelog

v0.4

Added signed attendance to allow you to configure an attendance sheet where participants register their signature. The signed attendance functionality is similar to that found in the Exercise Signature plugin but does not reuse it.

Meetings

A meeting can be linked to a local user and/or a local course/session:

  • a meeting with a course is a course meeting;
  • a meeting with a user and no course is a user meeting;
  • a meeting with no course nor user is a global meeting.

Registrants

A registrant is the registration of a local user to a meeting.

Users do not register themselves to meetings.

  • They are registered to a course meeting by the course manager.
  • They are registered to a user meeting by that user.
  • They are registered automatically to the global meeting, when they enter it.

Recordings

A recording is the list of files created during a past meeting instance.

Course meeting files can be copied to the course by the course manager.

Required Zoom user account

Recordings and user registration are only available to paying Zoom customers.

For a non-paying Zoom user, this plugin still works but participants will join anonymously.

The user that starts the meeting will be identified as the Zoom account that is defined in the plugin. Socreate a generic account that works for all the users that start meetings.

Upgrade database to v0.4

CREATE TABLE plugin_zoom_signature (id INT AUTO_INCREMENT NOT NULL, registrant_id INT DEFAULT NULL, signature LONGTEXT NOT NULL, registered_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_D41895893304A716 (registrant_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB;
ALTER TABLE plugin_zoom_signature ADD CONSTRAINT FK_D41895893304A716 FOREIGN KEY (registrant_id) REFERENCES plugin_zoom_registrant (id);
ALTER TABLE plugin_zoom_meeting ADD sign_attendance TINYINT(1) NOT NULL, ADD reason_to_sign_attendance LONGTEXT DEFAULT NULL;

Contributing

Read README.code.md for an introduction to the plugin's code.