Compartilhar via


Exemplo de gerenciamento de informações Suplemento do SharePoint

O exemplo Core.InformationManagement mostra como usar um suplemento hospedado pelo provedor ASP.NET para obter e definir uma política de site em um site.

Use esta solução se desejar:

  • Aplique configurações de política durante o processo de provisionamento de site personalizado.
  • Crie uma nova ou modifique uma política de site existente.
  • Crie uma fórmula de expiração personalizada.

Antes de começar

Para começar, baixe o suplemento de exemplo Core.InformationManagement do projeto Office 365 Padrões e Práticas do Desenvolvedor no GitHub.

Observação

The code in this article is provided as-is, without warranty of any kind, either express or implied, including any implied warranties of fitness for a particular purpose, merchantability, or non-infringement.

Recomendamos que você crie pelo menos uma política de site e atribua-a ao seu site antes de executar esse suplemento. Caso contrário, o suplemento será iniciado sem exibir dados de exemplo. Para obter mais informações, confira Visão geral das políticas de site no SharePoint Server.

Usando o suplemento de exemplo Core.InformationManagement

Quando você inicia o suplemento Gerenciamento de Informações, a página inicial exibe as seguintes informações, conforme mostrado na seguinte figura:

  • As datas de encerramento e expiração do site. Essas datas são específicas para um site e são baseadas nas configurações da política de site que é aplicada.
  • Todas as políticas de site que podem ser aplicadas ao site.
  • A política de site que é aplicada no momento.
  • A caixa de opções para selecionar e aplicar uma nova política de site ao site.

Captura de tela da página inicial do suplemento, com valores de encerramento e expiração da política de site, políticas de site disponíveis e aplicadas e outras políticas a serem aplicadas realçadas.

No site do SharePoint, você pode acessar o suplemento, que é executado no host remoto, escolhendo Recent>Core.InformationManagement. Para retornar ao seu site do SharePoint, escolha Voltar ao Site.

O arquivo Pages\Default.aspx.cs no projeto Core.InformationManagementWeb contém o código da página exibida na figura anterior.

O código a seguir no método Page_Load da página Default.aspx.cs busca e exibe as datas de encerramento e expiração do site, com base na política de site aplicada. Esse código chama os métodos de extensão GetSiteExpirationDate e GetSiteCloseDate do projeto 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());
}


O código a seguir no método Page_Load da página Default.aspx.cs exibe os nomes de todas as políticas de site que podem ser aplicadas ao site (incluindo a política de site atualmente aplicada). Esse código chama o método de extensão GetSitePolicies do projeto 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;
            };


O código a seguir no método Page_Load da página Default.aspx.cs exibe o nome da política de site atualmente aplicada ao site. Isso chama o método de extensão GetAppliedSitePolicy do projeto 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";
            }


O código a seguir no método Page_Load da página Default.aspx.cs preenche a lista com as políticas de site disponíveis, exceto pela política de site atribuída atualmente ao site.

// 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;


O código a seguir na página Default.aspx.cs aplica a política de site selecionada ao site. A política de site original é substituída pela nova política de site.

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);
            }
}

Confira também