Skip to content
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

[FileVersion] Revision for set file version on site command #3428

Merged
merged 1 commit into from
Sep 21, 2023

Conversation

msjennywu
Copy link
Contributor

@msjennywu msjennywu commented Sep 20, 2023

Before creating a pull request, make sure that you have read the contribution file located at

https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md

Type

  • Revision
  • Bug Fix
  • New Feature
  • Sample

What is in this Pull Request ?

Revision for the set site version policy commands

Test scenarios

----Valid scenarios----
----Apply to both new and existing doc libs
--AutoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $true
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ApplyForNewLibs -ApplyForExistingLibs

--ExpireAfter
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100 -MinorVersions 10 -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 101 -MinorVersions 11 -ExpireVersionsAfterDays 201 -ApplyForNewLibs -ApplyForExistingLibs

--NoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 20 -ExpireVersionsAfterDays 0
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 11 -ExpireVersionsAfterDays 0 -ApplyForNewLibs -ApplyForExistingLibs

--Apply to new doc libs only
--AutoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ApplyForNewLibs

--ExpireAfter
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100 -ExpireVersionsAfterDays 200 -ApplyForNewLibs

--NoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -ExpireVersionsAfterDays 0 -ApplyForNewLibs

--Clear
Set-PnPSite -InheritTenantVPForNewDocLibs

----Apply to existing doc libs only
--AutoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ApplyForExistingLibs

--ExpireAfter
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 101 -MinorVersions 11 -ExpireVersionsAfterDays 201 -ApplyForExistingLibs

--NoExpiration
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 11 -ExpireVersionsAfterDays 0 -ApplyForExistingLibs

--Cancel request for existing doc libs
Set-PnPSite -CancelVPForExistingLibs

---- Invalid scenarios----
--(1) Don't specify version policy related parameters (EnableAutoExpirationVersionTrim, ExpireVersionsAfterDays, MajorVersions, MinorVersions, ApplyForNewLibs, ApplyForExistingLibs, CancelVPForExistingLibs) when InheritTenantVPForNewDocLibs is specified.
Set-PnPSite -InheritTenantVPForNewDocLibs -EnableAutoExpirationVersionTrim $true
Set-PnPSite -InheritTenantVPForNewDocLibs -MajorVersions 100
Set-PnPSite -InheritTenantVPForNewDocLibs -MinorVersions 50
Set-PnPSite -InheritTenantVPForNewDocLibs -ExpireVersionsAfterDays 100
Set-PnPSite -InheritTenantVPForNewDocLibs -ApplyForNewLibs
Set-PnPSite -InheritTenantVPForNewDocLibs -ApplyForExistingLibs
Set-PnPSite -InheritTenantVPForNewDocLibs -CancelVPForExistingLibs

--(2) Don't specify the VersionPolicy related parameters (ApplyForNewLibs, ApplyForExistingLibs, EnableAutoExpirationVersionTrim, ExpireVersionsAfterDays, MajorVersions) when CancelVPForExistingLibs is specified.
Set-PnPSite -CancelVPForExistingLibs -ApplyForNewLibs
Set-PnPSite -CancelVPForExistingLibs -ApplyForExistingLibs
Set-PnPSite -CancelVPForExistingLibs -EnableAutoExpirationVersionTrim $true
Set-PnPSite -CancelVPForExistingLibs -MajorVersions 100
Set-PnPSite -CancelVPForExistingLibs -MinorVersions 100
Set-PnPSite -CancelVPForExistingLibs -ExpireVersionsAfterDays 100

--(3) Don't specify ExpireVersionsAfterDays, MajorVersions and MinorVersions when EnableAutoExpirationVersionTrim is true.
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MajorVersions 100
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MinorVersions 5
Set-PnPSite -EnableAutoExpirationVersionTrim $true -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MajorVersions 100 -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $true -MajorVersions 100 -ExpireVersionsAfterDays 200 -MinorVersions 5

--(4) You must specify ExpireVersionsAfterDays, MajorVersions and don't specify MinorVersions when EnableAutoExpirationVersionTrim is false for new document libraries only.
Set-PnPSite -ApplyForNewLibs -EnableAutoExpirationVersionTrim $false
Set-PnPSite -ApplyForNewLibs -EnableAutoExpirationVersionTrim $false -ExpireVersionsAfterDays 100 -MajorVersions 200 -MinorVersions 5
Set-PnPSite -ApplyForNewLibs -EnableAutoExpirationVersionTrim $false -MinorVersions 5

--(5) You must specify ExpireVersionsAfterDays, MajorVersions and MinorVersions when EnableAutoExpirationVersionTrim is false for document libraries that including existing ones.
Set-PnPSite -EnableAutoExpirationVersionTrim $false -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 200 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -ExpireVersionsAfterDays 200 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 70 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -ExpireVersionsAfterDays 0 -ApplyForExistingLibs
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 70 -ExpireVersionsAfterDays 0 -ApplyForExistingLibs

Set-PnPSite -EnableAutoExpirationVersionTrim $false
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 100
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 200
Set-PnPSite -EnableAutoExpirationVersionTrim $false -ExpireVersionsAfterDays 200
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -MinorVersions 70
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MajorVersions 300 -ExpireVersionsAfterDays 0
Set-PnPSite -EnableAutoExpirationVersionTrim $false -MinorVersions 70 -ExpireVersionsAfterDays 0

--(6) You must specify EnableAutoExpirationVersionTrim and other version policy related parameters (ExpireVersionsAfterDays, MajorVersions, MinorVersions) when ApplyForNewLibs or ApplyForExistingLibs is specified.
Set-PnPSite -ApplyForNewLibs
Set-PnPSite -ApplyForExistingLibs

--(7) You must specify EnableAutoExpirationVersionTrim when ExpireVersionsAfterDays, MajorVersions or MinorVersions is specified.
Set-PnPSite -ExpireVersionsAfterDays 100
Set-PnPSite -MajorVersions 300
Set-PnPSite -MinorVersions 10

@msjennywu
Copy link
Contributor Author

@KoenZomers Could you please help to review this PR? Thanks as always!

@KoenZomers KoenZomers merged commit e1bb3ed into pnp:dev Sep 21, 2023
3 checks passed
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.

2 participants