Sin duda, la posibilidad de ejecutar código cliente de SharePoint desde JavaScript, fue una incorporación bastante interesante en SharePoint 2010. De este modo, utilizando la librería SP.js, podemos desplegar una página de aplicación (Application Page) desde una Solución de Visual Studio con el código cliente que deseemos, o también podemos utilizar una simple páginas de Web Parts con una Content Editor Web Part (CEWP) para hospedar el código JavaScript que deseemos. Veamos un ejemplo.
Crearemos un nuevo Proyecto en Visual Studio 2010 de tipo Empty SharePoint Project, asegurándonos de seleccionar el Net Framework 3.5 y asignaremos el nombre que deseemos para el Proyecto (en nuestro caso, lo llamaremos SharePointProject1. En el Wizard para la creación del Proyecto, seleccionaremos la opción Deploy as a farm solution.
Añadiremos un nuevo elemento de tipo Application Page, asignándole el nombre que deseemos. En nuestro caso de ejemplo dejaremos el nombre ofrecido por defecto (ApplicationPage1.html).
Esto además de añadir una página html a nuestro Proyecto de Visual Studio 2010, también creará un mapeo a la carpeta Layouts de SharePoint, incluyendo un carpeta por debajo de la misma, donde se ubicará la nueva página html, tal y como se puede ver en la siguiente pantalla capturada.
Editaremos nuestra nueva página html, y dentro de la sección principal (Main) añadiremos el código que se muestra a continuación, para cargar la librería de JavaScript SP.js (que nos dará acceso al Modelo de Objetos de SharePoint desde JavaScript), y para seguidamente ejecutar una función que hemos llamado Initialize, la cual abre una ventana de diálogo de SharePoint mostrando en su interior una página web.
Si realizado esto, compilamos, ejecutamos nuestro proyecto, y accedemos a la nueva página html, podremos ver el resultado obtenido. Téngase en cuenta, que los ficheros incluidos dentro de la carpeta mapeada Layouts, serán desplegados automáticamente por la Solución, no siendo necesario incluirlos en ninguna Característica (Feature).
Del mismo modo, como comentábamos antes, es posible crear una página de Web Parts y añadirla una Content Editor Web Part (CEWP, disponible también en WSS4), para en la misma incluir el código HTML y JavaScript que consideremos necesario.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.