Onedrive Sync Photo Library

If you are reading this post, then you most likely committed the most famous sin in SharePoint – exceeded the item threshold in a document library. Don’t worry, we all make mistakes in life (well except for my mother-in-law, she claims that she never does). So I am here to forgive you 🙂 and explain what this issue is all about, how to mitigate it, and how to deal with large document libraries in SharePoint in general.

Syncing a OneDrive for work or school library is a function of Windows and the OneDrive for work or school app, and is specific to your computer. You can only pause and stop syncing from your local computer, not from the online app.

What is this item limit threshold on a document library?

Syncing different file types. OneDrive handles sync differently depending on the type of file. For Office 2016 and Office 2019 files, OneDrive collaborates directly with the specific apps to ensure data are transferred correctly. If the Office desktop app is running, it will handle the syncing. If it is not running, OneDrive will. I've downloaded the new OneDrive for iOS app and am trying to sync an entire Sharepoint document library for offline access. For some reason I can only sync a subfolder - I can't see an option to sync the entire library. Copy iPhoto library file into your OneDrive Folder. Launch iPhoto by double clicking the iPhoto library icon copied into the OneDrive folder that will automatically sync to OneDrive folder. Hold down the option key to open the file in iPhone, select the iPhoto library option that is not the default. Now, iPhoto library is stored inside the. Remove WhatsApp images from Onedrive photo library Hi, I'd like to know if there's a way to remove Whatsapp/Viber images from Onedrive personal photo library. I've turned on sync from my Android phone some time ago, but I'd like to remove the content that's not personal.

It all started with SharePoint 2010. To maintain the performance of a document library (and the servers behind the scenes), Microsoft introduced the 5,000 view item limit on a document library. What that meant was that while you could put more than 5,000 items in a single library, you could not surface up (display) more than 5,000 items on a view. I actually wrote a separate post on the 5,000 view item limit issue back in 2015.

What happens if I put more than 5,000 items in a document library

Classic SharePoint/Classic Document Library

In the past, with older versions of SharePoint, the classic library pretty much became unusable. Yes, you could put 20,000 documents in a library, but if you tried to do anything in that library (search, set unique permissions, create views, sort, filter, group metadata, etc.) – you would get an error message every little step of the way.

Modern Document Library

A breakthrough occurred in 2017 with the introduction of a Modern Document Library. All of a sudden, it became more “tolerant” towards the larger volumes of data. Over the years, Microsoft made additional improvements to the modern document library, like auto-indexing libraries that contain less than 20,000 documents.

Onedrive Sync Photo Library

With the modern document library, you can now upload 20K, 30K, 50K documents. However, the limits are still there, and chances are – you will encounter the error messages described below.

Onedrive Sync Photo Library Download

What happens if I put a large number of documents in a document library

The structure of a library matters

So while 5,000 is no longer a hard limit, there is still a limit to how many docs a document library can handle. There is no exact number I can give you where you will get to see the errors. It depends on how you structure your library, whether or not files are organized in folders or metadata, and whether or not you sync your library to the computer.

OneDrive sync makes the issues even worse

Another factor to consider is that often users Sync the libraries to their computer via OneDrive Sync. This exacerbates the issue as OneDrive sync has limitations of its own. For example, when you have lots of files and folders in a single folder, you will get an error message below

Microsoft also recommends that users do not sync more than 300,000 files across all SharePoint document libraries/OneDrive. So the larger the library, the sooner your users will encounter the issues.

Microsoft recommendation taken from their SharePoint limits article

Common Error messages with large document library threshold

