Skip to content

Allow only sync users from a group#3204

Open
weilai-irl wants to merge 1 commit into
wip-131037-m501from
wip-127698-m501
Open

Allow only sync users from a group#3204
weilai-irl wants to merge 1 commit into
wip-131037-m501from
wip-127698-m501

Conversation

@weilai-irl

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings May 27, 2026 16:19
@weilai-irl weilai-irl added this to the 2026-03 milestone May 27, 2026
@weilai-irl weilai-irl self-assigned this May 27, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an “only sync users from a Microsoft 365 group” capability to the local_o365 user sync pipeline, plus related logging and photo-sync optimizations.

Changes:

  • Introduces an admin setting to configure a Microsoft 365 Group object ID used to scope user sync.
  • Adds Graph API support for batching group members (and owners) and wires it into full user sync and photo/timezone sync.
  • Enhances photo sync responses with a SHA-256 hash and updates photo application logic to (attempt to) avoid unnecessary updates.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
local/o365/settings.php Registers the new user sync group filter setting on the user sync settings page.
local/o365/lang/en/local_o365.php Adds UI strings and a detailed warning description for the new setting.
local/o365/classes/task/usersync.php Logs group-filter configuration and tweaks displayed sync option filtering text.
local/o365/classes/task/photoandtimezonesync.php Applies group filter to photo/timezone sync processing and adds option logging + hash-aware photo apply.
local/o365/classes/rest/unified.php Adds batched group member retrieval endpoints and includes a photo hash in batch photo results.
local/o365/classes/feature/usersync/main.php Uses group filter for full user sync, adds group-filter getter, and introduces hash-aware photo application/storage.
local/o365/classes/adminsetting/usersyncgroupfilter.php New admin setting with GUID-format validation for the group object ID.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread local/o365/classes/rest/unified.php Outdated
Comment thread local/o365/classes/rest/unified.php
Comment thread local/o365/classes/adminsetting/usersyncgroupfilter.php Outdated
Comment thread local/o365/classes/task/photoandtimezonesync.php
Comment thread local/o365/classes/task/photoandtimezonesync.php
Comment thread local/o365/classes/feature/usersync/main.php Outdated
Comment thread local/o365/classes/feature/usersync/main.php Outdated
Comment thread local/o365/classes/task/usersync.php Outdated
Comment thread local/o365/classes/rest/unified.php
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Fetch-level filtering in user sync — avoid downloading entire tenant

2 participants