Service | Microsoft Docs article | Related commit history on GitHub | Change details |
---|---|---|---|
SharePoint | Allow Or Prevent Custom Script | https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commits/public/SharePoint/SharePointOnline/allow-or-prevent-custom-script.md | To prevent SharePoint in resetting custom script settings to its original value > [!NOTE] > This setting affects all sites. There are no options to preserve changes to custom script settings only on some specific sites. This parameter will be available until November 2024. After that date, it will no longer be possible to prevent SharePoint in resetting custom script settings to its original value for all sites.-> Running the command where [Multi-Geo capabilities on OneDrive and SharePoint](/microsoft-365/enterprise/multi-geo-capabilities-in-onedrive-and-sharepoint-online-in-microsoft-365) are configured, will only affect the current geo from which you ran the command. To persiste custom script settings across the entire tenant you must run the command on each geo. +> Running the command where [Multi-Geo capabilities on OneDrive and SharePoint](/microsoft-365/enterprise/multi-geo-capabilities-in-onedrive-and-sharepoint-online-in-microsoft-365) are configured, will only affect the current geo from which you ran the command. To persist custom script settings across the entire tenant you must run the command on each geo. ## Features affected when custom script is blocked The following site settings are unavailable when users are prevented from runnin |Help Settings |No longer available in Site Settings |Users can still access help file collections available before custom script was blocked. | |Sandbox solutions |Solution Gallery is no longer available in Site Settings |Users can't add, manage, or upgrade sandbox solutions. They can still run sandbox solutions that were deployed before custom script was blocked. | |SharePoint Designer |Pages that are not HTML can no longer be updated. <br/> Handling List: **Create Form** and **Custom Action** will no longer work. <br/> Subsites: **New Subsite** and **Delete Site** redirect to the **Site Settings** page in the browser. <br/> Data Sources: **Properties** button is no longer available. |Users can still open some data sources. To open a site that does not allow custom script in SharePoint Designer, you must first open a site that does allow custom script. |-|Uploading files that potentially include script |The following file types can no longer be uploaded to a library <br/> .asmx <br/> .ascx <br/> .aspx <br/> .htc <br/> .jar <br/> .master <br/> .swf <br/> .xap <br/> .xsf |Existing files in the library are not impacted. | +|Uploading files that potentially include script |The following file types cannot open from a library <br/> .asmx <br/> .ascx <br/> .aspx <br/> .htc <br/> .jar <br/> .master <br/> .swf <br/> .xap <br/> .xsf |Existing files in the library are not impacted. | |Uploading Documents to Content Types |Access denied message when attempting to attach a document template to a Content Type. |We recommend using Document Library document templates. | |Publishing of SharePoint 2010 Workflows |Access denied message when attempting to publish a SharePoint 2010 Workflow. | | The following web parts and features are unavailable to site admins and owners w Furthermore, SharePoint Framework web parts that have the _requiresCustomScript_ value set to **true**, will behave as following: -- the web part is not be available in the web part picker-- every instance of the web part that was added to the page while custom scripts were allow to running, will no longer surface in those pages. Author will still be able to remove them while editing the page +- the web part is not available in the web part picker +- every instance of the web part that was added to the page while custom scripts that were allowed to run, will no longer surface in those pages. Author will still be able to remove them while editing the page ## Best practice for communicating script setting changes to users |
SharePoint | Document Library Version History Limits | https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commits/public/SharePoint/SharePointOnline/document-library-version-history-limits.md | The following table summarizes the various ways of managing version history limi | Area | How does it work? | |:--|:--|-| **Set default version history limits for new document libraries created in your organization** | Default organization version history limits are set on all new document libraries created across existing and new SPO sites. | +| **Set default organization version history limits** | Default organization version history limits are set on all new document libraries created across existing and new SPO sites. | | **Set site or library level version history limits** | If needed, site admins can break inheritance from the default organization limits for an individual site or library. | | **Report on version storage on a site** | Run a report to analyze version storage use of existing versions, understand how a version limit works before configuring limits, or analyze the impact of trimming existing versions before scheduling trim job. | | **Trim existing versions** | Site admins can choose to trim existing versions by queuing a timer job to execute the trimming. | The following figure shows the workflow of applying a version limit on new docum There are two version history settings that admins can use to configure version limits for all new libraries created in their organization: -### Automatic Setting +### Automatic setting Automatic setting is recommended for optimized version storage. It combines the data recovery benefits that version history offers while optimizing for its storage. For admins, this setting offers the most optimal storage option without having to estimate the version count or age limits needed to meet the diversified need of their end users.<br> For more information, see [version storage under automatic limits](plan-version-storage.md#understand-version-storage-under-automatic-limits). |
SharePoint | External Sharing Overview | https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commits/public/SharePoint/SharePointOnline/external-sharing-overview.md | description: "Learn about the external sharing options in SharePoint and OneDriv # Overview of external sharing in SharePoint and OneDrive in Microsoft 365 +> [!NOTE] +> By end of June 2024, old invitations sent via the legacy SharePoint Invitation Manager no longer grants access to guests. Users can reshare the document with the guest to generate a new, valid invitation + The external sharing features of SharePoint and OneDrive let users in your organization share content with people outside the organization (such as partners, vendors, clients, or customers). You can also use external sharing to share between licensed users on multiple Microsoft 365 subscriptions if your organization has more than one subscription. External sharing in SharePoint is part of [secure collaboration with Microsoft 365](/microsoft-365/solutions/setup-secure-collaboration-with-teams). Also read [Overview of external collaboration options in Microsoft 365](/microsoft-365/enterprise/external-guest-access). > [!IMPORTANT] |
SharePoint | Plan Version Storage | https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commits/public/SharePoint/SharePointOnline/plan-version-storage.md | description: "This article provides guidance on how to plan version storage for # Plan version storage on document libraries (Preview) -The Version limits you configure need to meet your organizationΓÇÖs recovery objectives and optimize on version storage. In the following sections, we call out the options and decisions that you as an administrator should consider when setting up version limits for your organization: +The Version history limits you configure need to meet your organizationΓÇÖs recovery objectives. In the following sections, we call out the options and decisions that you as an administrator should consider when setting up version limits for your organization. -## Determine default version limits for your organization +As you plan your version storage strategy, consider these key decision areas: +- Determine the default new document library version history limit for your organization. +- Identify any exceptions needed from the organization default limits. +- Determine if current content should be updated to align with the default organization version history limits. -Before you decide the default version history limits for your organization, you need to consider your **organizationΓÇÖs recovery objective** and **version storage usage targets**. You need to evaluate your needs with the **version restore options available to your users** and **storage usage** of the three version storage modes supported by SharePoint. ++## Determine default version limits for new document libraries in your organization ++To set appropriate default limits for your organization, assess the restore options and storage consumption associated with the three version storage modes offered by SharePoint. This helps you to evaluate how the default limits could affect your users' access to their document versions and the overall storage space utilized by those versions. |Select this option:|If you want to:|Benefits| ||||-|**Automatic** (Recommended) |Automatically apply optimal storage of versions based on its age and restore probability.<br> With this setting, users have access to most of the recently created versions.<br> As versions age, fewer older versions are stored. No other input is required from admins.| **Storage Use:** Automatic setting is the recommended setting that offers users' access to high value versions while optimizing storage consumption from versions.<br> <br> **Versions Restore Options:** This setting ensures version history at key timestamps is always available for restore even on file with no new file edits.| -|**Manual** with Major Version Limit and Expiration Period set| Store versions only until the configured expiration period and within the configured major versions count limits.<br> With this setting, users have access to all versions within the count and expiration period.|**Storage Use:** This setting is the best option for ensuring the lowest quota impact from version storage as it trims versions that are older than the configured expiration.<br> <br> **Versions Restore Options:** When an expiration limit is set, it's possible for files with no recent edits to have all their versions trimmed if the updated version policy dictates that. For example, if a file doesn't get edited in six months and a six-month version expiration policy is in place, then all that fileΓÇÖs versions are deleted.| -|**Manual** with **Major Version Limits and No Time** set| Always store the configured count of versions regardless of version age. Users have access to all the versions within the count limit.| **Storage Use:** This setting can lead to high quota consumption from versions if you have a high ratio of heavily edited files or if you set the limits too high. <br><br> **Version Restore Options:** This setting is the best option for storing a set number of versions offering you predictable version storage behavior. | +|**Automatic** (Recommended) |Automatically optimize storage by storing versions based on their creation date.<br> With this setting, users have access to most of the recently created versions.<br> As versions age, fewer older versions are stored, keeping the few most likely needed ones. No other input is required from admins.| **Storage use:** Automatic setting is the recommended setting that offers your users access to high value versions while optimizing version storage use.<br> <br> **Restore options:** This setting ensures version history at key timestamps is always available for restore even on file with no new file edits.| +|**Manual** with Major Version Limit and Expiration Period set| Store versions only until the configured expiration period and within the configured major versions count limits.<br> With this setting, users have access to all versions within the count and expiration period.|**Storage use:** This setting is the best option for ensuring the lowest quota impact from version storage as it trims versions that are older than the configured expiration.<br> <br> **Restore options:** When an expiration limit is set, it's possible for files with no recent edits to have all their versions trimmed if the updated version policy dictates that. For example, if a file doesn't get edited in six months and a six-month version expiration policy is in place, then all that fileΓÇÖs versions are deleted.| +|**Manual** with **Major Version Limits and No Time** set| Always store the configured count of versions regardless of version age. Users have access to all the versions within the count limit.| **Storage use:** This setting can lead to high quota consumption from versions if you have a high ratio of heavily edited files or if you set the limits too high. <br><br> **Restore options:** This setting is the best option for storing a set number of versions offering you predictable version storage behavior. | ++> [!TIP] +> - Consider running a ΓÇÿWhat-ifΓÇÖ analysis report on a site or library to run impact analysis of applying either automatic or manual limits on version storage or users impacted before updating your default limits. +> - Provide information about default organization version history limits to your users. Tell site owners if you have a process and policy for requesting more. + The following image depicts the restore options and the storage use for each setting: Take an example of a file where 500 versions were created in May, June, and July :::image type="content" source="media/version-history/version-activity.png" lightbox="media/version-history/version-activity.png" alt-text="Screenshot of compare versions."::: -## Understand version storage under automatic limits +### Understand Version storage under Automatic limits -The algorithm behind automatic version history limits is based on the design principle that restores value of a version that degrades as the version ages. When Automatic limit is selected, SharePoint deletes (thins out) intermittent older versions that are least likely to be used, while preserving sufficient high-value versions. In case restores are required, it ensures that users have access to more versions in the recent past and fewer farther back in time. +The algorithm behind automatic version history limits is based on the design principle that restores value of a version degrades as the version ages. When Automatic limit is selected, SharePoint deletes (thins out) intermittent older versions that are least likely to be used, while preserving sufficient high-value versions. In case restores are required, it ensures that users have access to more versions in the recent past and fewer farther back in time. Version storage under Automatic setting is determined by the following algorithm: As versions are created, users have access to the following versions: -- **All versions** created within 500 count limit in first 30 days.-- **Hourly versions** (versions created at the top of the hour) between 30 to 60 day period.-- **Daily versions** (versions created at the beginning of each day) between 60 to 180 day period.-- **Weekly versions** (versions created at the beginning of the week) beyond 180 days or more are available indefinitely until the maximum 500 count limit has reached.+- All versions created within 500 count limit in first 30 days. +- Hourly versions (versions created at the top of the hour) between 30 to 60 day period. +- Daily versions (versions created at the beginning of each day) between 60 to 180 day period. +- Weekly versions (versions created at the beginning of the week) beyond 180 days or more are available indefinitely until the maximum 500 count limit has reached. The service trims the intermediate versions as the above milestones are reached. Take an example of file with a consistent version creation pattern between the m :::image type="content" source="media/version-history/automatic-limit-impact-version.png" lightbox="media/version-history/automatic-limit-impact-version.png" alt-text="Screenshot of automatic limit impact."::: -## Determine right count or expiration version limits +### Determine right Count or Expiration version limits In considering which limits to set, we recommend a balanced approach: In considering which limits to set, we recommend a balanced approach: - Setting count or expiration limits that are too low can result in data loss due to unrecoverable changes impacting your userΓÇÖs ability to undo unwanted changes, and other recovery scenarios. +## Identify any exceptions needed from organization defaults ++Since default organization settings are applied to all new document libraries created in your organization, you may need to set distinct version history limits on individual SharePoint Sites, OneDrive user accounts, or individual document libraries to meet business requirements. ++When diverging from the default limits, we recommend limiting the exceptions to maintain consistency with your organization's version storage practices and to keep your version storage policies in sync. For instance, evaluate if your business requirements can be met by breaking inheritance on a few document libraries instead of applying changes broadly across the entire site. ++## Decide if updates to organization version history limits will be applied to existing content +When updating your organizationΓÇÖs version limits, consider how existing library settings and file versions should be updated. Avoid impacting existing content by applying the organization limits to new libraries only or align your existing content to organization version limits by updating current library settings and trimming file versions. ++| If you want to | Steps to follow | +||| +| **Apply organization defaults to new libraries only:** | [Update default organization version limit new libraries](set-default-org-version-limits.md) to apply the new limits to all new libraries created in your organization without impacting existing content, including current limits set on existing libraries or existing file versions. | +| **Apply organization defaults to new libraries, update settings on existing libraries but do not trim existing versions:** | Follow these steps to manage new file versions created on new and existing libraries without impacting any existing file versions: <br> 1. [Update default organization version limit](set-default-org-version-limits.md) to apply the new limits to all new libraries created in your organization.<br> 2. [Update the limits on existing document libraries](site-version-limits.md) on each site without breaking inheritance to allow new document libraries created in the site to inherit the organization level version history limits. | +| **Apply organization defaults to new libraries, update the settings on existing libraries, and trim existing file versions:** |Follow these steps to fully align new and existing libraries and file versions to organization limits: <br> 1. [Update default organization version limit](set-default-org-version-limits.md) to apply the new limits to all new libraries created in your organization. <br> 2. [Update the limits on existing document libraries](site-version-limits.md) on each site without breaking inheritance to allow new document libraries created in the site to inherit the organization level version history limits. <br> 3. [Trim existing versions on each site](trim-versions.md) by queuing a job to permanently delete existing versions. | |
SharePoint | Trim Versions | https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commits/public/SharePoint/SharePointOnline/trim-versions.md | Before committing to trim existing versions, you can review the impact of the pu ## Version trim modes -Version trimming workflows allow you to select and apply one of the trimming modes for scheduling a trim job on a site, document library, or OneDrive account. +Version trimming workflows allow you to select and apply one of the trimming modes for queuing a trim job on a site, document library, or OneDrive account. **Manual expiration trim mode:** Evaluates the age of versions and deletes versions matching the expiration criteria. |
SharePoint | Tutorial Generate Version Usage Report | https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commits/public/SharePoint/SharePointOnline/tutorial-generate-version-usage-report.md | function Import-Dataset($DatasetFilePath) $Row."WebUrl.Compact" = [String]$Row."WebUrl.Compact" $Row."FileUrl.Compact" = [String]$Row."FileUrl.Compact" $Row."Size" = [Int64]$Row."Size"- $Row."ModifiedBy_UserId.Compact" = [Int32]$Row."ModifiedBy_UserId.Compact" + $Row."ModifiedBy_UserId.Compact" = [String]$Row."ModifiedBy_UserId.Compact" $Row."ModifiedBy_DisplayName.Compact" = [String]$Row."ModifiedBy_DisplayName.Compact" $Row."LastModifiedDate" = [DateTime]$Row."LastModifiedDate" $Row."SnapshotDate" = [DateTime]$Row."SnapshotDate" Write-Host "Total elapsed seconds: $($Timer.Elapsed.TotalSeconds)" -ForegroundCo Write-Host ``` -2. Open PowerShell 7 and run the following command, replacing the placeholder values with the appropriate values. +2. Open PowerShell and run the following command, replacing the placeholder values with the appropriate values. ++> [!NOTE] +> Use PowerShell 7 to run the commands. You can install PowerShell 7 by following these instructions: [Installing PowerShell on Windows - PowerShell | Microsoft Learn](/powershell/scripting/install/installing-powershell-on-windows). ```PowerShell . ΓÇ£<path to AnalyzeReportFile.ps1>ΓÇ¥ ΓÇôReportLocalFilePath ΓÇ£<path to the file version expiration What-If report .csv file>ΓÇ¥ |
SharePoint | Tutorial Run What If Analysis | https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commits/public/SharePoint/SharePointOnline/tutorial-run-what-if-analysis.md | description: "This article provides guidance on how to run 'What-If' analysis on # Tutorial: Run 'What-If' analysis on version storage report file (Preview) -In this tutorial, we discuss how to leverage provided scripts and excel examples to understand the impact of applying either automatic or manual limits on version storage or impacted users. You will learn how to: : +In this tutorial, we discuss how to leverage provided scripts and excel examples to understand the impact of applying either automatic or manual limits on version storage or impacted users. You will learn how to: - Run impact analysis of setting Automatic limits. - Run impact analysis of expiring versions older than specified days. $Schedule |    Export-Csv -Path $ExportPath -UseQuotes AsNeeded -NoTypeInformation ``` +> [!NOTE] +> Use PowerShell 7 to run the commands. You can install PowerShell 7 by following these instructions: [Installing PowerShell on Windows - PowerShell | Microsoft Learn](/powershell/scripting/install/installing-powershell-on-windows). + :::image type="content" source="media/version-history/expiration-automation.png" lightbox="media/version-history/expiration-automation.png" alt-text="Screenshot of expiration automation."::: ## Run impact analysis of setting manual expiration limits $Schedule |    Export-Csv -Path $ExportPath -UseQuotes AsNeeded -NoTypeInformation ``` +> [!NOTE] +> Use PowerShell 7 to run the commands. You can install PowerShell 7 by following these instructions: [Installing PowerShell on Windows - PowerShell | Microsoft Learn.](/powershell/scripting/install/installing-powershell-on-windows) ++ :::image type="content" source="media/version-history/manual-expiration.png" lightbox="media/version-history/manual-expiration.png" alt-text="Screenshot of manual expiration."::: ## Run impact analysis of setting manual count limits foreach ($FilesAndVersions in $FileToVersions.GetEnumerator()) $Schedule |    Export-Csv -Path $ExportPath -UseQuotes AsNeeded -NoTypeInformation ```+> [!NOTE] +> Use PowerShell 7 to run the commands. You can install PowerShell 7 by following these instructions: [Installing PowerShell on Windows - PowerShell | Microsoft Learn](/powershell/scripting/install/installing-powershell-on-windows). :::image type="content" source="media/version-history/manual-with-count-limits-b.png" lightbox="media/version-history/manual-with-count-limits-b.png" alt-text="Screenshot of manual with count limits-b."::: |