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