Siguiendo con las cuestiones que sobre SharePoint nos han planteado últimamente en el CIIN, en esta ocasión os voy a comentar algunas de las alternativas tiene la plataforma para responder a la siguiente duda: ¿Se pueden definir un sistema de ayuda a usuario personalizada en función del cometido de mi aplicación SharePoint? Lógicamente, y teniendo en cuenta el carácter extensible y abierto de la plataforma SharePoint, la respuesta esperable es que sí…y como veremos, realmente tenemos distintas posibilidades para definir nuestros propios sistemas de ayuda en SharePoint.
La ayuda por defecto en SharePoint
Antes de empezar, como sabemos la ayuda en SharePoint (tanto en WSS 3.0 como en MOSS) es accesible a través del típico icono de ayuda situado en la parte superior derecha de cada página de SharePoint. Al pulsarlo se abrirá una página aspx (help.aspx) almacenada en el directorio /_layouts que muestra de manera dinámica la ayuda correspondiente. Realmente está página lo que hace es recibir una serie de parámetros y renderizar el contenido a mostrar en función de la información recogida en en colecciones de ayuda (Help Collection o HC). Algunas de estas colecciones HC son MS.OSS.HC para MOSS, MS.WSS.HC para WSS 3.0, MS.WSS.Admin.HC para la administración central de SharePoint. A su vez, cada colección se compone de un manifiesto (archivo *.manifest), de un archivo de metadatos por cada elemento de ayuda, un fichero de contenidos sobre el tópico de ayuda correspondiente, imágenes, archivos JavaScript, hojas CSS de estilo y un fichero helpmap.
![]() |
![]() |
Toda esta infraestructura de colecciones HC que constituye el sistema de ayuda de SharePoint se puede encontrar a través de la biblioteca de documentos HelpFold de la Administración central de SharePoint. En esta biblioteca podremos ver toda la infraestructura comentada que constituye el sistema de ayuda…y lógicamente ya tenemos una pista de por dónde pueden ir los tiros de una alternativa posible en cuanto a definir nuestro propio sistema de ayuda.
![]() |
![]() |
Alternativas para definir nuestro propio sistema de ayuda en SharePoint
Básicamente, tras darle un poco vueltas a las opciones de extensibilidad y personalización que nos brinda SharePoint, mis compañeros del CIIN y yo hemos pensado en las siguientes alternativas:
- Eliminando la opción de ayuda que viene por defecto en SharePoint y añadiendo nuestra propia opción de ayuda en un lugar visible de la master page de nuestra solución SharePoint. A este nivel, que pasa por personalizar la master page, las opciones son variadas:
- Crear nuestra propia página de ayuda en el directorio _layouts de SharePoint que contenga la ayuda necesaria para la aplicación (lo que ya hace SharePoint). una referencia en la que se recoge todo lo necesario para crear una página de aplicación (que resida en el directorio _layouts en SharePoint) es la siguiente: http://msdn.microsoft.com/en-us/library/bb418732.aspx
- Creando páginas ASP.NET con las Visual Studio Extensions para WSS 3.0, sin que tengan que ser páginas que estén el directorio _layouts de SharePoint. Aquí os dejo un ejemplo bastante completo de cómo hacerlo con la versión 1.2 (Visual Studio 2008): http://blogs.msdn.com/cjohnson/archive/2008/06/07/updated-building-a-simple-asp-net-page-based-sharepoint-application-in-visual-studio-with-the-visual-studio-extensions-for-wss-1-2-with-visual-studio-2008.aspx
- Creando una infraestructura de páginas ASP.NET jugando con el IIS. Un enlace sobre este tema es el siguiente: http://chiragrdarji.blogspot.com/2007/10/add-aspx-page-to-sharepoint-2007.html
- Creando una infraestructura de páginas HTML que contengan la ayuda.
- Otra posibilidad de añadir nuestro sistema de ayuda (siguiendo cualquiera de las opciones anteriores) sería añadir la opción de ayuda personalizada en el menú Site Actions de SharePoint mediante una feature:
<?xml version=”1.0″ encoding=”utf-8″ ?> <Feature xmlns=”http://schemas.microsoft.com/sharepoint/” Id=”C5432F67-D3A2-454c-929C-8B2584C2449B” Scope=”Site” Title=”Sistema de Ayuda” Description=”Feature para abrir un enlace”> <ElementManifests> <ElementManifest Location=”acciones.xml” /> </ElementManifests> </Feature> |
<Elements xmlns=”http://schemas.microsoft.com/sharepoint/”>
<CustomAction
Id=”3DE007E5-05CD-497d-915F-75F3FA848A7B”
GroupId=”SiteActions”
Location=”Microsoft.SharePoint.StandardMenu”
Sequence=”1000″
Title=”Feature para abrir un enlace”
Description=”Esta acción abre el sistema de ayuda personalizado”>
<UrlAction Url=http://wssv3:30000/_layouts/AyudaPersonalizada.aspx/>
</CustomAction>
</Elements>
- Otra posibilidad es abrir nuestras propias páginas de ayuda cuando el usuario hace clic o pasa el ratón sobre enlaces “sensibles”. En este enlace nos proponen emular esta funcionalidad mediante código JavaScript y tocando el archivo core.js de SharePoint: http://ragavj.blogspot.com/2007/04/custom-help-window-can-be-opened-by.html
- Finalmente, la tercera alternativa pasa por aprovechar el propio sistema de ayuda de SharePoint y personalizarlo. En este sentido, aquí os dejo un estupendo artículo en The Code Project en el que se explica paso a paso como incluir nuestras propias páginas de ayuda en el sistema de ayuda de SharePoint (para MOSS en este caso): http://www.codeproject.com/KB/sharepoint/CustomHelpPages_SP2007.aspx. Otro enlace sobre esta alternativa lo tenéis en el blog de Chirs O’Brien: http://www.sharepointnutsandbolts.com/2007/08/adding-custom-help-pages-to-sharepoint.html
Y hasta aquí llega lo que os quería contar sobre alternativas que existen para construir nuestros propios sistema de ayuda en SharePoint. Espero que el post os haya resultado interesante.