En el artículo publicado el día 5/04/200, Configuración personalizada en la configuración del sitio – WSS 3.0 y MOSS 2007 estuvimos hablando de cómo podíamos crear un pagina de configuración personalizada y agregarla a una de las secciones de la configuración del sitio que tenemos en nuestros portales de Sharepoint. En la imagen 1 podemos ver la opción llamada “Hola Mundo Settings” dentro de la sección “Administración de sitios”.
En esta oportunidad vamos a crear una sección personalizada y vamos agregar dos opciones de configuración para esta nueva sección, como podemos ver en la imagen 2.
El código fuente está basado en el ejemplo anterior, por lo cual lo único que tenemos que cambiar para crear un grupo y sus opciones de configuración es la característica que estamos creando para instalar en nuestro portal de Sharepoint. Anteriormente habíamos creado un CustomAction y habíamos indicado en que grupo o sección de nuestra configuración lo queríamos colocar, bueno, ahora lo que debemos hacer es crear un CustomActionGroup para crear nuestro grupo o sección y vincular las opciones con dicho grupo mediante el atributo GroupId del elemento CuastomAction. En la sección 1 podemos ver el código completo para crear nuestro grupo y las dos opciones que este tendrá.
[Sección 1]
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"><CustomActionGroupId="DF784448-CD3F-4221-9B8A-69769FA961EE"Title="Custom Group Setting"Location="Microsoft.SharePoint.SiteSettings"Sequence="110"></CustomActionGroup><CustomActionId="EDBEB420-A817-4896-BE42-F5B9048C0CF5"Title="Configuracion 1"Location="Microsoft.SharePoint.SiteSettings"GroupId="DF784448-CD3F-4221-9B8A-69769FA961EE"Sequence="120"RequireSiteAdministrator="FALSE"><UrlAction Url="_layouts/HelloWordSiteSettings.aspx"/></CustomAction><CustomActionId="29020219-0C09-4ef0-BF0A-8921F99AD1B0"Title="Configuracion 2"Location="Microsoft.SharePoint.SiteSettings"GroupId="DF784448-CD3F-4221-9B8A-69769FA961EE"Sequence="130"RequireSiteAdministrator="FALSE"><UrlAction Url="_layouts/HelloWordSiteSettings.aspx"/></CustomAction></Elements>La configuración del CustomAction no cambia, solo debemos cambiar el valor del atributo GroupId donde vamos a colocar el id creado para nuestro CustomActionGroup. En este ejemplo configure los CustomAction de la siguiente forma:
- ID -> Genere un nuevo Guid para cada uno.
- Title-> El texto que queremos que se muestre.
- Location-> La ubicación de estas opciones de configuración. En este ejemplo, en la configuración del sitio donde instalamos la característica, en la siguiente página del MSDN pueden encontrar todas las opciones posibles para este atributo http://msdn.microsoft.com/en-us/library/bb802730.aspx.
- GroupId-> El id de nuestro CustomActionGroup, ya que queremos que aparezca en dicho grupo que estamos creando.
- RequireSiteAdministrator-> En este caso lo establecimos a FALSE, dado que cualquiera que tenga permisos de control total y pueda acceder a la configuración puede acceder a estas opciones.
- Secuence-> El orden con el cual queremos que aparezca dentro de la sección.
- UrlAction-> Dejamos la misma página que usamos en el ejemplo anterior.
Ahora vamos a ver la configuración del elemento CustomActionGroup, el cual creara nuestra sección personalizada de configuración.
- Id-> Genere un Guid.
- Title-> El texto que queremos que se muestre como titulo de la sección.
- Location-> La ubicación de estas opciones de configuración.
- Secuence-> El orden con el cual queremos que se muestre nuestra sección con respecto a las demás, en el ejemplo es la última sección de todas.
Una vez realizados los cambios y las modificaciones que nosotros queremos, lo próximo que vamos hacer es crear nuestro WSP, como vimos en el artículo anterior y dado que estamos usando el mismo ambiente, lo único que tenemos que hacer es construir el WSP después de compilar él proyecto. En la imagen 3, vemos la ventana de salida del Visual Studio 2008 que nos notifica que el WSP fue creado correctamente.
Nos resta instalar en nuestro servidor y probar la solución. Para instalar vamos usar un archivo. En la sección 2 les dejo el código del archivo “InstallSolution.bat” que yo utilice para instalar, para que lo modifiquen y utilicen.
[Sección 2]
@echo off
set URL=http://<Servidor>/
set STSADM="C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions12BINstsadm.exe"
set SOLUTION_NAME=WspAddSectionWebSettings.wsp
set FEATURE_NAME=AddSectionToSiteSettings
echo *
echo * Installing solution… ‘%SOLUTION_NAME%’
echo *
%STSADM% -o addsolution -filename %SOLUTION_NAME%
echo *
echo * Activating solution … ‘%SOLUTION_NAME%’ in %URL%
echo *
%STSADM% -o deploysolution -name %SOLUTION_NAME% -url %URL% -immediate -allowGacDeployment -force
%STSADM% -o execadmsvcjobs
iisreset
rem ***********************************************
echo *
echo * Activating feature… ‘%FEATURE_NAME1%’ in ‘%URL%’
echo *
%STSADM% -o activatefeature -name %FEATURE_NAME% -url %URL% -force
echo *
echo * Install Completed.
echo *
Una vez se termine el proceso de instalación, accedemos al sitio donde instalamos la solución, vamos a la configuración del mismo y nos encontraremos con la nueva sección que acabamos de crear y las dos opciones. Dentro de la solución que se pueden descarga, encontraran un bat llamado unistallSolution.bat, que desinstala la característica y remueve la solución completa del nuestro Sharepoint.