Related to #5374
Summary
When provisioning a Communication Site using a PnP Provisioning template, the Dashboard for Viva Connections web part on Home.aspx may not render the ACEs stored on Dashboard.aspx.
The issue appears related to the web part’s serialized personalizationData.DashboardId, which includes the Site Pages list item ID of Dashboard.aspx.
The DashboardId has this shape: {sitecollectionid}_{siteid}_{sitePagesListId}_{dashboardPageListItemId}
So, the provisioned web part can end up pointing at the wrong dashboard (page) item unless the token is correctly resolved or post-processed. When this is the case, the Dashboard Web Part displays the default set of ACEs instead of those in Dashboard.aspx.
I think this all stems from the fact that PnP Provisioning treats the Dashboard Web Part as a Custom Web Part. Here is the relevant section of the XML:
<pnp:CanvasControl WebPartType="Custom" JsonControlData="{"webPartId":"9cc0f495-db64-4d74-b06b-a3de16231fe1","rteInstanceId":null,"addedFromPersistedData":true,"reservedHeight":243,"reservedWidth":1204,"controlType":3,"id":"d8c79f95-65f8-4b12-b558-85fbf55fa1a7","position":{"controlIndex":3,"zoneIndex":5,"sectionIndex":1,"sectionFactor":100,"layoutIndex":1,"zoneId":"fb7ff564-69ef-49d3-a5e2-2a049096ce08"},"emphasis":{"zoneEmphasis":0},"flexibleLayoutPosition":{"lg":{"x":0,"y":4,"w":70,"h":14}},"properties":{"numVisibleCards":6,"dashboardURL":"https://{fqdn}{site}/SitePages/Dashboard.aspx","personalizationData":{"DashboardId":"{sitecollectionid}_{siteid}_{listid:Site Pages}_7","DashboardFormFactor":"Mobile","DashboardCardDetails":[],"LastModifiedDate":"2026-06-30T20:58:14.8267543Z"},"title":" "},"serverProcessedContent":{"htmlStrings":{},"searchablePlainTexts":{},"imageSources":{},"links":{}},"dynamicDataPaths":{},"dynamicDataValues":{},"dataVersion":"1.0"}" ControlId="9cc0f495-db64-4d74-b06b-a3de16231fe1" Order="3" Column="1" />
Expected behavior
When a site is provisioned with:
- Dashboard.aspx
- ACEs on Dashboard.aspx
- a Dashboard for Viva Connections web part on Home.aspx
…the Dashboard web part should render the same ACEs returned by:
Get-PnPVivaConnectionsDashboardACE
Actual behavior
After provisioning:
- Dashboard.aspx contains the expected ACEs.
Get-PnPVivaConnectionsDashboardACE returns the expected ACEs.
- But the Dashboard for Viva Connections web part on Home.aspx may show a different set of ACEs.
- Clicking See all from the Dashboard web part opens a URL like:
/sites/[siteName]/_layouts/15/sharepointapp.aspx?disableRedirect=true&isFromDashboardWP=true
rather than directly rendering the Dashboard.aspx page canvas.
This makes troubleshooting confusing because:
- Dashboard.aspx may appear correct - but not usually because the ACEs don't seem to be provisioned correctly, either.
- The Dashboard web part has
dashboardURL pointing to Dashboard.aspx.
- But the rendered cards may not match the ACE controls on Dashboard.aspx.
Related to #5374
Summary
When provisioning a Communication Site using a PnP Provisioning template, the Dashboard for Viva Connections web part on Home.aspx may not render the ACEs stored on Dashboard.aspx.
The issue appears related to the web part’s serialized personalizationData.DashboardId, which includes the Site Pages list item ID of Dashboard.aspx.
The
DashboardIdhas this shape:{sitecollectionid}_{siteid}_{sitePagesListId}_{dashboardPageListItemId}So, the provisioned web part can end up pointing at the wrong dashboard (page) item unless the token is correctly resolved or post-processed. When this is the case, the Dashboard Web Part displays the default set of ACEs instead of those in Dashboard.aspx.
I think this all stems from the fact that PnP Provisioning treats the Dashboard Web Part as a Custom Web Part. Here is the relevant section of the XML:
<pnp:CanvasControl WebPartType="Custom" JsonControlData="{"webPartId":"9cc0f495-db64-4d74-b06b-a3de16231fe1","rteInstanceId":null,"addedFromPersistedData":true,"reservedHeight":243,"reservedWidth":1204,"controlType":3,"id":"d8c79f95-65f8-4b12-b558-85fbf55fa1a7","position":{"controlIndex":3,"zoneIndex":5,"sectionIndex":1,"sectionFactor":100,"layoutIndex":1,"zoneId":"fb7ff564-69ef-49d3-a5e2-2a049096ce08"},"emphasis":{"zoneEmphasis":0},"flexibleLayoutPosition":{"lg":{"x":0,"y":4,"w":70,"h":14}},"properties":{"numVisibleCards":6,"dashboardURL":"https://{fqdn}{site}/SitePages/Dashboard.aspx","personalizationData":{"DashboardId":"{sitecollectionid}_{siteid}_{listid:Site Pages}_7","DashboardFormFactor":"Mobile","DashboardCardDetails":[],"LastModifiedDate":"2026-06-30T20:58:14.8267543Z"},"title":" "},"serverProcessedContent":{"htmlStrings":{},"searchablePlainTexts":{},"imageSources":{},"links":{}},"dynamicDataPaths":{},"dynamicDataValues":{},"dataVersion":"1.0"}" ControlId="9cc0f495-db64-4d74-b06b-a3de16231fe1" Order="3" Column="1" />Expected behavior
When a site is provisioned with:
…the Dashboard web part should render the same ACEs returned by:
Get-PnPVivaConnectionsDashboardACEActual behavior
After provisioning:
Get-PnPVivaConnectionsDashboardACEreturns the expected ACEs./sites/[siteName]/_layouts/15/sharepointapp.aspx?disableRedirect=true&isFromDashboardWP=truerather than directly rendering the Dashboard.aspx page canvas.
This makes troubleshooting confusing because:
dashboardURLpointing to Dashboard.aspx.