Welcome to the Panopto Community

Please note: All new registrants to the Panopto Community Forum must be approved by a forum moderator or admin. As such, if you navigate to a feature that is members-only, you may receive an error page if your registration has not yet been approved. We apologize for any inconvenience and are approving new members as quickly as possible.

Question about sync_external_user behavior in block_panopto_moodle310_2020121100

Hello,
I’m currently using the block_panopto_moodle310_2020121100 version in Moodle.

I have a question regarding the sync_external_user function in /blocks/panopto/lib/panopto_user_soap_client.php.

The function has the following comment:

* Syncs a user with all of the listed groups, the user will be removed from any unlisted groups

** @param@param string $firstname user first name

* @param@param string $lastname user last name

* @param@param string $email user email address

* @param@param array $externalgroupids array of group ids the user needs to be in

* @param@param boolean $sendemailnotifications whether user gets emails from Panopto updates

I would like to clarify what this comment means.

  1. Does this mean that if a user is not included in the $externalgroupids, they will be removed from all existing groups?
    For example, if a user is currently registered as a viewer in around 50 Moodle courses, and by mistake, I only pass one course group ID in $externalgroupids, will the user automatically be removed from the other 49?
  2. Does this mean the user will also be removed from other roles (e.g., creator or publisher) in the folder/content associated with those groups?
    For example, if the user is a viewer in about 50 Moodle courses and I mistakenly pass only one course's viewer group in $externalgroupids, will they be removed from creator or publisher roles in that folder/content?
    will the user's other course group permissions (in the remaining 49 courses) stay unchanged?

As far as I understand, the sync_external_user function in /blocks/panopto/lib/panopto_data.php gathers all courses the user is enrolled in and creates a group array (viewer, creator) based on the user's role (teacher, student).
Then it calls the sync_external_user function in /blocks/panopto/lib/panopto_user_soap_client.php.

If interpretation (1) is correct,
Could you please let me know where in the code the user is removed from the other 49 course groups?

Thank you.

Answers

  • https://support.panopto.com/resource/APIDocumentation/Help/html/922f471b-b3e6-d46a-8157-b7a73fc607c1.htm

    "Based on the above API, I have confirmed that it is number 1. Thank you."

Sign In or Register to comment.