Archivo de la etiqueta: Sharepoint

Carga de Archivo (Upload File) desde infopath forms services

[Visto: 2482 veces]

En una entrada anterior publiqué un método para cargar archivos desde cualquier aplicación web; en este caso publico la misma funcionalidad desde el control upload de infopath forms services.

Deben utilizar un botón adicional al cual le añaden el siguiente codigo .net:

public void btnCargarDocumento_Clicked(object sender, ClickedEventArgs e)
{
XPathNavigator DOM = this.MainDataSource.CreateNavigator();
XPathNavigator fileDocumento = DOM.SelectSingleNode(“/my:misCampos/my:att_documento”, NamespaceManager);
byte[] attachmentNodeBytes = Convert.FromBase64String(fileDocumento.Value.ToString());
int fnLength = attachmentNodeBytes[20] * 2;
byte[] fnBytes = new byte[fnLength];

for (int i = 0; i < fnBytes.Length; i++)
{
fnBytes[i] = attachmentNodeBytes[24 + i];
}

char[] charFileName = System.Text.UnicodeEncoding.Unicode.GetChars(fnBytes);
string fileName = new string(charFileName);

fileName = txtIdActividad.Value + “-” + fileName.Substring(0, fileName.Length – 1);
byte[] fileContents = new byte[attachmentNodeBytes.Length – (24 + fnLength)];

for (int i = 0; i < fileContents.Length; ++i)
{
fileContents[i] = attachmentNodeBytes[24 + fnLength + i];
}

string LibreriaDestino = “http://SERVIDOR:8001/sitio/sitiodocs/documentosA/”;
string Destino = LibreriaDestino + fileName;
System.Net.WebClient objWebClient = new System.Net.WebClient();
objWebClient.Credentials = System.Net.CredentialCache.DefaultCredentials;
objWebClient.UploadData(Destino, “PUT”, fileContents);
//limpiar el control upload
if (!fileDocumento.MoveToAttribute(“nil”,
fileDocumento.LookupNamespace(“xsi”)))
{
fileDocumento.SetValue(“);
}

}

Espero que sea de ayuda Sigue leyendo

Tabla de versiones de SharePoint

[Visto: 3048 veces]

MOSS 2007 or WSS 3.0 SP2 + Cumulative update (June 09) 12.0.0. 6510

MOSS 2007 or WSS 3.0 SP2 + Cumulative update (April 09) 12.0.0. 6504
MOSS 2007 or WSS 3.0 SP2 12.0.0.6421
MOSS 2007 or WSS 3.0 Cumulative update (Feb 09) 12.0.0. 6341
MOSS 2007 or WSS 3.0 Cumulative update (Dec 08) 12.0.0. 6335

MOSS 2007 or WSS 3.0 Cumulative update (KB956056 – KB956057) 12.0.0.6327
MOSS 2007 or WSS 3.0 Infrastructure Update (KB951695 – KB951297) 12.0.0.6318
MOSS 2007 or WSS 3.0 post-SP1 hotfix (KB948945) 12.0.0.6303
MOSS 2007 or WSS 3.0 post-SP1 hotfix (KB941274) 12.0.0.6301
MOSS 2007 or WSS 3.0 post-SP1 hotfix (KB941422) 12.0.0.6300
MOSS 2007 or WSS 3.0 SP1 12.0.0.6219
MOSS 2007 or WSS 3.0 October public update 12.0.0.6039
MOSS 2007 or WSS 3.0 August 24, 2007 hotfix package 12.0.0.6036
MOSS 2007 or WSS 3.0 RTM 12.0.0.4518
MOSS 2007 or WSS 3.0 Beta 2 TR: 12.0.0.4407
MOSS 2007 or WSS 3.0 Beta 2: 12.0.0.4017
Office 12 (PDC image – pre-beta): 12.0.0.3111 Sigue leyendo

Firmas Digitales en Infopath Forms Services (dedicado a 3 desarrolladores)

[Visto: 9241 veces]

Siempre creí que la aplicación de firmas digitales en un formulario de infopath era un tema sencillo por el cual no debería crear una entrada en mi blog dedicada a este tema; pero por ahi escuché el comentario “en infopath forms services no se puede usar firmas digitales” así que decidí desempolvar un proyecto en el cual usamos firmas digitales a inicios del año pasado y crear una entrada dedicada a este tema para orientar a aquellas personas que tienen dificultades en este tema y para recordar “como se hacía” por si algún día se me olvida.

Por defecto, los formularios infopath habilitados para mostrarse via web (Forms Services) no aceptan firmas digitales; pero se pueden definir secciones del formulario para aceptar la firma digital (en caso se requiera firmar todo el documento; pues se debería cargar todos los controles en una sola sección).

Primero, veamos un formulario de liquidación de gastos que contiene 3 secciones; es decir, va a ser firmado por 3 personas (no es un caso aplicado en la vida real; pero muy similar al que hicimos en dicho proyecto)
Formulario Inicial

Vamos a configurar cada sección para que soporte firmas digitales. Ingresamos a las propiedades de la seccion
Propiedades de sección

Ficha “firmas digitales” -> Agregar datos
Ficha Firmas digitales

Seleccionamos la sección que se va a firmar -> Aceptamos
agregar

Hacemos lo mismo en las otras secciones:
propiedades

Ahora veamos la firma digital en cliente servidor:

Seleccionamos una imagen para firmar el documento:

Ingresamos un comentario:

El documento ha sido firmado y los controles de la sección no se pueden modificar.

Todo esto es bonito en cliente servidor; ahora viene la parte “interesante” que es la parte web. Para esta prueba el formulario ya estaba configurado para compatibilidad web tal como indiqué en una entrada anterior. (algún dia pondre el link a esa entrada.. jeje)

Via web el formulario se ve como la siguiente figura:

Ingreso algunos datos en la primera sección:

Firmo el documento, el explorador web me muestra una ventana flotante para ingresar los datos de la firma:

El sistema toma una foto del estado actual del formulario al momento de la firma:

El formulario ha sido firmado y no permite la modificación de los campos en la sección firmada:

Realizamos una segunda firma, para la segunda sección donde se encuentra el detalle de los gastos:

Luego de firmar, no se puede ingresar nuevas filas en la tabla dinámica ni modificar los datos ingresados en esta sección:

Firmamos la última sección:

Finalmente el formulario ha sido firmado en sus 3 secciones:

En cualquier momento se puede ver los detalles de la firma con la captura del estado del formulario en el momento que fue firmado.

Como bien diría mi madre “todo se puede en la vida “, yo agregaría “y aún más en el mundo de la informática” pues sí se puede configurar forms services para soportar firmas digitales, solo se deben hacer algunas configuraciones adicionales y tomar en cuenta algunos detalles como el uso de secciones. Todo sea por dejar de usar programas cliente servidor para llenar formularios web, como se hacía antiguamente.

Sigue leyendo

Sharepoint Workflows y Servicios Web

[Visto: 5356 veces]

En un anterior post he publicado los pasos necesarios para crear un flujo de trabajo usando sharepoint, infopath 2007, Forms Server y el framework 3.5. Es común encontrar que durante la ejecución del flujos de trabajo se requiera extraer información de diferentes sistemas como Bases de Datos Oracle, Informix, portales Websphere o alguna otra solución.

La primera solución que propondría para integrar estos flujos de trabajo con otros sistemas es la interacción con servicios web que pueden ser consumidos desde los formularios infopath; a continuación especificaré algunos de los pasos para implementar este tipo de soluciones.

La solución consiste en crear conexiones de datos en el formulario infopath y luego asociar los controles del formulario a los campos que solicita el servicio web (envío de data) y los campos que nos devuelve el servicio web (recepción de data).

A modo de ejemplo veamos el siguiente servicio web que nos envía un mensaje de texto.
Servicio web Saludo.

Luego de invocar al servicio web nos devuelve el siguiente mensaje.
XML devuelto por el servicio web

Una vez que hemos probado que el servicio web funciona correctamente, debemos asociar el servicio web a nuestro formulario infopath. Ingresar al menú Herramientas – Conexiones de Datos.
Menú Conexiones de datos

