Skip to content
This repository has been archived by the owner on Jan 19, 2021. It is now read-only.

Commit

Permalink
Merge pull request #1961 from SharePoint/dev
Browse files Browse the repository at this point in the history
March 2019 Release
  • Loading branch information
erwinvanhunen authored Mar 11, 2019
2 parents ea99fb5 + 4d68d55 commit 771c4f2
Show file tree
Hide file tree
Showing 121 changed files with 2,913 additions and 917 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

1. **Are you using ```Apply-SPOProvisioningTemplate``` or ```Get-SPOProvisioningTemplate```**? The issue is most likely related to the Provisioning Engine. The Provisioning engine is _not_ located in the PowerShell repo. Please report the issue here: https://github.com/officedev/PnP-Sites-Core/issues.
2. **Is the issue related to the cmdlet itself, its parameters, the syntax, or do you suspect it is the code of the cmdlet that is causing the issue?** Then please continue reporting the issue in this repo.
3. **If you think that the functionality might be related to the underlying libraries that the cmdlet is calling** (We realize that that might be difficult to determine), please first double check the code of the cmdlet, which can be found here: https://github.com/OfficeDev/PnP-PowerShell/tree/master/Commands. If related to the cmdlet, continue reporting the issue here, otherwise report the issue at https://github.com/officedev/PnP-Sites-Core/issues
3. **If you think that the functionality might be related to the underlying libraries that the cmdlet is calling** (We realize that might be difficult to determine), please first double check the code of the cmdlet, which can be found here: https://github.com/OfficeDev/PnP-PowerShell/tree/master/Commands. If related to the cmdlet, continue reporting the issue here, otherwise report the issue at https://github.com/officedev/PnP-Sites-Core/issues

### Reporting an Issue or Missing Feature
Please confirm what it is that your reporting
Expand Down
Binary file modified Binaries/SharePointPnP.Modernization.Framework.dll
Binary file not shown.
903 changes: 729 additions & 174 deletions Binaries/SharePointPnP.Modernization.Framework.xml

Large diffs are not rendered by default.

Binary file modified Binaries/release/SharePointPnP.Modernization.Framework.dll
Binary file not shown.
883 changes: 677 additions & 206 deletions Binaries/release/SharePointPnP.Modernization.Framework.xml

Large diffs are not rendered by default.

40 changes: 37 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,40 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).

## [3.8.1904.0] - unreleased

### Added

### Changed

### Contributors

## [3.7.1903.0]

### Added
- Added support for client side pages on SP2019
- Added support for ALM cmdlets (Add-PnPApp, Get-PnPApp etc.) on SP2019
- Added Add-PnPAlert cmdlet to create alerts (SPO and SP2019 only)
- Added Get-PnPAlert to list alerts (SPO and SP2019 only)
- Added Remove-PnPAlert to remove alerts (SPO and SP2019 only)
- Added support to Connect-PnPOnline authenticate to SharePoint Online when Legacy Authentication has been turned off (Set-PnPTenant -LegacyAuthProtocolsEnabled:$false / Set-SPOTenant -LegacyAuthProtocolsEnabled:$false)
- Support for cross site page transformation (create modern pages in other site then the one hosting the classic pages) via the TargetWebUrl parameter
- Support for page transformation mapping parameters (UseCommunityScriptEditor and SummaryLinksToHtml). The first one will use the community script editor as a possible modern target web part, the second one will transform the summarylinks web part to html text instead of the default QuickLinks web part

### Changed
- Many typo fixes in code
- Apply-PnPTenantTemplate will now list the sites created after applying a tenant template.
- Fixed an issue with Connect-PnPOnline throwing an exception when authenticating using the -SPOManagementShell parameter.
- Fixed connection issue with URL's containing spaces - #1250

### Contributors

- Heinrich Ulbricht [heinrich-ulbricht]
- Nick Schonning [nschonni]
- Koen Zomers [KoenZomers]
- Marvin Dickhaus [Weishaupt]
- Lars Fernhomberg [lafe]

## [3.6.1902.2]

