this app type will be deprecated on 6/1/2023)'; $strings['apiSecret'] = 'API Secret'; $strings['apiSecret_help'] = 'For a JWT application type (this app type will be deprecated on 6/1/2023)'; $strings['verificationToken'] = 'Verification Token'; $strings['verificationToken_help'] = 'For a JWT application type (this app type will be deprecated on 6/1/2023)'; $strings[ZoomPlugin::SETTING_ACCOUNT_ID] = 'Account ID'; $strings[ZoomPlugin::SETTING_ACCOUNT_ID.'_help'] = 'For a Server-to-Server OAuth application type'; $strings[ZoomPlugin::SETTING_CLIENT_ID] = 'Client ID'; $strings[ZoomPlugin::SETTING_CLIENT_ID.'_help'] = 'For a Server-to-Server OAuth application type'; $strings[ZoomPlugin::SETTING_CLIENT_SECRET] = 'Client secret'; $strings[ZoomPlugin::SETTING_CLIENT_SECRET.'_help'] = 'For a Server-to-Server OAuth application type'; $strings[ZoomPlugin::SETTING_SECRET_TOKEN] = 'Secret token'; $strings[ZoomPlugin::SETTING_SECRET_TOKEN.'_help'] = 'For a Server-to-Server OAuth application type'; $strings['enableParticipantRegistration'] = 'Enable participant registration'; $strings['enablePresenter'] = 'Enable presenter'; $strings['enablePresenter_help'] = 'It requires that Enable participant registration settings is enabled.'; $strings['enableCloudRecording'] = 'Automatic recording type'; $strings['enableGlobalConference'] = 'Enable global conference'; $strings['enableGlobalConferencePerUser'] = 'Enable global conference per user'; $strings['globalConferenceAllowRoles'] = "Global conference link only visible for these user roles"; $strings['globalConferencePerUserAllowRoles'] = "Global conference per user link only visible for these user roles"; $strings['accountSelector'] = 'Account selector'; $strings['accountSelector_help'] = 'It allows you to declare the emails of the different accounts with whom you want to open the Zoom videos. Separated by semicolons (account_one@example.come;account_two@exaple.com).'; $strings['tool_enable_help'] = "Choose whether you want to enable the Zoom videoconference tool. 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.
This plugin requires a Zoom account to manage meetings.

The Zoom API uses JSON Web Tokens (JWT) to authenticate account-level access. To get them, create a JWT App or a Server-to-Sever OAuth app:

From June 1, 2023, Zoom recommend that you create a Server-to-Server OAuth application to replace the funcionality of a JWT app in your account.

  1. Log into your Zoom profile page
  2. Click on Advanced / Application Marketplace
  3. Click on Develop / Build App
  4. Choose JWT or Server-to-Serve OAuth and then 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
    1. For a JWT application: Copy your API Key and Secret to the plugin configuration
    2. For a Server-to-Server OAuth application: Copy your Account ID, Client ID and Client secret to the plugin configuration
  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 (validate the endpoint to allow to activate the app) and add these event types:

    Then click on Done then on Save and copy your Verification Token if you have a JWT application or the Secret Token if you have an Server-to-Server OAuth application to the plugin configuration

  10. click on Continue
  11. Scopes (only for Server-to-Server OAuth application): Click on Add Scopes and select meeting:write:admin, webinar:write:admin, recording:write:admin. Then click on Done.

