重要
モダン化ツールと他のすべての PnP コンポーネントは、それらをサポートしてくれるアクティブなコミュニティによって支援されているオープン ソース ツールです。 公式の Microsoft サポート チャネルのオープン ソース ツールのサポート用 SLA ではありません。
SharePoint は、SharePoint 2010 の時点でブログ サイト テンプレートを介してクラシック ブログのサポートを開始し、現在、ブログ ページを含むこれらのブログ サイトは SharePoint Online で動作します。 しかし、ブログの作成と公開のエクスペリエンス全体は、最新のコミュニケーション サイトの最新のページと比較すると、非常に時代遅れです。 したがって、今後のブログ ニーズには最新のコミュニケーション サイトを使用することをお勧めします。 最新のコミュニケーション サイトの最新のページに "アップグレード" したいブログ ページを含むブログ サイトがある場合は、この記事で説明する手順を実行します。
上記のクラシック ブログ ページの隣に、SharePoint Online ユーザーは Delve ブログを使用することもできます。 Delve ブログは非推奨となるため、ビジネスに関連する Delve ブログ ページを最新のコミュニケーション サイトで最新のページに変換することを強くお勧めします。
重要
Delve ブログは廃止されました。
手順 1: テナントで積極的に使用されているブログがある場所を理解する
ブログ サイトのモダナイゼーションを開始する前に、次の質問に答えることが重要です。
- テナント内のブログ サイトはどこにありますか? ブログ サイトで洞察を得ると、モダナイゼーションの可能性の影響を評価するのに役立ちます
- どのブログ サイトが今でも積極的に利用されていますか? (最初は)アクティブに管理されているブログサイトのみを最新化するのが理にかなっています
Microsoft 365 評価ツールの従来の SharePoint ページの評価を実行して、従来のブログ ページを検出し、その使用状況を確認します。 既存の SharePoint 最新化スキャナーの実行からの出力を解釈する必要がある場合は、 従来のブログ レポートのドキュメントを参照してください。
手順 2: 最新のブログ ページを受け取るためにターゲット コミュニケーション サイトを準備する
クラシックおよび Delve ブログ投稿は、クラシック ブログ サイトまたは Delve ブログのいずれかのリストに存在します。これらのブログ投稿を最新化すると、モダン サイト (通常はコミュニケーション サイト) に存在する最新のページになります。 したがって、ブログの最新化を開始する前に、まずコミュニケーション サイトを利用できるようにする必要があります。 ブログのメタデータ (ブログ投稿カテゴリなど) をコピーしたい場合に応じて、それに応じて SitePages ライブラリを構成する必要があります。
手順 2.1: コミュニケーション サイトの作成
コミュニケーション サイトを作成するには、SharePoint ユーザー インターフェイスを使用するか、 PnP PowerShell を使用します。 SharePoint ユーザー インターフェイスを使用して、次のことを行います。
- SharePoint ホーム (左上のワッフル アイコン --> SharePoint ) に移動します
- [サイトの作成] をクリックします
- コミュニケーション サイトをクリックします
- サイトに名前を付け、[完了] をクリックします
PnP PowerShell を使用している場合は、次の手順に従います。
# Connect to a site in your tenant
Connect-PnPOnline -Url https://contoso.sharepoint.com
# Create a new communication site based upon an English template
New-PnPSite -Type CommunicationSite -SiteDesign Topic -Url https://contoso.sharepoint.com/sites/modernblog -Title "Blog site" -Lcid 1033
注:
PnP PowerShell はオープン ソース ソリューションであり、アクティブなコミュニティでサポートが提供されています。 Microsoft からのオープン ソース ツールのサポート SLA はありません。
手順 2.2: 通信サイトの構成
注:
Delve ブログを最新化する場合は、この手順を省略できます。
従来のブログ投稿には、最新のブログ ページで引き継ぐ 1 つ以上のメタデータ フィールドを含めることができます。 その場合は、最新のコミュニケーション サイトの SitePages ライブラリで必要なメタデータ フィールドを定義する必要があります。 これは、SharePoint ユーザー インターフェイスを使用して次の方法で行うことができます。
- 上部のナビゲーションで ページ をクリックする
- [ + 列の追加 ] をクリックし、必要な列を定義します
最もよく使用されるメタデータ フィールドは、作成されたブログ投稿を分類するために使用される PostCategory フィールドです。 従来のブログでは、これは検索列ですが、最新のブログ サイトでは、 複数値の選択フィールドとして作成する必要があります。
PnP PowerShell を使用している場合は、次の手順に従います。
# Connect to the communication site you created in the previous step
Connect-PnPOnline -Url https://contoso.sharepoint.com/sites/modernblog
# Add the field to the SitePages library
Add-PnPField -List "SitePages" -DisplayName "PostCategory" -InternalName "PostCategory" -Type MultiChoice -AddToDefaultView -Choices "Events","Ideas","Opinions"
手順 3a: 従来のブログ ページを最新のページに変換する
注:
Delve ブログを最新化する場合は、手順 3b を参照してください。
ブログの最新化プロセスの最後のステップは、従来のブログ投稿を最新のページに変換することです。 これは、 SharePoint ページ変換を使用して行うことができます。これにより、SharePoint 2010、SharePoint 2013、SharePoint 2016、SharePoint 2019、または SharePoint Online のクラシック ページ (Wiki、Web パーツ、ブログ、または発行ページ) を 読み取り、SharePoint Online でページをモダン ページとして作成できます。 このガイダンスでは、SharePoint Online にある従来のブログ ページを SharePoint Online の最新のページに変換する方法を示していますが、同じロジックを適用して、従来のオンプレミスのブログを SharePoint Online の最新のコミュニケーション サイトに変換できます。
ブログ ページ変換を実行するには、 PnP PowerShell を使用する必要があります。 次のスニペットは、モダン ページで 1 つのクラシック ブログ投稿を変換する方法を示しています。
# Connect to the classic blog site
Connect-PnPOnline -Url https://contoso.sharepoint.com/sites/classicblog
# Convert the blog post with title 'Financial results Q1 2019'
ConvertTo-PnPPage -BlogPage -Identity "Financial results Q1 2019" -Overwrite -TargetWebUrl https://contoso.sharepoint.com/sites/modernblog -LogType File -LogVerbose -LogFolder "c:\temp" -KeepPageCreationModificationInformation -PostAsNews -SetAuthorInPageHeader -CopyPageMetadata
上記の ConvertTo-PnPPage コマンドレットは、「財務結果 2019 年第 1 四半期」というタイトルのクラシック ブログ ページを読み取り、以前に作成したモダン ブログ サイト (https://contoso.sharepoint.com/sites/modernblog) にモダン ページとして作成します。 ブログ ページの変換では、次のことが可能になります。
- クラシック ブログ ページの作成者、編集者、作成者、変更された情報を保持する (
-KeepPageCreationModificationInformation) - モダン ブログ ページ ヘッダー (
-SetAuthorInPageHeader) でクラシック ブログ ページの作成者を作成者として設定する - 同じフィールドがモダン ブログ (
-CopyPageMetadata) に存在する場合は、クラシック ブログ ページのメタデータをコピーします - 作成したブログをサイト上のニュースとして公開する (
-PostAsNews)
上記のスクリプト スニペットは、1 つのブログ ページを最新化する方法を示しましたが、多くの場合、ブログ サイト内のすべての投稿を最新化したいと思うでしょう。 それが必要な場合は、以下のスクリプトを使用できます。
<#
.Synopsis
Converts all blog pages in a site. Uses PnP PowerShell: https://pnp.github.io/powershell/
Sample includes:
- Conversion of blog pages
- Connecting to MFA or supplying credentials
- Includes Logging to File, log flushing into single log file
.Example
Convert-BlogPages.ps1 -SourceUrl "https://contoso.sharepoint.com/sites/classicblog" -TargetUrl "https://contoso.sharepoint.com/sites/modernblog"
.Notes
Useful references:
- https://aka.ms/sppnp-pagetransformation
#>
[CmdletBinding()]
param (
[Parameter(Mandatory = $true, HelpMessage = "Classic blog site url")]
[string]$SourceUrl,
[Parameter(Mandatory = $true, HelpMessage = "Target modern communication site url")]
[string]$TargetUrl,
[Parameter(Mandatory = $false, HelpMessage = "Supply credentials for multiple runs/sites")]
[PSCredential]$Credentials,
[Parameter(Mandatory = $false, HelpMessage = "Specify log file location")]
[string]$LogOutputFolder = "c:\temp"
)
begin
{
Write-Host "Connecting to " $SourceUrl
if($Credentials)
{
Connect-PnPOnline -Url $SourceUrl -Credentials $Credentials -Verbose
Start-Sleep -s 3
}
else
{
Connect-PnPOnline -Url $sourceUrl -Interactive -Verbose
Start-Sleep -s 3
}
}
process
{
Write-Host "Modernizing blog pages..." -ForegroundColor Cyan
$posts = Get-PnPListItem -List "Posts"
Write-Host "pages fetched"
Foreach($post in $posts)
{
$postTitle = $post.FieldValues["Title"]
Write-Host " Processing blog post $($postTitle)"
ConvertTo-PnPPage -Identity $postTitle `
-BlogPage `
-Overwrite `
-TargetWebUrl $TargetUrl `
-LogType File `
-LogVerbose `
-LogSkipFlush `
-LogFolder $LogOutputFolder `
-KeepPageCreationModificationInformation `
-PostAsNews `
-SetAuthorInPageHeader `
-CopyPageMetadata
}
# Write the logs to the folder
Save-PnPPageConversionLog
Write-Host "Blog site modernization complete! :)" -ForegroundColor Green
}
手順 3b: Delve ブログ ページを最新のページに変換する
Delve ブログの最新化プロセスの最後の手順では、Delve ブログ投稿を最新のページに変換します。 これは、 SharePoint ページ変換を使用して行うことができます。これにより、SharePoint 2010、SharePoint 2013、SharePoint 2016、SharePoint 2019、または SharePoint Online のクラシック ページ (Wiki、Web パーツ、ブログ、または発行ページ) を 読み取り、SharePoint Online でページをモダン ページとして作成できます。
重要
Delve ブログ ページ変換を実行するには、December 2019 (3.16.1912.*) 以降のバージョンの PnP PowerShell を使用する必要があります。
次のスニペットは、最新のページで Delve ブログ投稿を変換する方法を示しています。
# Connect to the Delve blog site
Connect-PnPOnline -Url https://contoso.sharepoint.com/portals/personal/joedoe
# Convert the Delve blog post with title 'Financial results Q1 2019'
ConvertTo-PnPPage -DelveBlogPage -Identity "Financial results Q1 2019" -Overwrite -TargetWebUrl https://contoso.sharepoint.com/sites/modernblog -LogType File -LogVerbose -LogFolder "c:\temp" -KeepPageCreationModificationInformation -PostAsNews -SetAuthorInPageHeader -DelveKeepSubTitle
上記の ConvertTo-PnPPage コマンドレットは、「2019 年第 1 四半期の財務実績」というタイトルの Delve ブログ ページを読み取り、以前に作成したモダン ブログ サイト (https://contoso.sharepoint.com/sites/modernblog) にモダン ページとして作成します。 ブログ ページの変換では、次のことが可能になります。
- Delve ブログ ページの作成者、編集者、作成者、変更した情報を保持する (
-KeepPageCreationModificationInformation) - モダン ブログ ページ ヘッダー (
-SetAuthorInPageHeader) で Delve ブログ ページ作成者を作成者として設定します - 作成したブログをサイト上のニュースとして公開する (
-PostAsNews) - Delve ブログのサブタイトルをモダン ページのトピック ヘッダーとして変換する (
-DelveKeepSubTitle)
上記のスクリプト スニペットでは、1 つの Delve ブログ ページを最新化する方法を示しましたが、多くの場合、Delve ブログ サイトのすべての投稿を最新化する必要があります。 それが必要な場合は、以下のスクリプトを使用できます。