jump to navigation

Habilitar formularios de InfoPath en páginas SharePoint dentro de una Webpart 05/23/2007

Posted by dquirozo in InfoPath, SharePoint, WebParts.
trackback

Si los servicios de formulario de MOSS 2007 ya representan una gran ayuda dentro de los sitios de SharePoint, una webpart que muestre estos formulario sería aún de más ayuda, esto nos evitaría el tener que utilizar la Webpart Visor de páginas para visualizar estos formulario:

Para esto podemos utilizar la clase XMLFormView la cual nos renderiza plantillas de formaularios InforPath (.xsn) a páginas web. Aquí el pequeño ejemplo de una Webpart que muestra un formulario utilizando la clase XMLFormView.

/* Es necesario agragar una referencia a la librería Microsoft.Office.InfoPath.Server.Controls.dll este ensamblado por lo general se encuentra en C:\Archivos de programa\Microsoft Office Servers\12.0\Bin del Servidor de MOSS 2007 o del servidor en donde este instalado Form Server. */

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.Office.InfoPath.Server.Controls;

namespace RenderizaFormulario
{
public class MuestraIfoPath : WebPart
{    

     private const string ubicacionDefault =
          “ruta de la plantilla a utilizar por default (.XSN)”;
     private string ubicacion = ubicacionDefault;

     [Personalizable(PersonalizationScope.Shared),
     WebBrowsable(true),
     WebDisplayName(“Propiedad Ubicación”),
     WebDescription(“Ubicacíon del archivo XSN”)]
     public string Ubicacion
     {
          get { return ubicacion; }
          set { ubicacion = value; }
     }
    

     protected override void CreateChildControls()
     {
          XmlFormView formView;
          formView = new XmlFormView();
          formView.Width = Unit.Percentage(100);
          formView.Height = Unit.Pixel(100);
          formView.XsnLocation = ubicacion;
          formView.ShowHeader = false;
          formView.ShowFooter = false;
          this.Controls.Add(formView);
          base.CreateChildControls();
     }
}
}

Solo nos restaría firmar el ensamblado, registrarlo en el Global Assembly Cache del servidor y agregar la entrada de Control Seguro en el web.config de la aplicación web en la cual estará disponible la WebPart, un IISRESET final y listo. Súper !!!

Incluso tenemos una propiedad para la ubicación de la plantilla lo cual nos permite reutilizar la WebPart con diferentes plantillas en todos los sitios de SharePoint que deseemos.

Se aceptan sugerencias.

Anuncios

Comentarios»

1. josetellan - 09/03/2008

perfecto el post….justo lo que necesitaba…muchas gracias por el aporte.

un saludo

2. yumei - 02/26/2009

Buenas!!. Tengo el siguiente problema: he creado un formulario en infopath, que por medio de un servicio web se conecta con una base de datos. En el cliente de infopath funciona correctamente, pero cuando lo meto en el Sharepoint (para que se ejecute en el explorador), cuando le doy a enviar, no se me envía (error mientras se enviaba el formulario), sin más especificaciones del error.

En el infopath, he realizado la conexión de datos por medio de “servicio web”, y luego le he dado a “convertir”, para tener la conexión de datos en una biblioteca de conexiones (relativa). También he leído que debo habilitar distintas opciones en la administración central del sharepoint (Permitir que los usuarios habiliten plantillas de formulario para el explorador y Requerir SSL para autenticación HTTP en orígenes de datos)… pero nada de esto me ha dado resultado.

Por otro lado, me comentaron que lo realizara por medio del SSO, pero tampoco me es posible ya que no puedo disponer de un directorio activo en mi servidor…

Si a alguien se le ocurre algo, se lo agradecería…

Muchas gracias!


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: