Complemento de SharePoint de ejemplo de administración de información
En el ejemplo Core.InformationManagement se muestra cómo usar un complemento hospedado por el proveedor ASP.NET para obtener y establecer una directiva de sitio en un sitio.
Use esta solución si quiere:
- Aplique la configuración de directiva durante el proceso de aprovisionamiento de sitios personalizado.
- Cree una nueva directiva de sitio o modifíquela.
- Cree una fórmula de expiración personalizada.
Antes de empezar
Para empezar, descargue el complemento de ejemplo Core.InformationManagement del proyecto Office 365 Patrones y prácticas de desarrollador en GitHub.
Nota:
El código de este artículo se proporciona tal cual, sin garantía de ningún tipo, expresa o implícita, incluidas las garantías implícitas de aptitud para un propósito particular, comerciabilidad o ausencia de infracción.
Se recomienda crear al menos una directiva de sitio y asignarla al sitio antes de ejecutar este complemento. De lo contrario, el complemento se iniciará sin mostrar datos de ejemplo. Para obtener más información, vea Información general sobre las directivas de sitio en SharePoint Server.
Uso del complemento de ejemplo Core.InformationManagement
Al iniciar el complemento Information Management, la página de inicio muestra la siguiente información, como se muestra en la ilustración siguiente:
- Fechas de cierre y expiración del sitio. Estas fechas son específicas de un sitio y se basan en la configuración de la directiva de sitio que se aplica.
- Todas las directivas de sitio que se pueden aplicar al sitio.
- Directiva de sitio que se aplica actualmente.
- Cuadro de opción para seleccionar y aplicar una nueva directiva de sitio al sitio.
Desde el sitio de SharePoint, puede ir al complemento, que se ejecuta en el host remoto, eligiendo Recent>Core.InformationManagement. Para volver al sitio de SharePoint, elija Volver al sitio.
El archivo Pages\Default.aspx.cs del proyecto Core.InformationManagementWeb contiene el código de la página mostrada en la ilustración anterior.
El código siguiente del método Page_Load de la página Default.aspx.cs captura y muestra las fechas de cierre y expiración del sitio, en función de la directiva de sitio aplicada. Este código llama a los métodos de extensión GetSiteExpirationDate y GetSiteCloseDate del proyecto 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());
}
El código siguiente del método Page_Load de la página Default.aspx.cs muestra los nombres de todas las directivas de sitio que se pueden aplicar al sitio (incluida la directiva de sitio aplicada actualmente). Este código llama al método de extensión GetSitePolicies del proyecto 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;
};
El código siguiente del método Page_Load de la página Default.aspx.cs muestra el nombre de la directiva de sitio aplicada actualmente al sitio. Esto llama al método de extensión GetAppliedSitePolicy del proyecto 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";
}
El código siguiente del método Page_Load de la página Default.aspx.cs rellena la lista con las directivas de sitio que están disponibles, excepto para la directiva de sitio que está asignada actualmente al sitio.
// 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;
El código siguiente de la página Default.aspx.cs aplica la directiva de sitio seleccionada al sitio. La directiva de sitio original se reemplaza por la nueva directiva de sitio.
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);
}
}