Seleccionar la opción Agregar.
Agregar Conexión

Seleccionar la opción Recibir Datos.
Recibir Datos

Seleccionar la opción Servicios Web.
Servicios Web

Especificar el WSDL
WSDL

Indicar la función que se ejecutará.
Función

Luego se deben asociar los campos de las conexiones de datos con los campos del formulario para interactuar con el servicio web. Para interactuar con Servicios Web que envian data o hacen ambas tareas (enviar y recibir data) se procede con los mismos pasos con la diferencia que al especificar el tipo de funcionalidad se debe seleccionar la opción Recibir Data.

Para interactuar con diferentes bases de datos o soluciones, se deben implementar servicios web que interactuen con estos sistemas y luego los servicios web se deben asociar a los formularios de infopath para su llamado durante la ejecución de un workflow; los servicios web pueden ser desarrollados en diferentes tipos de plataformas y no se presentarán problemas para su integración con los workflows ya que la comunicación se realiza via XML y no via un lenguaje determinado. Espero que este ejemplo sea de utilidad para su uso durante el desarrollo de flujos de trabajo muy complicados y en casos donde se debe mostrar información de diferentes sistemas en un formulario infopath que luego se convierte en una aplicación web. Sigue leyendo

Reporting Services y Sharepoint

[Visto: 7923 veces]

Estuve viendo el tema de reporting services y me dio la curiosidad de revisar su integración con sharepoint, encontré algunos webparts que se pueden configurar para mostrar los reportes.
el primer webpart (Report Explorer) permite mostrar el listado de todos los reportes del servidor y el segundo (Report Viewer) permite mostrar el contenido del reporte (data y graficos).

