SharePoint Latin Rotating Header Image

Creando sitio y webpart programaticamente en SharePoint 2007

La semana pasada surgió el siguiente requerimiento algo especial, en este escenario se cuenta con un sitio SharePoint dedicado a un documento en particular, en este sitio se cuenta con una sección de noticias, enlaces y tareas todo en relación a este documento. Cabe mencionar que este sitio es creado programáticamente cuando este documento ha sido aprobado por un grupo de revisores para su publicación en la intranet.


sd01Así que se decidió crear una actividad para SharePoint Designer 2007 que permita la creación del sitio basado en una plantilla de SharePoint especifica, esto es cuando el documento es depositado sobre una biblioteca de documentos en particular, así mismo, se debe de crear programáticamente una webpart de visualización de contenido web, esto para permitir pre visualizar el documento sobre la interface principal del sitio creado y omitir la necesidad de tener que darle clic al documento para abrirlo en el cliente de office.  Para conocer mas sobre actividades de SharePoinr Designer 2007 ver aqui.


La actividad solicita prácticamente el contexto del elemento actual y el nombre de la plantilla que utilizaremos como base para la creación del nuevo sitio. Esta plantilla deberá de estar en la lista de plantillas de sitio de nuestro SharePoint.


sd02


La pre visualización fue sencillo lograrlo gracias a la especificación XPS que tenemos disponible en el .NET Framework 3.0. Se decidió transformar el documento a formato XPS y utilizar el visor de documentos XPS que Internet Explorer 7 adopta por defecto cuando instalamos la versión .NET Framework 3.0. XPS es una nuevo formato especificado en XML que Microsoft libero para darle mucho mas portabilidad y seguridad a contenido que requiere ser compartido. Para más información ver aquí. Por otro lado XPS soporta Rights MAnagement Services y firmas digitales de tal manera que podemos mantener una politca de seguridad al contenido digital. Para mas informacion sobre RMS ver aqui.


Entonces, al convertir nuestro documento a formato XPS podremos abrirlo directamente sobre IE7 y si esto lo invocamos dentro de nuestro webpart visor de paginas web entonces tendremos nuestro documento cargado sobre nuestro sitio SharePoint.


Veamos como crear programaticamente.


sd04


En este bloque de codigo vemos que la clase SPWeb contiene la coleccion webs y es aqui donde registramos nustro nuevo sitio en donde mandamos el nombre del sitio, este nombre es usado para el Url, mandamos el titulo de nuestro sitio, la descripcion, el lenguaje, el nombre de la plantilla stp que usaremos para la creacion del sitio y las opciones de heredar los permisos del sitio primario. Despues creamos una instancia de la webpart que vamos a crear programaticamente y especificamos sus propiedades, la propiedad ContentLink representa el Url que queremos visualizar. Por ultimo gracias a SPLimitedWebPartManager podemos obtener la coleccion de webpart que una paginaalberga para poder agregar nuestra webpart creada mediante el metodo AddWebPart.


NOTA:  Este codigo no es para produccion en su totalidad, ha sido modificado para mostrar los puntos a tratar en este post.


El resultado:


sd03


 

 

4 Comments

  1. barbara says:

    hola yo estoy intentando crear una libreria de formularios y publicar un infopath por progrmacion me puedes ayudar? barbara.pulido@gmail.com

  2. Carlos Andres says:

    Hola me gustaria saber mas de como creas el sitio a partir del .stp no he encontrado mucha info al respecto mi correo es caanmabu@hotmail.com gracias

  3. haaron says:

    Aqui puedes encontrar como crear programaticamente listas en sharepoint. el mismo modelo funciona para bibliotecas. http://msmvps.com/blogs/haarongonzalez/archive/2008/10/03/1649618.aspx

    saludos

  4. plss says:

    Hola, me urge mas informacion acerca de crear sitio programaticamente, si pudieras ampliar tu informacion te lo agradeceria infinitamente, ojala sea una explicacion para novatos
    un abrazo

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Network-wide options by YD - Freelance Wordpress Developer