Below I would like to explain the most common error messages you will see (and respective operations that cause them).

  1. The user tries to move/reorganize folders with a large number of documents
  2. The user tries to create unique permissions for the folder or a library that contains more than 100,000 items. The second image (captured from Mircosoft SharePoint limits post) summarizes this hard limit
  3. The user tries to rename a folder with a large library or folder that contains a large number of items
  4. The user tries to move/reorganize files and folders within a document library (takes a lot of time)
  5. The user tries to rename a folder (takes a lot of time)
  6. The user tries to set unique security on a folder (takes a lot of time)
  7. The user tries to bulk edit metadata for multiple files
  8. The user tries to sort and group on some metadata columns (which reminds me, I need to buy myself a bicycle)
  9. The user tries to create a custom view and hide folders
  10. The user tries to create a Calculated Column
  11. The user gets an error message about too many files in a folder while syncing using OneDrive sync client
  12. The user gets an error message about sync issues in OneDrive
  13. The user gets a warning/error message about sync delays due to high service activity
  14. The user unable to access SharePoint sites and gets Throttle message when trying to access SharePoint (while also syncing a large document library)
  15. The user’s OneDrive sync wheel is always spinning, freezes sometimes

How to properly mitigate large document library issue

If you read my old post on 5,000 view item limit, as well as posts written by others on the same topic, there are some techniques available to improve the usability of a large library. Things like indexing columns, creating custom views, limiting the number of items in a view. That said, don’t waste your time on any of them. They will only provide marginal improvements (if any), and your users will still encounter most of the issues/error messages above.

There is only one fool-proof way to avoid and mitigate the issue:

Do not put more than 20-30K files and folders into a single library. Create many sites and libraries.

Just like with driving, if you do not want to be caught speeding, well, then maybe you should not be speeding! Same thing with SharePoint document libraries. Don’t do it! Instead, concentrate on the following:

  1. Think in terms of sites and not folders.
  2. Create many sites and many libraries, spread the content among them
  3. Don’t use SharePoint like Dropbox or file share
  4. Spend some time building proper Information Architecture
  5. Train your users on dos and don’ts of SharePoint
-->

There are two basic ways that you, as an administrator, can deploy the OneDrive sync app to Mac users in your organization:

  • Install and set up the OneDrive sync app by following the instructions in Sync files with OneDrive on macOS. To install the OneDrive sync app for Mac, a user has to be an administrator on the Mac or know an administrator account name and password.

  • Download the installer package file to your local network, and then use your software distribution tools to deploy the app to your users. By using a software distribution tool, you have more control over the deployment, including which users get the sync app and when. The OneDrive sync app for Mac uses the Apple Installer technology for installation allowing you to use the software distribution tools that you normally use to deploy software to Mac users. You can use Microsoft Intune. Other common tools are Jamf Pro, Munki, and AutoPkg. You can also use Apple Remote Desktop and AppleScript.

Manage OneDrive settings on macOS using property list (.plist) files

After the OneDrive sync app for Mac is installed, users can configure settings for the app. These settings are called preferences. As an administrator, you might want to provide users in your organization with a standard set of preferences. Preferences for the OneDrive sync app for Mac are stored in property list (.plist) files.

StandaloneMac App Store
.plist location
~/Library/Preferences/com.microsoft.OneDrive.plist
~/Library/Containers/com.microsoft.OneDrive-mac/Data/Library/Preferences/com.microsoft.OneDrive-mac.plist
Domain
com.microsoft.OneDrive
com.microsoft.OneDrive-mac

Configure sync app settings

Configure the settings on macOS as follows:

  1. Quit the OneDrive app.

  2. Define the settings you want to change by creating a .plist file with the values. You can also use a script to set the default values.

  3. Deploy the settings onto the local computer.

  4. Refresh the preferences cache.

    On the next start of OneDrive, the new settings will be picked up.

Overview of settings

Use the following keys to preconfigure or change settings for your users. The keys are the same whether you run the standalone or Mac App Store edition of the sync app. However, the .plist file name and domain name will be different. When you apply the settings, ensure that you target the appropriate domain depending on the edition of the sync app.

List of settings

AllowTenantList

Photo