En primer lugar se debe cargar el webpart “Report Explorer”
Luego se debe configurar el “Report Explorer”: En la propiedad “Report Manager URL” se debe indicar la dirección del sitio donde se cargan los reportes (http://(servidor)/Reports) y en la propiedad “Start Path” se debe indicar la carpeta donde iniciará por defecto la exploración de los reportes publicados.

Ejemplo de Report Explorer
Report Explorer

Luego se debe cargar el webpart “Report Viewer” y conectar al webpart “Report Explorer”. Entrar al menú Conecctions-> Show report in -> Report Viewer.
y listo. Los reportes del servidor de reporting services se muestran en el sitio sharepoint. Muy Simple 😀

Ejemplo de Report Viewer
Report Viewer

Sigue leyendo

Qué es sharepoint?

[Visto: 104247 veces]

Nota: Conoce la solución communicare 2.0 – permite implementar una red social corporativa en tiempo record y con la experiencia de los especialistas de Dainko. Esta solución está implementada sobre SharePoint, si pueden hacer esto con SharePoint imagínate lo que pueden hacer con tus proyectos SharePoint.

http://communicare20.dainko.com/2013/01/03/rede-social-corporativa/

 

Locations of visitors to this page

 

Qué es Sharepoint:
Es una de tantas herramientas administradoras de contenidos que nos permite compartir información dentro de una organización creando paginas web de forma muy rápida y sencilla; además, en la versión 2007 cuenta con nuevas funcionalidades que lo hace diferente a un administrador común del mercado como el Forms services que transforma plantillas infopath en aplicaciones web muy dinámicas y faciles de mantener, Excel Services que nos entrega las funcionalidades de excel a través de la web, servicio indizador que nos permite hacer búsquedas dentro del contenido del portal, contenido externo, servidores de archivos y cualquier otra información de la empresa incluso de otros sistemas con los que cuenta la organización; el servicio de single sign on que nos permite ingresar a nuestra aplicaciones empresariales ya sean lotus, java, php .. etc.. con una sola cuenta de usuario… es decir, ya no tenemos que manejar 10 o 20 usuarios y passwords para cada sistema de la organización, solo basta con tener una sola cuenta con la cual desde sharepoint podemos acceder a todos los aplicativos de nuestra empresa, cuenta con funcionalidades de inteligencia de negocios, oficina virtual, KPI’s y si continuo nunca terminaría con este blog, por lo pronto estaré colgando información y tips que ayudarán muchísimo al manejo de esta herramienta tan poderosa para aquellos que saben explotar todas sus funcionalidades.

 

Otra gran diferencia con las herramientas administradores de contenido comunes es la facilidad de uso que tiene Sharepoint Server 2007 al manejar los estándares de visual studio 2005 y asp.net 2.0 como son el manejo de paginas maestras con las cuales al aplicar un diseño a la pagina principal, esta se aplica a todo el portal (no quiere decir que obligatoriamente el diseño deba ser el mismo para todo el portal, cada sitio puede ser personalizado). La facilidad para publicar noticias y crear flujos de trabajo es tan simple que lo puede hacer cualquier asistente de gerencia o practicante de informatica sin tener ningún conocimiento de programación ya que la interfaz es muy amigable, la creacion de formularios infopath es muy simple y es tan facil como crear un documento en word o excel, luego el proceso de publicacion es solo cuestión de seguir algunos pasos que son detallados en otra entrada de este blog.

 

Como siempre todas las funcionalidades de Sharepoint estan completamente integradas a los productos de microsoft como son el project server 2007 que convierte a sharepoint en un manejador de proyectos, Live Communications Server que agiliza las comunicaciones a través del portal permitiendo mostrar los datos del usuario y verificar su estado de conexion, los productos de office al estar integrados a sharepoint se transforman para cargar documentos directamente en el portal y agregar datos adicionales a cada documento como el área a la cual pertenece el usuario que carga un documento o el manejo de versiones en cada documento asociado a las librerias de documentos de sharepoint.

 

lo que normalmente en un desarrollo web demoraría meses de desarrollo en sharepoint dura semanas; en alguna ocasion pidieron en mi trabajo hacer un sistema que nos demoró a 7 personas incluido 1 jefe de proyecto , 2 analistas, 4 programadores… 10 meses, con esta herramienta solo se necesitaria 1 jefe de proyecto ,1 analista de negocio y un consultor sharepoint y demoraria 1 o 2 meses dependiendo que tan relajados quieren estar los desarrolladores, la herramienta rompe con esa mala costumbre de los informaticos de morir frente a la pantalla programando, la construccion del portal no se centra en el desarrollo, sino en el análisis dejando a la herramienta que construya el portal. La herramienta es orientada al click… el detalle esta en saber donde hacer esos clicks para aprovechar cada funcionalidad que nos otorga esta herramienta y saber un poco de tecnologias web… aunque jale el curso de tecnologías web.. jeje… y no lo volvi a llevar… me ayudó muchísimo para llegar a dominar esta herramienta y entender otras como biztalk server, el content manager, infopath y conceptos como single sign on, xlst, orquestaciones…. aunque el curso es dificil y probablemente van a jalar.. les recomiendo fuertemente que lleven.. sirve muchisimo… pero no lo volveria a llevar… el profe esta demasiado loco.. jejeje….. es muy bueno 🙂

 

Para dar un ejemplo de la productividad de esta herramienta, un formulario muy cargado con 400 campos por ejm… y con divisiones de fichas, validaciones y contenido dinamico(sin recargar la pagina)… demoraria a un buen programador unos 2 a 4 dias dependiendo del programador… en sharepoint sin importar que tan experto sea el programador esto demora solo el tiempo de diseño en infopath (4 horas)… luego se cuelga en un servidor de formularios en sharepoint y listo… Es decir no se debe preocupar en hacer todas las sentencias de agregar, modificar, eliminar, manejar versiones, recargar versiones, flujos de trabajo… ya que la herramienta lo hace automaticamente; esta es una de las mas grandes ventajas de esta herramienta. (más adelante buscare como agregarle una imagen a este blog… tengo que aprender a usar este administrador de contenido)… En sharepoint solo deberia arrastrar las imagenes y crear el contenido mucho más facilmente. Por el lado de los mantenimientos … es muy facil, normalmente a un programador le demoraria unas 5 o 10 horas dependiendo del tamaño hacer un mantenimiento… en sharepoint solo basta con definir la tabla y el sistema automaticamente hace el mantenimiento… media hora si el programador recien esta aprendiendo…. con las validaciones respectivas.. para esto.. la herramienta cuenta con una interfaz muy sencilla que lo podria hacer cualquier usuario final. por ejm.. si uno de nuestros campos es una fecha basta con indicarle al portal que determinado campo es fecha. El sistema automáticamente asocia un control calendario en la funcionalidad agregar y modificar.

 

Porqué dedicarle una categoria entera a una herramienta administradora de contenido?… pues xq es una de las herramientas que me ha simplificado la vida y tengo un poco de experiencia y quiero compartirla con las personas que me han pedido que haga una categoria donde publique todo lo que he aprendido en unos cuantos años manejando esta herramienta que estoy seguro les va a parecer una maravilla.

 

Los beneficios de esta herramienta a diferencia de otros administradores de contenido son:
basicos: todas las herramientas administradoras de contenido cuentan con algunas funcionalidades comunes, las cuales tambien se encuentran en sharepoint como son : Compartir documentos, encuestas, foros, creacion de blogs, wikis, busquedas en el portal y creacion dinamica de paginas sin mucho esfuerzo.

 

Facilidad de uso: Una de las caracteristicas que diferencia a esta herramienta de otras administradoras de contenido es la simplicidad en el uso para construir el contenido dinamico, contiene una interfaz muy amigable en la cual por ejm para construir una pagina, basta con indicar el nombre de la pagina y luego se arrastran los controles (llamados webparts en sharepoint)…. si se requiere mostrar una imagen existe el control imagen… si se desea llenar una libreria de documentos con control de versiones y permisos a nivel de carpetas y documentos solo se debe arrastrar el control libreria de documentos, el control foros, el control encuestas… casi todas las funcionalidades que desarrollamos y pasamos tiempo programando, ya se encuentran desarrolladas en sharepoint… y si alguna funcionalidad no se encuentra, es muy facil de construir… Casi no se toca el teclado…. todo el desarrollo es orientado al click… 🙂

 

Creacion de formularios: Esto es lo que más me sorprendio en la version 2007 de sharepoint… una funcionalidad en la cual se puede crear el formulario más complicado del mundo en infopath (como una vez me dijo un consultor de microsoft …. infopath lo puede manejar hasta mi abuelita)…. y luego de crearlo se cuelga en un servidor de formularios, luego se publica dentro de una libreria de formularios ( un control de sharepoint que solo se debe arrastar hacia la pagina… muy facil) y automaticamente la herramienta crea las funcionalidades de agregar, modificar, eliminar, control de versiones, se activa el workflow listo para configurar en caso se tenga un modulo de aprobaciones de formularios… todo via web. No se necesita de tener el infopath cliente servidor en cada maquina, la herramienta convierte el formulario de infopath en un formulario web automaticamente…. hermoso no?… esto ahorra horas, dias, meses de desarrollo.. en los cuales no se programa, solo se debe diseñar el formulario… y nos da tiempo para concentrarnos en la logica del negocio… le gusta al cliente?… quieres diez campos más?…. ok no hay problema.. vuelvo en 10 minutos con tu nuevo formulario :)….. o mejor dile a tu secretaria que lo haga… yo le enseño :)…..

 

Workflow: La creacion de flujos en sharepoint es tan sencilla y la interfaz es tan amigable que hasta un usuario final lo podría hacer… digo hasta…. porque en la version 2003 era un poco complicado construir el flujo de trabajo… en la version 2007 la herramienta cuenta con una interfaz para indicar… el documento se va de la libreria 1 a la libreria 2 cuando es aprobado, manda un mail al autor y a un grupo determinado.. comunicando que se ha aprobado el documento. No es necesario hacer 1 linea de codigo de programacion… la herramienta cuenta con una interfaz muy amigable en la cual lo mas complicado es entender “que significa… if … then… elseif… else…” por lo menos asi es en la version en ingles… no he visto la version en español pero supongo que ha puesto “si.. entonces… caso contrario”.

 

me canse de tocar el teclado despues de tiempo… todo el dia me la paso haciendo clic… asi que otro dia continuare con este blog para comentar las maravillas de esta herramienta que me ha facilitado la vida.. 🙂

Sigue leyendo