Este procedimiento está pensado para entornos de WSS 3.0 en los que se quiera prevenir la eliminación del sitio web por error, o por simple precaución.
Un ejemplo claro es en los entornos de HMC en los que interviene un proceso automatizado de provisión o en entornos de Sharepoint compartido dónde se da el alta y la baja del site desde un panel de control.
Una feature de Sharepoint puede ser habilitada y deshabilitada sin modificar un site. Utilizando esta feature podemos esconder el menú “Eliminar este sitio” para los propietarios del sitio, aunque ellos pueden acceder directamente a la ruta http://site/_layouts/deleteweb.aspx si la ponen en el navegador.
Para ello debemos crear el directorio “HideDeleteSite” en la carpeta: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\FEATURES
En este directorio “HideDeleteSite”, depués debemos crear estos dos archivos:
Feature.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<Feature Id=”00BFEA71-A83E-497E-9BA0-7A5C597D0106″
Title=”Hide the Delete Site option”
Description=”Remove the ability for the site owner to delete sites.”
Version=”1.0.0.0″
Scope=”Farm”
Hidden=”FALSE”
xmlns=”http://schemas.microsoft.com/sharepoint/”>
<ElementManifests>
<ElementManifest Location=”HideDeleteSite.xml” />
</ElementManifests>
</Feature>
HideDeleteSite.xml
<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”>
<HideCustomAction
Id=”HideDeleteSite”
HideActionId=”DeleteWeb”
GroupId=”SiteAdministration”
Location=”Microsoft.SharePoint.SiteSettings” />
</Elements>
En el archivo feature.xml en el campo “Scope” seleccionamos : Farm, WebApplication, Site or Web.
Luego ejecutamos el STSADM.EXE para habilitar la feature:
STSADM -o installfeature -name HideDeleteSite
Para deshabilitar la feature basta con ejecutar lo siguiente:
STSADM -o uninstallfeature -name HideDeleteSite
Si queremos cambiar el campo Scope, podemos forzar la aplicación de la feature de nuevo con:
STSADM -o installfeature -name HideDeleteSite -force
Cosas a tener en cuenta:
Si borramos o renombramos la página deletesite.aspx, será restaurada tras la actualización de un Service Pack de Sharepoint.
Si usas la feature, recuerda que si fijas el valor del Scope a Web o Site, cualquier propietario de la página o administrador del site será capaz de deshabilitar la feature.
Acuérdate de agregar este parche a tu documentación de instalación y aplícalo cada vez que instales o agreges un nuevo servidor web a tu granja.