This setting prevents the users from uploading files to other organizations by specifying a list of allowed tenant IDs. If you enable this setting, the user gets an error if they attempt to add an account from an organization that isn't in the allowed tenants list. If the user has already added the account, the files stop syncing. This setting takes priority over Block syncing OneDrive accounts for specific organizations setting. Do NOT enable both settings at the same time.

The parameter for the AllowTenantList key is TenantID and its value is a string, which determines the tenants for whom the Allow Tenant setting is applicable. For the setting to be complete, this parameter also requires a boolean value to be set to it. If the boolean value is set to True, the tenant is allowed to sync.

The example for this setting in the .plist file is:
<key>AllowTenantList</key>
<array>
<dict>
<key>TenantId1</key>
<true/>
<key>TenantId2</key>
<true/>
</dict>
</array>

AutomaticUploadBandwidthPercentage

This setting enables the sync app to automatically set the amount of bandwidth that can be used for uploading files, based on available bandwidth.

To enable this setting, you must define a number between 1 and 99 that determines the percentage of bandwidth the sync app can use out of the total available bandwidth.

Sync Photo Library To Onedrive

The example for this setting in the .plist file is:
<key>AutomaticUploadBandwidthPercentage</key>
<int>(Bandwidth)</int>

BlockExternalSync

This setting prevents the sync app from syncing libraries and folders shared from other organizations.

Set the setting's value to True, to prevent the users from syncing OneDrive, SharePoint libraries, and folders with organizations other than the user's own organization. Set the value to False or don't enable the setting to allow the OneDrive, and SharePoint files to be synced with other organizations also.

The example for this setting in the .plist file is:
<key>BlockExternalSync</key>
<(Bool)/>

BlockTenantList

This setting prevents the users from uploading files to organizations that are included in the blocked tenant IDs list.

If you enable this setting, the users get an error if they attempt to add an account from an organization that is blocked. If a user has already added an account for a blocked organization, the files stop syncing. This setting does NOT work if you have Allow syncing OneDrive accounts for only specific organizations setting enabled. Do NOT enable both settings at the same time.

SyncOnedrive Sync Photo Library

Enable this setting by defining IDs for the TenantID parameter, which determines the tenants to whom the block tenant setting is applicable. Also set the boolean value to True for the ID of every tenant you want to prevent from syncing with the OneDrive and SharePoint files and folders.

Note

In the list, inclusion of the tenant ID alone doesn't suffice. It's mandatory to set the boolean value to True for the ID of each tenant who is to be blocked.

The example for this setting in the .plist file is:
<key>BlockTenantList</key>
<array>
<dict>
<key>TenantId1</key>
<true/>
<key>TenantId2</key>
<true/>
</dict>
</array>

DefaultFolderLocation

This setting specifies the default location of the OneDrive folder for each organization.

The parameters are TenantID and DefaultFolderPath.The TenantID value is a string that determines the tenants to whom the default folder location setting is applicable.The DefaultFolderPath value is a string that specifies the default location of the folder.

