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/README.code.md

2.2 KiB

The Chamilo Zoom plugin class itself is defined in plugin/zoom/lib/ZoomPlugin.php

It manipulates both remote Zoom server objects and local database entities:

Local database entities

The local entities map the remote objects to Chamilo courses/sessions and users.

They also maintain a cache of the matching remote objects.

Entity/*Entity.php are the local database entity classes.

Doctrine entity manager repository classes are in lib/*EntityRepository.php.

Remote Zoom server objets

lib/API/*.php contains the Zoom API data structure definition classes, based on Zoom's own API specification:

These classes provide methods to list, create, update and delete the remote objects.

JWT Client

API class methods use a JWT client implemented in lib/API/JWTClient.php.

The plugin constructor initializes the JWT Client, giving it required API key and secret.

Event notification handler

endpoint.php is the Zoom API event notification web hook end point.

It handles notifications sent by Zoom servers on useful events :

  • meeting start and end,
  • registrant join and leave,
  • recordings created and deleted

Administrative interface

admin.php is the administrative interface. It lists all meetings and recordings.

Course tool

start.php is the course tool target:

  • to the course teacher, it shows a course meeting management interface;
  • to the course learners, it shows the list of scheduled course meetings.

Home page's profile block (also on "My Courses" page)

This plugin can add 3 kinds of links to "profile block" :

  1. join_meeting.php?meetingId=… links to upcoming meetings accessible to the current user. join_meeting.php presents the meeting and shows a link to enter the meeting.
  2. user.php is the user's own meeting management interface.
  3. global.php directs the user to join_meeting.php with the global meeting.

Meeting management page

admin.php, start.php and user.php link to meeting.php.

meeting.php is the meeting management page, where one can manage

  • the meeting properties,
  • the list of its registrants and
  • its recordings.