-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redefine licenses only from specific Zoom group(s) or exclude specific group(s) #148
Comments
|
Either Role based or Group based exclusion from the "pool" would be fine for our case. For example our 250 licenses would be allocated as 220 for the pool where all member have to use the plugin in order to get a license and 30 for people that must have a license at all times. I have seen this posted on the moodle forum as well so I assume that other people must have the same issue like us |
If other users are facing the same issue as my original post, how do you deal with it? Thanks |
We have the same need. I think "Group" is better than "Role" to exclude/include some users from the pool of "down gradable" ones (set type to basic). First because a user can belong to several groups whereas he can only have one role. Second because it's a hard process to create a new role in Zoom UI as you can't clone it. You need to go through all the params to set them correctly. As the field "dept" is included in the get_users API call, it would be even easier to check against a free string field set in the plugin configuration (ie "school,teachers") to exclude users having such a string in their "dept" field. This avoid the need to fetch group or role definition to store in the setup. But role_id, and group_ids are also there. So.... The current process is using the last_login field to select the "oldest" user to down grade. But I'm wondering if this field is updated in Zoom when a user create or start a meeting from within Moodle (from the API ) ? Some of our very active users (as hosts or alternative hosts) don't even never connect to their zoom account web site.... |
I agree @lcollong, As far as a minimal implementation, it might be as simple as adding an additional requirement to moodle-mod_zoom/classes/webservice.php Line 401 in 8203d47
Example if there's only one , though I think the real group IDs are 22 character strings: if ($user->type != ZOOM_USER_TYPE_BASIC && !in_array('ABCDEF_123456', $user->group_ids, true) && isset($user->last_login_time)) { A full implementation would probably need to fetch the list of groups using https://marketplace.zoom.us/docs/api-reference/zoom-api/groups/groups and then allow one or more selections from the list. A cleaner implementation of the code would then be more like: // Skip basic users.
if ($user->type == ZOOM_USER_TYPE_BASIC) {
continue;
}
// Skip users in protected groups.
foreach ($protectedgroups as $groupid) {
if (in_array($groupid, $user->group_ids, true)) {
continue 2;
}
}
// Try to pick the least recently active user.
if (isset($user->last_login_time)) { |
Hi, We've developed at #630 the functionality to select a Zoom group to be protected, so no licenses will be taken from the members of that group. |
Hi
Is it possible to consider the "redefine licenses" option with only a particular group in Zoom? This would prevent certain users from losing their licenses at times like administrators etc. and the license would be taken only from the group members in Zoom.
Or inverse to be able to exclude specific group from "pool" so that they do not lose their license.
Thank you
The text was updated successfully, but these errors were encountered: