Модернизация блогов Delve и классических блогов

Важно!

Средства модернизации и все остальные компоненты PnP — это инструменты с открытым исходным кодом, поддерживаемые активным сообществом, которое предоставляет для них поддержку. Со стороны официальных каналов поддержки Майкрософт отсутствуют соглашения об уровне обслуживания (SLA) для инструментов с открытым исходным кодом.

Начиная с SharePoint 2010, SharePoint начал поддерживать классические методы ведения блога с помощью шаблона сайта блога, и сегодня эти сайты блогов со своими страницами работают в SharePoint Online. Однако весь процесс создания и публикации блогов, по сравнению с современными страницами на современных коммуникационных сайтах, очень устарел. Поэтому мы рекомендуем использовать современные коммуникационные сайты для ваших будущих потребностей в блогах. Если у вас есть сайты блогов со страницами, которые вы хотите "обновить" до современных страниц современного информационного сайта, выполните действия, описанные в этой статье.

Наряду с классическими страницами выше пользователи SharePoint Online также могут использовать блоги Delve. Блоги Delve устарели, поэтому настоятельно рекомендуется преобразовать страницы блога Delve, актуальные для бизнеса, в современные страницы современного информационного сайта.

Важно!

Поддержка блогов Delve прекращена.

Шаг 1. Узнайте, где в вашем клиенте есть активно используемые блоги

Прежде чем приступить к модернизации сайтов блога, важно ответить на следующие вопросы:

  • Где находятся сайты блогов в моем клиенте? Получение информации на сайтах блогов поможет вам оценить возможный эффект модернизации
  • Какие сайты блогов по-прежнему активно используются? Имеет смысл (изначально) модернизировать только активно поддерживаемые сайты блогов

Запустите классическую оценку страниц SharePoint средства оценки Microsoft 365 , чтобы обнаружить классические страницы блога и проанализировать их использование. Если вам нужно интерпретировать выходные данные существующего сканера модернизации 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 — это решение с открытым исходным кодом, поддержка которого предоставляется активным сообществом. Для инструментов с открытым исходным кодом не существует соглашения об уровне обслуживания в отношении поддержки корпорацией Майкрософт.

Шаг 2.2. Настройка информационного сайта

Примечание.

Если вы модернизируете блоги Delve, можно пропустить этот шаг.

Классическая запись блога может содержать одно или несколько полей метаданных, которые вы хотите разместить на современных страницах блога. В этом случае необходимо определить необходимые поля метаданных в библиотеке SitePages на современном информационном сайте. Это можно сделать с помощью пользовательского интерфейса SharePoint:

  • Нажатие на страницы в верхней панели навигации
  • Нажмите на + Добавить столбец , а затем определите необходимые столбцы

Наиболее часто используемое поле метаданных — это PostCategory поле, используемое для классификации созданных записей блога. В классическом блоге это столбец подстановки, но на сайте современного блога он должен быть создан в виде многозначного поля выбора:

поле 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 см. в шаге 3б.

Последним шагом в процессе модернизации блога является преобразование классических записей блога в современные страницы. Это можно сделать с помощью преобразования страницы SharePoint, которое позволяет читать любую классическую страницу (вики, веб-часть, страницу блога или публикации) в SharePoint 2010, SharePoint 2013, SharePoint 2016, SharePoint 2019 или SharePoint Online и создавать страницу как современную страницу в SharePoint Online. В нашем руководстве показано, как преобразовать классические страницы блогов, размещенных в SharePoint Online, в современные страницы в SharePoint Online, но аналогичную логику можно применить для преобразования классических локальных блогов в современные информационные сайты в SharePoint Online.

Чтобы запустить преобразование страницы блога, необходимо использовать PnP PowerShell. В приведенном ниже фрагменте показано, как преобразовать одну классическую запись блога в современную страницу.

# 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 года" и создаст ее как современную страницу на ранее созданном сайте современного блога (https://contoso.sharepoint.com/sites/modernblog). Преобразование страницы блога приведет к:

  • Сохранить классическую страницу блога автора, редактора, создания и изменения информации (-KeepPageCreationModificationInformation)
  • Установите автора классической страницы блога в качестве автора в заголовке современной страницы блога (-SetAuthorInPageHeader)
  • Скопируйте метаданные страницы классического блога, если такие же поля существуют в современном блоге (-CopyPageMetadata)
  • Опубликовать созданный блог в виде новостей на сайте (-PostAsNews)

Приведенный выше фрагмент сценария показал, как модернизировать одну страницу блога, но часто вам хочется модернизировать все записи на сайте блога. Если это необходимо, то можно использовать сценарий ниже.

<# 

.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
}

Шаг 3б. Преобразование страниц блога Delve в современные

Последним этапом модернизации блога Delve является преобразование записей блога Delve в современные страницы. Это можно сделать с помощью преобразования страницы SharePoint, которое позволяет читать любую классическую страницу (вики, веб-часть, страницу блога или публикации) в SharePoint 2010, SharePoint 2013, SharePoint 2016, SharePoint 2019 или SharePoint Online и создавать страницу как современную страницу в SharePoint Online.

Важно!

Чтобы выполнить преобразование страницы блога Delve, необходимо использовать версию PnP PowerShell за декабрь 2019 г. (3.16.1912.*) или более поздней версии.

В приведенном ниже фрагменте показано, как преобразовать запись блога 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 командлет прочтет страницу блога Delve с заголовком "Финансовые результаты за первый квартал 2019 года" и создаст ее как современную страницу на ранее созданном сайте современного блога (https://contoso.sharepoint.com/sites/modernblog). Преобразование страницы блога приведет к:

  • Сохранить автора, редактора, создание и изменение сведений на странице блога Delve (-KeepPageCreationModificationInformation)
  • В заголовке современной страницы блога укажите автора страницы блога Delve (-SetAuthorInPageHeader)
  • Опубликовать созданный блог в виде новостей на сайте (-PostAsNews)
  • Преобразование подзаголовка блога Delve в заголовок темы современной страницы (-DelveKeepSubTitle)

Приведенный выше фрагмент сценария показал, как модернизировать одну страницу блога Delve, но часто вам хотелось бы модернизировать все записи на сайте блога Delve. Если это необходимо, то можно использовать сценарий ниже.

Convert-DelveBlogPages.ps1