pnp / modernization

All modernization tooling and guidance
http://aka.ms/sppnp-modernize
MIT License
157 stars 86 forks source link

Issue: Convert-ToPnPPage encounters critical errors during transformation of page when using the -Folder "<root>" parameter #671

Open Nikaedemus opened 2 months ago

Nikaedemus commented 2 months ago

Problem Area

[ x] Page Transformation: Error during the use of page transformation from PnP PowerShell [ ] Page Transformation: Error during the use of page transformation from .Net [ ] Page Transformation: Page is not looking correct after transformation [ ] Modernization Scanner: something went wrong...

Expected or Desired Behavior

We are attempting to transform a page when using a cross site transformation from an on-prem SharePoint 2016 site to a modern SharePoint Online communication site. The page exists in the root of the source site at /[SiteName]/default.aspx and is the site home page. We are using the cmdlet with the -Folder "" parameter. Our expected behaviour is that the page is transformed and copied to the target site 'Site Pages' library.

Observed Behavior

The operation is failing with a critical error and the error message states: "Site does not have a sitepages library and therefore this page can't be a client side page." The target site does however have a site pages library and using the cmdlet to copy publishing pages from the source site Pages library to the target site Site Pages library has been successful.

Full Summary Report:

Modernization Summary Report

Date Duration Source Page Target Page Url Status
02/08/2024 12:08:14 00:00:01 /Diversity/default.aspx []() A issue prevented successful transformation

Errors during transformation

Date Source Page Operation Message
02/08/2024 12:08:15 /Diversity/default.aspx Load Site does not have a sitepages library and therefore this page can't be a client side page.
02/08/2024 12:08:16 /Diversity/default.aspx Summary A critical error occurred - transformation did not complete at PnP.Framework.Modernization.Pages.WebPartPageOnPremises.Analyze(Boolean includeTitleBarWebPart)

at PnP.Framework.Modernization.Transform.PageTransformator.Transform(PageTransformationInformation pageTransformationInformation)

Critical Errors during transformation

02/08/2024 12:08:16 - /Diversity/default.aspx

Object reference not set to an instance of an object. at PnP.Framework.Modernization.Pages.WebPartPageOnPremises.Analyze(Boolean includeTitleBarWebPart) at PnP.Framework.Modernization.Transform.PageTransformator.Transform(PageTransformationInformation pageTransformationInformation)

Individual Page details

Transformation Details: /Diversity/default.aspx

Page Transformation Settings

Property Setting
Engine version 1.16.1.0
Target Page Takes Source Page Name False
Target Page Prefix Migrated_
Source Page Prefix Previous_
Copy Page Metadata False
Set Author In Page Header False
Replace Home Page With Default Home Page False
Overwrite False
Target Page Name
Target Page Folder
Target Page Folder Overrides Default Folder False
Keep Page Specific Permissions True
Remove Empty Sections And Columns True
Handle Wiki Images And Videos True
Add Table List Image As Image Web Part True
Keep Page Creation Modification Information False
Publish Created Page True
Post As News False
Disable Page Comments False
Skip Url Rewrite False
Skip Default Url Rewrite False
Url Mapping File
Skip Hidden Web Parts False
Term Mapping File
Skip Term Store Mapping False
Skip User Mapping False
User Mapping File
L D A P Connection String
Skip Telemetry False

Transformation Operation Details

Date Operation Actions Performed
02/08/2024 12:08:14 Input Validation Page is loaded from outside a library
02/08/2024 12:08:14 Input Validation Validation checks complete
02/08/2024 12:08:14 SharePoint Connection Loading client context objects
02/08/2024 12:08:15 SharePoint Connection Loading target client context object
02/08/2024 12:08:15 SharePoint Connection Overriding 'TargetPageTakesSourcePageName' to ensure that the newly created page in the other site collection gets the same name as the source page
02/08/2024 12:08:15 Page Creation Detect if the page is living inside a folder
02/08/2024 12:08:15 Page Creation Just try to load the page in the fastest possible manner, we only want to see if the page exists or not
02/08/2024 12:08:15 Page Creation Checking Page Exists
02/08/2024 12:08:15 Page Creation Modern page created
02/08/2024 12:08:15 Home page handling Check if the transformed page is the web's home page
02/08/2024 12:08:15 Article page handling Transforming source page as Article page
02/08/2024 12:08:15 Article page handling Page Header Set to None. Removing the page header
02/08/2024 12:08:15 Article page handling Recognized source page as a Web Part Page. Analyzing web parts and page layouts

Steps to Reproduce

Source site is on-prem SP2016 site. Source page is default.aspx in the root of the site. Target site is a standard SharePoint Online Communication site.

Using PnP.PowerShell module v2.5.11 ConvertTo-PnPPage -Identity $PageName -TargetConnection $target -LogVerbose -Folder "" -LogType File -LogFolder c:\temp -Connection $source -ErrorAction Stop

Get-PnPException has no output.