SharePoint: Como crear programáticamente una página Wiki!

Crear de forma programática una página de tipo Wiki en la biblioteca “Páginas del sitio” de un sitio de grupo es muy sencillo:

  • Añadimos la directiva using al modelo de objetos de SharePoint.
   1: using Microsoft.SharePoint;

  • Para crear la página Wiki, simplemente:
    • Creamos una instancia de SPList a partir de la biblioteca de páginas del sitio.
    • Creamos una instancia de SPFolder a partir de la propiedad RootFolder de SPList.
    • Creamos una instancia de SPFile a partir de crear una página Wiki en la lista usando el método Add de SPFolder. Fijaros como el método Add() recibe la ubicación donde crear la página, el nombre de la página y la plantilla a usar (WikiPage).
    • A continuación definimos el contenido del campo de texto enriquecido de la página Wiki y simplemente lo añadimos.
   1: static void CreatePageSitePages()

   2: {

   3:     using (SPSite spsSitio = new SPSite("http://demo2010a:200/"))

   4:     {

   5:         using (SPWeb spwSitio = spsSitio.OpenWeb())

   6:         {

   7:             SPList splSitePages = spwSitio.Lists["Páginas del sitio"];

   8:             SPFolder rootFolder = splSitePages.RootFolder;

   9:             SPFile spfWikiPage = 

  10:                 rootFolder.Files.Add(String.Format("/{0}/{1}", rootFolder, 

  11:                 "UsoWiki.aspx"), SPTemplateFileType.WikiPage);

  12:             SPListItem spliWikiItem = spfWikiPage.Item;

  13:             string sWiki=@"<strong>Cómo usar esta biblioteca Wiki</strong><br/>Puede usar esta biblioteca Wiki para compartir conocimientos, intercambiar ideas, colaborar con su equipo en un diseño, crear un manual de instrucciones, crear una enciclopedia de conocimientos o simplemente escribir información diaria en un formato de fácil acceso y modificación.<br/><br/><strong>Edición de páginas</strong><br/>Para editar esta página, haga clic en el icono <strong>Editar página</strong> en la parte superior de la página. Para ver todos los comandos disponibles, haga clic en la pestaña <strong>Página</strong>. Cuando realiza modificaciones, puede escribir texto en la página o insertar tablas e imágenes. Para detener la edición, haga clic en el botón <strong>Guardar</strong> en la parte superior de la página. Si intenta abandonar la página durante la edición, se le pedirá que guarde los cambios.<br/><br/><strong>Creación de vínculos Wiki</strong><br/>Puede establecer un vínculo con otra página de este sitio Wiki escribiendo el nombre de la página entre dobles corchetes. Cuando escriba \[[, el sitio Wiki sugerirá nombres de páginas que empiecen por lo escrito. Puede seleccionar una de esas páginas usando las teclas de dirección o el mouse, o puede escribir otro nombre. Si escribe otro nombre, establecerá un vínculo nuevo a una página. Escriba \]] para finalizar el vínculo. Si establece un vínculo con un página de una subcarpeta o un elemento de otra lista, puede presionar la tecla TAB para agregar el elemento seleccionado a su vínculo sin cerrar el vínculo.<br/><br/>Puede establecer un vínculo con varios objetos de SharePoint, no sólo páginas. Aquí presentamos algunos ejemplos de vínculos:<br/>\[[Perros\]]: vínculo a una página llamada Perros en la misma carpeta.<br/>\[[Animales\Perros\]]: vínculo a una página denominada Perros en una subcarpeta llamada Animales.<br/>\[[Lista:Anuncios/Bienvenido\]]: vínculo al elemento denominado Bienvenido en la lista Anuncios de este sitio.<br/><br/>Para crear un vínculo con una página y que éste muestre texto distinto del nombre de la página, escriba un carácter de barra vertical (|) tras el nombre de la página seguido del texto que desea mostrar. Por ejemplo, escriba \[[Inicio|Página principal\]] para crear un vínculo etiquetado Página principal que remita a la página Inicio.<br/><br/>Para mostrar dobles corchetes de apertura o cierre sin establecer ningún vínculo, escriba una barra diagonal inversa antes de los dobles corchetes. Por ejemplo, \\[[ o \\]].<br/><br/><strong>Creación de páginas</strong><br/>Hay dos formas principales de crear una página en su biblioteca Wiki:<br/><ol><li><u>Cree un vínculo a una página que no exista y a continuación haga clic en él para crear dicha página</u>:<br/>Éste es el modo recomendado porque la página creada será más fácil de encontrar si hay otra que remite a ella. Los vínculos que remiten a páginas inexistentes aparecen con subrayado de guiones.<br/></li>" +

  14:                         "<br/><li><u>Cree una página no vinculada a ninguna otra</u>:<br/>En el menú <strong>Acciones del sitio</strong>, haga clic en <strong>Nueva página</strong>. Se le solicitará un nombre y que cree esa página en la biblioteca Wiki actual.</li></ol>" +

  15:                         "<br/><strong>Administración de la biblioteca Wiki</strong><br/>Puede administrar las páginas de la biblioteca wiki haciendo clic en <strong>Ver todas las páginas</strong> en la ficha <strong>Página</strong> de cualquier página de la biblioteca.<br/><br/><strong>Restauración de una página</strong><br/>Si necesita restaurar una versión anterior de una página, haga clic en <strong>Versiones anteriores</strong> en la ficha <strong>Página</strong> de la parte superior de la página. Después, puede hacer clic en cualquiera de las versiones en Inicio rápido para ver la página tal cual era en ese momento. Si desea restaurar una de esas versiones, selecciónela y haga clic en <strong>Restaurar esta versión</strong> en la barra de herramientas.<br/><br/><strong>Visualización de vínculos entrantes</strong><br/>Puede ver las páginas que remiten a la página actual haciendo clic en <strong>Vínculos entrantes</strong> en la parte superior de la página. Se mostrarán todas las páginas que remitan a esta página.<br/><br/><br/>Para obtener más información sobre el uso de las bibliotecas wiki basadas en Microsoft SharePoint Foundation, haga clic en Ayuda en cualquier página de Microsoft SharePoint Foundation.<div> </div>";

  16:             spliWikiItem[SPBuiltInFieldId.WikiField] = sWiki;

  17:             

  18:             spliWikiItem.UpdateOverwriteVersion(); 

  19:  

  20:         }

  21:     }

  22: }