### Added
Expand Down Expand Up @@ -137,7 +171,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
- Read-PnPProvisioningHierarchy : Reads an existing (file based) provisioning hierarchy into an in-memory instance
- Save-PnPProvisioningHierarchy : Saves an in-memory provisioning hierarchy to a pnp file
- Test-PnPProvisioningHierarchy : Tests an in-memory hierarchy if all template references are correct in the site sequence
- Get-PnPException : Returns the last occured exception that occured while using PowerShell.
- Get-PnPException : Returns the last occurred exception that occurred while using PowerShell.

### Changed
- Updated Set-PnPSite to allow for setting of a logo on modern team site
Expand Down Expand Up @@ -182,7 +216,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).

## [2.27.1806.0]
### Added
- Added Grant-PnPTenantServicePrincipalPermission to explicitely grant a permission on a resource for the tenant.
- Added Grant-PnPTenantServicePrincipalPermission to explicitly grant a permission on a resource for the tenant.

### Changed
- Fixed edge cases where progress sent to PowerShell would be null, causing the provisioning of a template to end prematurely.
Expand Down Expand Up @@ -567,7 +601,7 @@ jensotto

**2015-07-13**

* Added additional functionality for connect-sponline in resolving credentials. If no credentials are specified throught the -Credentials parameter, a query is done against the Windows Credentials Manager to retrieve credentials. First is checked for the full URL of the connect request, e.g. https://yourserver/sites/yoursite. If no credential is found for that entry, a query is done for for https://yourserver/sites. If no credential is found that entry, a query is done for https://yourserver, if no credential is found for that entry a query is done for 'yourserver'. So:
* Added additional functionality for connect-sponline in resolving credentials. If no credentials are specified throught the -Credentials parameter, a query is done against the Windows Credentials Manager to retrieve credentials. First is checked for the full URL of the connect request, e.g. https://yourserver/sites/yoursite. If no credential is found for that entry, a query is done for https://yourserver/sites. If no credential is found that entry, a query is done for https://yourserver, if no credential is found for that entry a query is done for 'yourserver'. So:
```
Connect-SPOnline -Url https://yourtenant.sharepoint.com/sites/demosite
```
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Please see following page for additional insights on the model.

Once you have downloaded the code, in the folder with the PnP PowerShell source code, open the solution file SharePointPnP.PowerShell.sln.

If you have set up up the projects and you are ready to build the source code, make sure to build the SharePointPnP.PowerShellModuleFilesGenerator project first. This project will be executed after every build and it will generate the required PSD1 and XML files with cmdlet documentation in them.
If you have set up the projects and you are ready to build the source code, make sure to build the SharePointPnP.PowerShellModuleFilesGenerator project first. This project will be executed after every build and it will generate the required PSD1 and XML files with cmdlet documentation in them.