Attention:
Zoom is NOT free software and specific rules apply to personal data protection. Please check with Zoom and make sure they satisfy you and learning users."; $strings['enableParticipantRegistration_help'] = "Requires a paying Zoom profile. Will not work for a basic profile."; $strings['enableCloudRecording_help'] = "Requires a paying Zoom profile. Will not work for a basic profile."; // please keep these lines alphabetically sorted $strings['AllCourseUsersWereRegistered'] = "All course students were registered"; $strings['Agenda'] = "Agenda"; $strings['CannotRegisterWithoutEmailAddress'] = "Cannot register without email address"; $strings['CopyingJoinURL'] = "Copying join URL"; $strings['CopyJoinAsURL'] = "Copy 'join as' URL"; $strings['CopyToCourse'] = "Copy to course"; $strings['CouldNotCopyJoinURL'] = "Could not copy join URL"; $strings['Course'] = "Cours"; $strings['CreatedAt'] = "Created at"; $strings['CreateLinkInCourse'] = "Create link(s) in course"; $strings['CreateUserVideoConference'] = "Create user conference"; $strings['DateMeetingTitle'] = "%s: %s"; $strings['DeleteMeeting'] = "Delete meeting"; $strings['DeleteFile'] = "Delete file(s)"; $strings['Details'] = "Details"; $strings['DoIt'] = "Do it"; $strings['Duration'] = "Duration"; $strings['DurationFormat'] = "%hh%I"; $strings['DurationInMinutes'] = "Duration (in minutes)"; $strings['EndDate'] = "End Date"; $strings['EnterMeeting'] = "Enter meeting"; $strings['ViewMeeting'] = "View meeting"; $strings['Files'] = "Files"; $strings['Finished'] = "finished"; $strings['FileWasCopiedToCourse'] = "The file was copied to the course"; $strings['FileWasDeleted'] = "The file was deleted"; $strings['GlobalMeeting'] = "Global conference"; $strings['GlobalMeetingPerUser'] = "Global conference per user"; $strings['GroupUsersWereRegistered'] = "Group members were registered"; $strings['InstantMeeting'] = "Instant meeting"; $strings['Join'] = "Join"; $strings['JoinGlobalVideoConference'] = "Join global conference"; $strings['JoinURLCopied'] = "Join URL copied"; $strings['JoinURLToSendToParticipants'] = "Join URL to send to participants"; $strings['LiveMeetings'] = "Live meetings"; $strings['LinkToFileWasCreatedInCourse'] = "A link to the file was added to the course"; $strings['MeetingDeleted'] = "Meeting deleted"; $strings['MeetingsFound'] = "Meetings found"; $strings['MeetingUpdated'] = "Meeting updated"; $strings['NewMeetingCreated'] = "New meeting created"; $strings['Password'] = "Password"; $strings['RecurringWithFixedTime'] = "Recurring with fixed time"; $strings['RecurringWithNoFixedTime'] = "Recurring with no fixed time"; $strings['RegisterAllCourseUsers'] = "Register all course users"; $strings['RegisteredUserListWasUpdated'] = "Registered user list updated"; $strings['RegisteredUsers'] = "Registered users"; $strings['RegisteredPresenters'] = "Registered presenters"; $strings['RegisterNoUser'] = "Register no user"; $strings['RegisterTheseGroupMembers'] = "Register these group members"; $strings['ScheduleAMeeting'] = "Schedule a meeting"; $strings['ScheduledMeeting'] = "Scheduled meeting"; $strings['ScheduledMeetings'] = "Scheduled Meetings"; $strings['ScheduleAMeeting'] = "Schedule a meeting"; $strings['SearchMeeting'] = "Search meeting"; $strings['Session'] = "Session"; $strings['StartDate'] = "Start Date"; $strings['Started'] = "started"; $strings['StartInstantMeeting'] = "Start instant meeting"; $strings['StartMeeting'] = "Start meeting"; $strings['StartTime'] = "Start time"; $strings['Topic'] = "Topic"; $strings['TopicAndAgenda'] = "Topic and agenda"; $strings['Type'] = "Type"; $strings['UpcomingMeetings'] = "Upcoming meetings"; $strings['UpdateMeeting'] = "Update meeting"; $strings['UpdateRegisteredUserList'] = "Update registered user list"; $strings['UserRegistration'] = "User registration"; $strings['Y-m-d H:i'] = "Y-m-d H:i"; $strings['Waiting'] = "waiting"; $strings['XRecordingOfMeetingXFromXDurationXDotX'] = "%s recording of meeting %s from %s (%s).%s"; $strings['YouAreNotRegisteredToThisMeeting'] = "You are not registered to this meeting"; $strings['ZoomVideoConferences'] = "Zoom Video Conferences"; $strings['Recordings'] = "Recordings"; $strings['CreateGlobalVideoConference'] = "Create global video conference"; $strings['ConferenceNotStarted'] = "Conference not started"; $strings['MeetingNotFound'] = "Meeting not found"; $strings['JoinURLNotAvailable'] = "URL not available"; $strings['Meetings'] = "Meetings"; $strings['ConferenceType'] = "Conference type"; $strings['ForEveryone'] = "Everyone"; $strings['SomeUsers'] = "Some users (Select later)"; $strings['Activity'] = "Activity"; $strings['ConferenceNotAvailable'] = "Conference not available"; $strings['SignAttendance'] = "Sign attendance"; $strings['ReasonToSign'] = 'Reason to sign attendance'; $strings['ConferenceWithAttendance'] = "Conference with attendance sign"; $strings['Sign'] = "Sign"; $strings['Signature'] = "Signature"; $strings['Meeting'] = "Meeting"; $strings['Webinar'] = "Webinar"; $strings['AudienceType'] = 'Audience type'; $strings['AccountEmail'] = 'Account email'; $strings['NewWebinarCreated'] = "New webinar created"; $strings['UpdateWebinar'] = 'Update webinar'; $strings['WebinarUpdated'] = "Webinar updated"; $strings['DeleteWebinar'] = "Delete webinar"; $strings['WebinarDeleted'] = "Webinar deleted"; $strings['UrlForSelfRegistration'] = "URL for self registration"; $strings['RegisterMeToConference'] = "Register me to conference"; $strings['UnregisterMeToConference'] = "Unregister me to conference"; $strings['Presenters'] = "Presenters";