[BUG] PnP Provisioning does not handle Dashboard Web Parts correctly
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 42/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- powershell
- 領域
- tooling
調査の方向性
Custom CanvasControl とそのシリアル化された JsonControlData の PnP プロビジョニング処理から始め、次に Home.aspx 上の DashboardId と dashboardURL の値を、プロビジョニングされた Dashboard.aspx と比較します。Dashboard.aspx、その ACEs、および Dashboard for Viva Connections web part を使用してシナリオを再現し、レンダリングされたカードが Get-PnPVivaConnectionsDashboardACE と一致することを確認します。
索引モデルが issue の本文から書いたものです。
説明
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-PnPVivaConnectionsDashboardACEreturns 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
dashboardURLpointing to Dashboard.aspx. - But the rendered cards may not match the ACE controls on Dashboard.aspx.
- 主要言語
- C#
- スター
- 910
- フォーク
- 407
- 平均マージ
- 2日 19時間
- マージ済み PR(30日)
- 12
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pnp/powershell のほかの issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
pnp/powershell#5476 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
pnp/powershell#5492 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
pnp/powershell#5485 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
pnp/powershell#5477 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
pnp/powershell#5466 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
dev/release: verify-release-candidate.sh runs 0 Java tests with Debian's Maven対応中かも @kou が今日担当しました。 オープンType: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
apache/arrow-adbc#4947 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
microsoft/fluentui-blazor#5535 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 74/100
AvaloniaUI/Avalonia#22582 ·
メンテナーはふだん 2 日以内に返信
-
:watch: Not Triaged CAC
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
dotnet/AspNetCore.Docs#38001 ·
メンテナーはふだん 1 日以内に返信
-
HTTP logging truncates catch-all route parameters in the formatted request path対応中かも @johnkaram02 が今日担当しました。 オープンarea-telemetry untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
dotnet/extensions#7883 ·
メンテナーはふだん 1 日以内に返信