Skip to content

Conversation

@masaball
Copy link

@masaball masaball commented Dec 17, 2025

Sharepoint integration work is built off the initial implementation by @cziaarm in #418. For Avalon's use case, we changed how files are gathered to specifically pull from the user's personal drive, as well as any Teams drives the user is a member of. The Sharepoint integration has been present in core Avalon since v8.0, released last December.

@cjcolvar cjcolvar mentioned this pull request Dec 18, 2025
3 tasks
@jrochkind
Copy link
Contributor

What's the relation of the JS and CSS changes to the Google Drive and Sharepoint adapters? Are they actually necessary to support those adapters, or are they orthogonal improvements? If the latter, can be they be extracted to a separate PR for separate documentation/review/merge?

cjcolvar and others added 4 commits December 19, 2025 16:12
Reapplied changes from v0.16.1-gdrive-fixes-plus branch:
- Fix Google Drive token storage and refresh
- Support Google Drive's Shared Drives
- Fix Google Drive flattening folders tree
- Add back support for My Drives
- Nest shared drives under 'Shared drives' drive to mirror appearance in google drives
- Adjust layout of modal
- Handle error in rendering of index (e.g. expired token)

Includes later follow-up to remove commented out code,
Adds tests for handling of shared drives, and removes an unneeded google
auth module.

Co-authored-by: Phil Dinh <[email protected]>
Co-authored-by: Dananji Withana <[email protected]>
Co-authored-by: Mason Ballengee <[email protected]>
Co-authored-by: Rory McNicholl <[email protected]>
Refer to samvera#418 for
what is being built off of.

Refer to v1.5-avalon branch for full info on squashed commits:
- Implement authorization_code flow
- Update SharePoint.md
- Return all user accessible sharepoint sites
- Add an option to filter what sites get returned
- Use select param to limit returned metadata:
We do not use every metadata field returned from the all sites and all
drives queries. Using the select parameter to limit what gets returned
to the handful of fields we need should increase the speed of the
requests, resulting in faster loading.
- Update documentation
- Add tests for sharepoint driver
- Enable permissions re-consent flow
- Use joinedTeams as base folder instead of sites:
The sites endpoint returns every single sharepoint site that a user has
access to. This list can include many more options than a user would
expect, including stuff that the user should technically not have access
to (such as if a site has its permissions misconfigured). While we can
use a $search param to narrow the results, we can only get so granular
and so even the filtered results may provide an unwieldy amount of
folders. Because IU is interested in uploading files that are stored on
sharepoint drives that originate from Microsoft Teams, we use the
`joinedTeams` endpoint to only return drives that a user is explicitly a
member of. This creates a much more sensible and manageable list for
users to browse through and one that should have no surprises for the
user.
- Update SharePoint.md
- Initial Bootstrap 5 upgrade:
This commit is to update the gem enough to load in Avalon Media System
when running Bootstrap 5. Functionality and styling seem to be working
but it has not been thoroughly tested.
- Cleanup of documentation and code
- Remove unneeded methods
These changes should be submitted in a separate PR for better
documentation/tracking.
@masaball
Copy link
Author

Yes, the styling changes are Orthogonal to the behavior changes. The bulk of the js/css changes were for better integration with Bootstrap 5, as well as adjusting the display of filenames in the list. These changes are possibly duplicated or superseded by changes made in @Dananji's jquery removal PR (I have not reviewed all her changes, so unsure how much overlap there is).

I have reverted the styling changes, so this PR should only concern behavior of the drivers now.

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.

3 participants