When you build the solution a postbuild script will copy the required files to a folder in your users folder called
*C:\Users\\\<YourUserName\>\Documents\WindowsPowerShell\Modules\SharePointPnPPowerShell\<Platform\>*. During build also the help and document files will be generated. If you have a session of PowerShell open in which you have used the PnP Cmdlets, make sure to close this PowerShell session first before you build. You will receive a build error otherwise because it tries to overwrite files that are in use.
Expand Down Expand Up @@ -82,7 +82,7 @@ public class MyCmdlet : SPOWebCmdlet
#endif
```

If only parts of a cmdlet require different behaviour based upon the different version of the SDK, you are recommended to use the #ONPREMISES or other available preprocessor variable throughout your code to exclude or include certain code.
If only parts of a cmdlet require different behavior based upon the different version of the SDK, you are recommended to use the #ONPREMISES or other available preprocessor variable throughout your code to exclude or include certain code.

### Cmdlets will have to use common verbs

Expand Down
2 changes: 1 addition & 1 deletion Commands/Admin/AddTenantTheme.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace SharePointPnP.PowerShell.Commands.Admin
{
[Cmdlet(VerbsCommon.Add, "PnPTenantTheme")]
[CmdletHelp("Adds or updates a theme to the tenant.",
DetailedDescription = @"Adds or updates atheme to the tenant.",
DetailedDescription = @"Adds or updates a theme to the tenant.",
SupportedPlatform = CmdletSupportedPlatform.Online,
Category = CmdletHelpCategory.TenantAdmin)]
[CmdletExample(
Expand Down
12 changes: 6 additions & 6 deletions Commands/Admin/SetTenant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ namespace SharePointPnP.PowerShell.Commands.Admin
Remarks = @"This example enables the use of special persisted cookie for Open with Explorer.", SortOrder = 3)]
public class SetTenant : PnPAdminCmdlet
{
const string ParameterSet_COMPATIBILITYLEVEL = "Compabitility Level";
const string ParameterSet_COMPATIBILITYLEVEL = "Compatibility Level";

[Parameter(Mandatory = false, ParameterSetName = ParameterAttribute.AllParameterSets, HelpMessage = "Specifies the lower bound on the compatibility level for new sites.")]
public int MinCompatibilityLevel;
Expand Down Expand Up @@ -90,7 +90,7 @@ External services are defined as services that are not in the Office 365 datacen

[Parameter(Mandatory = false, HelpMessage = @"Enables the administrator to hide the All Users claim groups in People Picker.
When users share an item with ""All Users (x)"", it is accessible to all organization members in the tenant's Azure Active Directory who have authenticated with via this method. When users share an item with ""All Users (x)"" it is accessible to all organtization members in the tenant that used NTLM to authentication with SharePoint.
When users share an item with ""All Users (x)"", it is accessible to all organization members in the tenant's Azure Active Directory who have authenticated with via this method. When users share an item with ""All Users (x)"" it is accessible to all organization members in the tenant that used NTLM to authentication with SharePoint.
Note, the All Users(authenticated) group is equivalent to the Everyone claim, and shows as Everyone.To change this, see - ShowEveryoneClaim.
Expand Down Expand Up @@ -190,11 +190,11 @@ This value should be configured with the login domain that is used by your compa
True - Generates a special cookie that will allow ""Open with Explorer"" to function if the ""Keep Me Signed In"" box is not checked at sign -in.")]
public bool? UsePersistentCookiesForExplorerView;

[Parameter(Mandatory = false, HelpMessage = @"When the feature is enabled, all external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingsInvitationList.
[Parameter(Mandatory = false, HelpMessage = @"When the feature is enabled, all external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingInvitationsList.
The valid values are:
False (default) - BCC for external sharing is disabled.
True - All external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingsInvitationList.")]
True - All external sharing invitations that are sent will blind copy the e-mail messages listed in the BccExternalSharingInvitationsList.")]
public bool? BccExternalSharingInvitations;

[Parameter(Mandatory = false, HelpMessage = @"Specifies a list of e-mail addresses to be BCC'd when the BCC for External Sharing feature is enabled.
Expand Down Expand Up @@ -340,7 +340,7 @@ Multiple addresses can be specified by creating a comma separated list with no s
[Parameter(Mandatory = false)]
public bool? NotificationsInSharePointEnabled;

[Parameter(Mandatory = false, HelpMessage = @"ermits the use of special characters in file and folder names in SharePoint Online and OneDrive for Business document libraries.
[Parameter(Mandatory = false, HelpMessage = @"Permits the use of special characters in file and folder names in SharePoint Online and OneDrive for Business document libraries.
Note:
The only two characters that can be managed at this time are the # and % characters.
Expand Down Expand Up @@ -925,7 +925,7 @@ protected override void ExecuteCmdlet()
}
catch (PropertyOrFieldNotInitializedException)
{
throw new InvalidOperationException("Setting the property FilePickerExternalImageSearchEanbled is not supported by your version of the service");
throw new InvalidOperationException("Setting the property FilePickerExternalImageSearchEnabled is not supported by your version of the service");
}
isDirty = true;
}
Expand Down
4 changes: 2 additions & 2 deletions Commands/Admin/SetTenantSite.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public class SetTenantSite : PnPAdminCmdlet
[Parameter(Mandatory = false, HelpMessage = "Specifies the title of the site", ParameterSetName = ParameterSet_PROPERTIES)]
public string Title;

[Parameter(Mandatory = false, HelpMessage = "Specifies what the sharing capablilites are for the site. Possible values: Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, ExistingExternalUserSharingOnly", ParameterSetName = ParameterSet_PROPERTIES)]
[Parameter(Mandatory = false, HelpMessage = "Specifies what the sharing capabilities are for the site. Possible values: Disabled, ExternalUserSharingOnly, ExternalUserAndGuestSharing, ExistingExternalUserSharingOnly", ParameterSetName = ParameterSet_PROPERTIES)]
public SharingCapabilities? Sharing = null;

[Parameter(Mandatory = false, HelpMessage = "Specifies the storage quota for this site collection in megabytes. This value must not exceed the company's available quota.", ParameterSetName = ParameterSet_PROPERTIES)]
Expand All @@ -60,7 +60,7 @@ public class SetTenantSite : PnPAdminCmdlet
[Parameter(Mandatory = false, HelpMessage = "Specifies if the site administrator can upgrade the site collection", ParameterSetName = ParameterSet_PROPERTIES)]
public SwitchParameter? AllowSelfServiceUpgrade = null;

[Parameter(Mandatory = false, HelpMessage = "Specifies owner(s) to add as site collection adminstrators. They will be added as additional site collection administrators. Existing administrators will stay. Can be both users and groups.", ParameterSetName = ParameterSet_PROPERTIES)]
[Parameter(Mandatory = false, HelpMessage = "Specifies owner(s) to add as site collection administrators. They will be added as additional site collection administrators. Existing administrators will stay. Can be both users and groups.", ParameterSetName = ParameterSet_PROPERTIES)]
public List<string> Owners;

[Parameter(Mandatory = false, HelpMessage = "Sets the lockstate of a site", ParameterSetName = ParameterSet_LOCKSTATE)]
Expand Down
4 changes: 2 additions & 2 deletions Commands/Apps/AddApp.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if !ONPREMISES
#if !SP2013 && !SP2016
using OfficeDevPnP.Core.ALM;
using OfficeDevPnP.Core.Enums;
using SharePointPnP.PowerShell.CmdletHelpAttributes;
Expand All @@ -9,7 +9,7 @@ namespace SharePointPnP.PowerShell.Commands.Apps
{
[Cmdlet(VerbsCommon.Add, "PnPApp")]
[CmdletHelp("Add/uploads an available app to the app catalog",
Category = CmdletHelpCategory.Apps, SupportedPlatform = CmdletSupportedPlatform.Online,
Category = CmdletHelpCategory.Apps, SupportedPlatform = CmdletSupportedPlatform.Online | CmdletSupportedPlatform.SP2019,
OutputType = typeof(AppMetadata))]
[CmdletExample(
Code = @"PS:> Add-PnPApp -Path ./myapp.sppkg",
Expand Down
6 changes: 3 additions & 3 deletions Commands/Apps/GetApp.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if !ONPREMISES
#if !SP2013 && !SP2016
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
Expand All @@ -15,7 +15,7 @@ namespace SharePointPnP.PowerShell.Commands.Apps
[Cmdlet(VerbsCommon.Get, "PnPApp")]
[CmdletHelp("Returns the available apps from the app catalog",
Category = CmdletHelpCategory.Apps,
OutputType = typeof(List<AppMetadata>), SupportedPlatform = CmdletSupportedPlatform.Online)]
OutputType = typeof(List<AppMetadata>), SupportedPlatform = CmdletSupportedPlatform.Online | CmdletSupportedPlatform.SP2019)]
[CmdletExample(
Code = @"PS:> Get-PnPApp",
Remarks = @"This will return all available apps from the tenant app catalog. It will list the installed version in the current site.",
Expand All @@ -26,7 +26,7 @@ namespace SharePointPnP.PowerShell.Commands.Apps
SortOrder = 2)]
[CmdletExample(
Code = @"PS:> Get-PnPApp -Identity 2646ccc3-6a2b-46ef-9273-81411cbbb60f",
Remarks = @"This willr retrieve the specific app from the app catalog.",
Remarks = @"This will retrieve the specific app from the app catalog.",
SortOrder = 3)]
public class GetApp : PnPCmdlet
{
Expand Down
4 changes: 2 additions & 2 deletions Commands/Apps/GrantTenantServicePrincipalPermission.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
namespace SharePointPnP.PowerShell.Commands.Apps
{
[Cmdlet(VerbsSecurity.Grant, "PnPTenantServicePrincipalPermission")]
[CmdletHelp(@"Explicitely grants a specified permission to the ""SharePoint Online Client"" service principal",
[CmdletHelp(@"Explicitly grants a specified permission to the ""SharePoint Online Client"" service principal",
Category = CmdletHelpCategory.Apps, SupportedPlatform = CmdletSupportedPlatform.Online,
OutputType = typeof(AppMetadata))]
[CmdletExample(
Code = @"PS:> Grant-PnPTenantServicePrincipalPermission -Scope ""Group.Read.All"" -Resource ""Microsoft Graph""",
Remarks = @"This will explicitely grant the Group.Read.All permission on the Microsoft Graph resource", SortOrder = 1)]
Remarks = @"This will explicitly grant the Group.Read.All permission on the Microsoft Graph resource", SortOrder = 1)]
public class GrantTenantServicePrincipalPermission : PnPAdminCmdlet
{
[Parameter(Mandatory = true, HelpMessage = "The scope to grant the permission for")]
Expand Down
4 changes: 2 additions & 2 deletions Commands/Apps/InstallApp.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if !ONPREMISES
#if !SP2013 && !SP2016
using OfficeDevPnP.Core.ALM;
using OfficeDevPnP.Core.Enums;
using SharePointPnP.PowerShell.CmdletHelpAttributes;
Expand All @@ -11,7 +11,7 @@ namespace SharePointPnP.PowerShell.Commands.Apps
{
[Cmdlet(VerbsLifecycle.Install, "PnPApp")]
[CmdletHelp("Installs an available app from the app catalog",
Category = CmdletHelpCategory.Apps, SupportedPlatform = CmdletSupportedPlatform.Online)]
Category = CmdletHelpCategory.Apps, SupportedPlatform = CmdletSupportedPlatform.Online | CmdletSupportedPlatform.SP2019)]
[CmdletExample(
Code = @"PS:> Install-PnPApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe",
Remarks = @"This will install an app that is available in the tenant scoped app catalog, specified by the id, to the current site.",
Expand Down
4 changes: 2 additions & 2 deletions Commands/Apps/PublishApp.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if !ONPREMISES
#if !SP2013 && !SP2016
using OfficeDevPnP.Core.Enums;
using SharePointPnP.PowerShell.CmdletHelpAttributes;
using SharePointPnP.PowerShell.Commands.Base.PipeBinds;
Expand All @@ -9,7 +9,7 @@ namespace SharePointPnP.PowerShell.Commands.Apps
{
[Cmdlet(VerbsData.Publish, "PnPApp")]
[CmdletHelp("Publishes/Deploys/Trusts an available app in the app catalog",
Category = CmdletHelpCategory.Apps, SupportedPlatform = CmdletSupportedPlatform.Online)]
Category = CmdletHelpCategory.Apps, SupportedPlatform = CmdletSupportedPlatform.Online | CmdletSupportedPlatform.SP2019)]
[CmdletExample(
Code = @"PS:> Publish-PnPApp -Identity 2646ccc3-6a2b-46ef-9273-81411cbbb60f",
Remarks = @"This will deploy/trust an app into the app catalog. Notice that the app needs to be available in the tenant scoped app catalog", SortOrder = 1)]
Expand Down
4 changes: 2 additions & 2 deletions Commands/Apps/RemoveApp.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if !ONPREMISES
#if !SP2013 && !SP2016
using OfficeDevPnP.Core.Enums;
using SharePointPnP.PowerShell.CmdletHelpAttributes;
using SharePointPnP.PowerShell.Commands.Base.PipeBinds;
Expand All @@ -8,7 +8,7 @@
namespace SharePointPnP.PowerShell.Commands.Apps
{
[Cmdlet(VerbsCommon.Remove, "PnPApp")]
[CmdletHelp("Removes an app from the app catalog", SupportedPlatform = CmdletSupportedPlatform.Online,
[CmdletHelp("Removes an app from the app catalog", SupportedPlatform = CmdletSupportedPlatform.Online | CmdletSupportedPlatform.SP2019,
Category = CmdletHelpCategory.Apps)]
[CmdletExample(
Code = @"PS:> Remove-PnPApp -Identity 99a00f6e-fb81-4dc7-8eac-e09c6f9132fe",
Expand Down
Loading

0 comments on commit 771c4f2

Please sign in to comment.