The following are the conditions governing the default folder location:-Mac app store: The path must already exist when the user is setting up the sync app.-Standalone: The path will be created (if it doesn't already exist) after the user sets up the sync app. Only with the Standalone sync app you can prevent users from changing the location.

The example for this setting in the .plist file is:
<key>DefaultFolder</key>
<array>
<dict>
<key>Path</key>
<string>(DefaultFolderPath)</string>
<key>TenantId</key>
<string>(TenantID)</string>
</dict>
</array>

DisableHydrationToast

Photo

This setting prevents toasts from appearing when applications cause file contents to be downloaded.

If you set the setting's value to True, toasts do not appear when applications trigger the download of file contents.

The example for this setting in the .plist file is:
<key>DisableHydrationToast</key>
<(Bool)/>

DisablePersonalSync

This setting blocks user from signing in and syncing files in personal OneDrive accounts. If this setting has been configured after a user has set up sync with a personal account, the user gets signed out.

If you set the setting's value to True, the users are prevented from adding or syncing personal accounts.

The example for this setting in the .plist file is:
<key>DisablePersonalSync</key>
<(Bool)/>

DisableTutorial

This setting prevents the tutorial from being shown to the users after they set up OneDrive.

If you set this setting's value to True, the tutorial is blocked from being shown to the users after they set up the OneDrive.

The example for this setting in the .plist file is:
<key>DisableTutorial</key>
<(Bool)/>

DownloadBandwidthLimited

This setting sets the maximum download throughput rate in kilobytes (KB)/sec for computers running the OneDrive sync app.

Set this setting's value to an integer between 50 KB/sec and the maximum rate is 100,000 KB/sec that determines the download throughput in KB/sec that the sync app can use.

The example for this setting in the .plist file is:
<key>DownloadBandwidthLimited</key>
<int>(Download Throughput Rate in KB/sec)</int>

EnableAllOcsiClients

This setting lets multiple users use the Microsoft 365 Apps for enterprise, Office 2019, or Office 2016 desktop apps to simultaneously edit an Office file stored in OneDrive. It also lets users share files from the Office desktop apps.

Important

We recommend keeping this setting enabled to make syncing faster and reduce network bandwidth. See all our recommendations for configuring the sync app.

If you set this setting to True or don't set this setting, the Office tab appears in OneDrive sync preferences, and Use Office applications to sync Office files that I open is selected, by default.

If you set this setting to False, the Office tab is hidden in the sync app, and co-authoring and in-app sharing for Office files are disabled. The User can choose how to handle Office files in conflict setting acts as disabled, and when file conflicts occur, both copies of the file are kept. For more information about the settings in the sync app, see Use Office applications to sync Office files that I open.

The example for this setting in the .plist file is:
<key>EnableAllOcsiClients</key>
<(Bool)/>

EnableODIgnore

This setting lets you enter keywords to prevent the OneDrive sync app from uploading certain files to OneDrive or SharePoint. You can enter complete names, such as 'setup.exe' or use the asterisk (*) as a wildcard character to represent a series of characters, such as *.pst. Keywords aren't case-sensitive.

If you enable this setting, the sync app doesn't upload new files that match the keywords you specified. No errors appear for the skipped files, and the files remain in the local OneDrive folder. In Finder, the files appear with an 'Excluded from sync' icon.

Users will also see a message in the OneDrive activity center that explains why the files aren't syncing.Set this setting's value to an integer between 50 KB/sec and the maximum rate of 100,000 KB/sec that determines the download throughput in KB/sec that the sync app can use.

The example for this setting in the .plist file is:
<key>EnableODIgnore</key>
<array>
<dict>
<string>*.PST</string>
</dict>
</array>

FilesOnDemandEnabled

Onedrive Sync Photo Library Software

This setting specifies whether Files On-Demand is enabled.

Important

We recommend keeping Files On-Demand enabled. See all our recommendations for configuring the sync app

If you don't set this setting, Files On-Demand will be enabled automatically as we roll out the feature, and users can turn the setting on or off.

If you set this setting to True, FilesOnDemand is enabled and the users who set up the sync app can view the online-only files, by default.

If you set this setting to False, FilesOnDemand is disabled and the users won't be able to turn it on.

The example for this setting in the .plist file is:
<key>FilesOnDemandEnabled</key>
<(Bool)/>

HideDockIcon

This setting specifies whether a dock icon for OneDrive is shown.

If you set this setting's value to True, the OneDrive dock icon is hidden even if the app is running.

The example for this setting in the .plist file is:
<key>HideDockIcon</key>
<(Bool)/>

HydrationDisallowedApps

This setting prevents apps from automatically downloading online-only files. You can use this setting to lock down apps that don't work correctly with your deployment of Files On-Demand.

To enable this setting, you must define a string in JSON format as described below:
[{'ApplicationId':'appId','MaxBundleVersion':'1.1','MaxBuildVersion':'1.0'}]
'appID' can be either the BSD process name or the bundle display name. 'MaxBuildVersion' denotes the maximum build version of the app that will be blocked. 'MaxBundleVersion' denotes the maximum bundle version of the app that will be blocked.

The example for this setting in the .plist file is:
<key>HydrationDisallowedApps </key>
<string> [{'ApplicationId':'appId','MaxBundleVersion':'1.1','MaxBuildVersion':'1.0'}, {'ApplicationId':'appId2','MaxBundleVersion':'3.2','MaxBuildVersion':'2.0'}]</string>
<(Bool)/>

OpenAtLogin

This setting specifies whether OneDrive starts automatically when the user logs in.

If you set this setting's value to True, OneDrive starts automatically when the user logs in on Mac.

The example for this setting in the .plist file is:
<key>OpenAtLogin</key>
<(Bool)/>

SharePointOnPremFrontDoorUrl

This setting specifies the SharePoint Server 2019 on-premises URL that the OneDrive sync app must try to authenticate and sync against.

To enable this setting, you must define a string containing the URL of the on-premises SharePoint Server.

The example for this setting in the .plist file is:
<key>SharePointOnPremFrontDoorUrl</key>
<string>https://Contoso.SharePoint.com</string>

SharePointOnPremPrioritizationPolicy

This setting determines whether or not the client should set up sync for SharePoint Server or SharePoint in Microsoft 365 first during the first-run scenario when the email is the same for both SharePoint Server on-premises and SharePoint in Microsoft 365 in a hybrid scenario.

If you set this setting's value to 1, it is an indication that OneDrive should set up SharePoint Server on-premises first, followed by SharePoint in Microsoft 365.

The example for this setting in the .plist file is:
<key>SharePointOnPremPrioritizationPolicy</key>
<int>(0 or 1)</int>

SharePointOnPremTenantName

This setting enables you to specify the name of the folder created for syncing the SharePoint Server 2019 files specified in the Front Door URL.

If this setting is enabled, you can specify a TenantName that is the name the folder will use in the following convention:
OneDrive – TenantName (specified by you)
TenantName (specified by you)

If you do not specify any TenantName, the folder will use the first segment of the FrontDoorURL as its name. For example, https://Contoso.SharePoint.com will use Contoso as the Tenant Name in the following convention:


OneDrive – Contoso
Contoso

The example for this setting in the .plist file is:
<key>SharePointOnPremTenantName</key>
<string>Contoso</string>

Tier

You can configure the OneDrive Standalone sync app to receive delayed updates.

.plist Location
Domain
~/Library/Preferences/com.microsoft.OneDriveUpdater.plist
com.microsoft.OneDriveUpdater
SettingDescriptionParametersExample .plist Entry
Tier
Defines the update ring for the computer
UpdateRing (String): This parameter has two different values.
Production - The default update ring for OneDrive updates.
Insiders - This update ring receives updates that are 'pre-production' and that allow you to play with features before they are released. Note that builds from this ring may be less stable.
Enterprise - This update ring (now called 'Deferred') receives updates after they have been rolled out through the Production ring. It also lets you control the deployment of updates. For more information about the update rings and the procedure used by the sync app for checking for updates, see The OneDrive sync app update process.
<key>Tier</key>
<string>(UpdateRing)</string>

Important

We recommend selecting several people in your IT department as early adopters to join the Insiders ring and receive features early. We recommend leaving everyone else in the organization in the default Production ring to ensure they receive bug fixes and new features in a timely fashion. See all our recommendations for configuring the sync app

Onedrive Sync Mac Photo Library

UploadBandwidthLimited

Onedrive Sync Photo Library Free

This setting defines the maximum upload throughput rate in KB/sec for computers running the OneDrive sync app.

To enable this setting, set a value between 50 and 100,000 that is the upload throughput rate the sync app can use.

The example for this setting in the .plist file is:
<key>UploadBandwidthLimited</key>
<integer>(Upload Throughput Rate in KB/sec)</integer>