Поделиться через


Пример надстройки sharePoint для управления сведениями

В примере Core.InformationManagement показано, как использовать надстройку ASP.NET, размещенную у поставщика, для получения и настройки политики сайта на сайте.

Используйте это решение для следующих задач:

  • Примените параметры политики во время процесса подготовки пользовательского сайта.
  • Создайте новую или измените существующую политику сайта.
  • Создайте настраиваемую формулу срока действия.

Подготовка к работе

Чтобы приступить к работе, скачайте пример надстройки Core.InformationManagement из проекта Office 365 Шаблоны и методики разработчика на сайте GitHub.

Примечание.

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

Рекомендуется создать хотя бы одну политику сайта и назначить ее сайту перед запуском этой надстройки. В противном случае надстройка запустится без отображения примеров данных. Дополнительные сведения см. в статье Обзор политик сайта в SharePoint Server.

Использование примера надстройки Core.InformationManagement

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

  • Даты закрытия и окончания срока действия сайта. Эти даты относятся к сайту и основаны на параметрах конфигурации применяемой политики сайта.
  • Все политики сайта, которые можно применить к сайту.
  • Политика сайта, которая применяется в настоящее время.
  • Поле параметра для выбора и применения новой политики сайта к сайту.

Снимок экрана: начальная страница надстройки с выделенными значениями закрытия и срока действия политики сайта, доступными и примененными политиками сайта и другими политиками для применения.

На сайте SharePoint можно перейти к надстройке, которая выполняется на удаленном узле, выбрав Последние>core.InformationManagement. Чтобы вернуться на сайт SharePoint, выберите Вернуться на сайт.

Файл Pages\Default.aspx.cs в проекте Core.InformationManagementWeb содержит код страницы, отображаемой на предыдущем рисунке.

Следующий код в методе Page_Load страницы Default.aspx.cs извлекает и отображает даты закрытия и окончания срока действия сайта на основе примененной политики сайта. Этот код вызывает методы расширения GetSiteExpirationDate и GetSiteCloseDate проекта OfficeDevPnP.Core.

// Get site expiration and closure dates.
if (cc.Web.HasSitePolicyApplied())
{
        lblSiteExpiration.Text = String.Format("The expiration date for the site is {0}", cc.Web.GetSiteExpirationDate());
        lblSiteClosure.Text = String.Format("The closure date for the site is {0}", cc.Web.GetSiteCloseDate());
}


В следующем коде в методе Page_Load страницы Default.aspx.cs отображаются имена всех политик сайта, которые можно применить к сайту (включая текущую политику сайта). Этот код вызывает метод расширения GetSitePolicies проекта OfficeDevPnP.Core.

// List the defined policies.
List<SitePolicyEntity> policies = cc.Web.GetSitePolicies();
string policiesString = "";
foreach (var policy in policies)
                    {
                        policiesString += String.Format("{0} ({1}) <BR />", policy.Name, policy.Description);
                    }
lblSitePolicies.Text = policiesString;
            };


В следующем коде в методе Page_Load страницы Default.aspx.cs отображается имя политики сайта, применяемой в настоящее время к сайту. При этом вызывается метод расширения GetAppliedSitePolicy проекта OfficeDevPnP.Core.

// Show the assigned policy.
SitePolicyEntity appliedPolicy = cc.Web.GetAppliedSitePolicy();
if (appliedPolicy != null)
            {
            lblAppliedPolicy.Text = String.Format("{0} ({1})", appliedPolicy.Name, appliedPolicy.Description);
            }
else
            {
            lblAppliedPolicy.Text = "No policy has been applied";
            }


Следующий код в методе Page_Load страницы Default.aspx.cs заполняет список доступными политиками сайта, за исключением политики сайта, назначенной сайту в настоящее время.

// Fill the policies combo.
foreach (var policy in policies)
{
if (appliedPolicy == null || !policy.Name.Equals(appliedPolicy.Name, StringComparison.InvariantCultureIgnoreCase))
{
                            drlPolicies.Items.Add(policy.Name);
           }
}
btnApplyPolicy.Enabled = drlPolicies.Items.Count > 0;


Следующий код на странице Default.aspx.cs применяет выбранную политику сайта к сайту. Исходная политика сайта заменяется новой политикой сайта.

protected void btnApplyPolicy_Click(object sender, EventArgs e)
{
if (drlPolicies.SelectedItem != null)
            {
                cc.Web.ApplySitePolicy(drlPolicies.SelectedItem.Text);
                Page.Response.Redirect(Page.Request.Url.ToString(), true);
            }
}

См. также