jueves, 26 de marzo de 2009

[Sharepoint Online] Error Privacy Statement

Al manejar los servicios web de Sharepoint Online nos encontraremos con el siguiente error al consultar la estructura WSDL:

The requested page does not contain a link to the Microsoft Online Services Privacy Statement. The page cannot be displayed until a link to the Privacy Statement is added

Si intentamos acceder desde Internet explorer veremos un mensaje de error de formato de Xml.

Si vemos el código fuente de la página de error veremos el mensaje y además nos recomienda consultar el siguiente enlace Add the Privacy Statement to your SharePoint Online Site. Esta página de ayuda nos informa que debemos tener en nuestras páginas, en especial la masterpage, la siguiente entrada:

<microsoftOnline:RequiredContentPlaceHolder id="RequiredContentPlaceHolder" runat="server"/>

Al parecer parece que es un error que van a solucionar en breve, de momento, como solución tendremos que implementar nuestra claxe proxy conectando contra un servicio de un MOSS o WSS normal y luego cambiaremos las credenciales y la url apuntando al servicio de Sharepoint Online.


Dependemos del Software o de las personas?

En estos momentos de crisis en los que todo el mundo recurre a los recortes como primera medida se pueden plantear situaciones peculiares, me quiero dirigir sobre a todo a los recortes que se hacen desde las grandes cifras y no desde el conocimiento del negocio. Es de todos conocidos los despidos masivos que se están realizando en estos últimos meses, no quiero entrar a valorarlos, pero si plantear ¿qué pasa cuando prescindimos del personal de TI o encargado de mantener grandes sistemas de los que depende nuestra empresa?.

Los sistemas o aplicativos se construyen para ser utilizados por personas, ya sea para aumentar la productividad o bien para prestar un servicio a los clientes. La interacción de las personas para el funcionamiento y provisionamiento de los sistemas debería ser muy inferior a la que se necesitaría para realizar ese servicio de forma manual. Esa es la teoría de los grandes números, pero ¿qué pasa cuando el sistema es muy grande y no se disponen de las personas suficientes para mantenerlo adecuadamente?.

Mantener un sistema no se aprende de la noche a la mañana, tienes que conocer el negocio, la tecnología y cómo está implantado. Aunque documentemos mucho nuestros sistemas y tengamos a personal cualificado, siempre existirá un conocimiento que reside en las personas y no en la empresa, esto puede producirse en mayor o menor medida en función del tamaño de la empresa y la organización de los departamentos.

Se están produciendo casos en los que algunas organizaciones (e incluso organismos oficiales) están haciendo tantos recortes en personas que de repente se encuentran con que no son capaces de mantener los sistemas que ya tienen implantados, “¿y esto cómo se hacía?”, “¿y esto quien lo lleva?”, son los que quedan los que entonces tienen que hacer apretones para intentar pasar el temporal.

Se puede dar el caso que algunos recortes excesivos se hagan conscientemente para hacer una “limpieza” con la idea de “metemos a un chavalito que lo aprende en dos días y ya verás que bien”, jeje, Esto si se hace como costumbre al final es perjudicial, debe existir un equilibrio de perfiles y experiencias, si esto no existe tenemos “parche sobre parche”.

También puede ocurrir que nuestro negocio dependa de un sistema, ¿ qué pasará si prescindimos entonces de una parte importante de los que lo mantienen?.

 

Bueno, mi conclusión es que se debe llegar a un equilibrio entre la dependencia del software y de las personas, debemos tomar medidas para evitar una dependencia extrema de alguno de los dos. Hay que enfatizar el documentar, planificar, organizar, la motivación de las personas y lo más importante de todo: preparar a las personas. También debemos evitar las parcelas de conocimiento, el knowhouse es beneficioso para todos.

 

Así que, “a trabajar Fonseca!!

domingo, 22 de marzo de 2009

Un año en Renacimiento

Ya hace un año que me incorporé a Renacimiento, como pasa el tiempo. Hace un año tomé la dura decisión de saltar de empresa y aposté por Renacimiento como una oportunidad profesional. Haciendo balance creo que no me equivoqué.

Al principio me costó adaptarme a algunas formas de trabajo, ya que venía de un formato muy distinto. Me acuerdo en el primer proyecto hasta me preguntó mi primer gerente que porqué estaba “haciendo horas de más”, algo inconcebible para mí siempre trabajaba más de 8 horas. Me argumentaba que “si tenía que trabajar más horas era porque se había estimado mal o había un problema no detectado”, cosa que no era el caso. Con el tiempo me fui adaptando a esta forma de trabajar, no es que trabaje menos, sino que te organizas mejora para salir a tu hora.

Otro de los aspectos importantes es el de la calidad en la documentación, planificación y desarrollo. En este sentido hay una exigencia muy alta, ya que si no fuera así no se podría conseguir unos resultados aceptables trabajando ocho horas y no se podría dar la calidad que se vende como valor añadido. Para favorecer este objetivo se intenta que como máximo cada persona esté asignada a un proyecto. Esto permite centrarte muchísimo en el proyecto, cuando llevas varios proyectos al mismo tiempo al final trabajas apagando fuegos y no puedes atender como debiera a cada cliente.

El conocimiento también es uno de los pilares importantes. Renacimiento destaca por ser una de las empresas punteras en España en proyectos de nuevas tecnologías. El conocimiento también tiene que ver con la calidad y la productividad. Para conseguirlo se fomenta la formación de las personas mediante cursos internos, talleres, charlas, blogs y herramientas de soporte y conocimiento.

El resultado ha sido bastante positivo, he ganado en calidad de vida y he participado en proyectos muy interesantes. Creo que profesionalmente ha sido un acierto.

Formularios con Infopath

Después de unos días preparando una serie de materiales por fin he sacado un hueco para continuar con la temática de infopath. En el post anterior hablábamos acerca de la diferencia entre “Infopath Form Services y Office Forms Server” y “Empezando con Infopath”. En este post veremos cómo definir un formulario en Infopath y las opciones de publicación.

Para crear un formulario Infopath tendremos que diseñar una “plantilla de formulario”, que consiste en un fichero con extensión “.xsn” que contendrá la definición del formulario, los recurso adjuntos, consultas sql o servicios web, código .net (dll).

Empezaremos abriendo el cliente Microsoft Office Infopath y seleccionaremos la opción “Diseñar una plantilla de formulario”, a continuación seleccionamos una plantilla en blanco. Se abrirá entonces una ventana en blanco sobre la que diseñaremos nuestro formulario. entre los elementos disponibles distinguimos los siguientes:

  • El menú superior con todas las opciones disponibles.
  • El menú lateral de tareas de diseño, básicamente un acceso directo a las opciones de diseño del formulario. La zona de diseño, corresponde con la zona central sobre la que desplazaremos los controles para diseñar nuestro formulario.

Para el ejemplo vamos a diseñar un formulario con el que podamos insertar las notas de gasto (podéis descargaros la plantilla de ejemplo), para ello tendremos que solicitar al usuario los datos personales para saber de quien son los gastos, la fecha de los gastos, el concepto, el importe y un campo de observaciones.

Lo primero que vamos a hacer es insertar una tabla para distribuir el contenido de forma uniforme. Seleccionamos en el menú de tareas de diseño > diseño >Tabla personalizada ... Nos aparecerá un cuadro de diálogo preguntando por la distribución de columnas y filas de la tabla, en nuestro ejemplo insertamos 1 columna y el menos 3-5 filas. La primera fila la utilizaré para insertar una imagen con el logo de la empresa y un texto con el título del formulario. Si queremos alinearlo un poco más podemos insertar otra tabla dentro de la primera fila.

Para insertar la imagen tendemos dos opciones: agregarla como recurso incrustado en la plantilla o como vínculo a un campo del formulario. En nuestro caso la agregaremos como recurso del formulario, es decir, la imagen se almacenará dentro del fichero xsn. Podremos hacerlo desde el menú de tareas de diseño > controles > imagen o bien arrastrando el fichero de la imagen sobre la superficie de diseño.

Para disponer de una vista preliminar del formulario podemos seleccionar la opción Archivo > Vista previa > formulario. Esto nos abrirá otra instancia de Infopath con el formulario actual.

Ahora insertaremos una sección con los datos personales, en nuestro caso he agregado una tabla en la 2º fila para añadir los distintos campos. Solicitaremos el nombre, apellidos, email, nº empleado, departamento etc.

Para agregar un texto podemos poner el foco directamente sobre la zona de diseño y escribiremos el texto. A continuación añadimos un control del tipo textbox desde tareas de diseño > controles > Cuadro de texto. Al añadirlo veremos que nos añade una caja intentando ocupar el 100% del ancho de la casilla de la tabla. Para establecer el tamaño podemos establecerlo desde el panel de propiedades del textbox pinchando dos veces > tamaño ,o con botón derecho > propiedades > tamaño. También podemos establecerlo encogiéndolo con el ratón, pero ojo hacerlo desde el lado izquierdo de la caja ya que si lo hacemos desde la derecha nos encogerá además el ancho de la columna.


Otra de las cosas que podemos ver al añadir el textbox es que en las propiedades nos aparece un campo con el texto “Nombre del campo”. Este campo no es en realidad el nombre del control, sino el nombre del campo donde se almacenará el dato insertado.

Orígenes de datos


Ya hemos comentado que Infopath genera un xml a partir de los datos introducidos en el formulario.

Este xml se maneja desde el origen de datos principal. Para visualizar su estructura podemos entrar en tareas de diseño > orígenes de datos y seleccionaremos en el combo “Orígenes de datos” el valor “Principal”. Según vaya creciendo nuestro formulario el origen de datos irá creciendo.

Desde esta ventana podemos editar además el tipo de campo del origen de datos, podemos establecerlo como cadena, numérico, fecha, hora, etc..

Desde las propiedades del control podemos especificar como se realizará la entrada de datos. En caso que queramos cambiar el campo en el que se guardarán los datos del control podremos hacerlos in tener que escribir el nombre, seleccionando con el botón derecho el control > cambiar enlace.

Podemos tener más orígenes de datos, estos orígenes de datos los utilizaremos para leer datos de una bbdd, un servicio web, un fichero xml o una lista de sharepoint.

En el siguiente post veremos cómo manejar los orígenes de datos.

Tablas extensibles

Las tablas extensibles serán la forma que tengamos de definir un conjunto de datos de forma conjunta, podremos definir tablas de controles de manera que en tiempo diseño especifiquemos que controles aparecerán por cada una de las líneas de la tabla y a que nodo del Xml del origen de datos primario se asociará. Las tablas extensibles permiten al usuario agregar o quitar líneas en tiempo de ejecución. Cada una de estas filas corresponde con un nodo xml que agrupa a otra seeríe de nodos hijos.

Añadiremos la tabla extensible desde tareas de diseño > controles > Tabla extensible, a continuación indicaremos el número de columnas de nuestra tabla. En la siguiente imagen vemos como los nodos del xml para almacenar la fecha el tipo de gasto y el importe se agrupan de un nodo con el título “grupo1” y “grupo2”. Esto hará que al generarse el xml con los datos del usuario se creará un nodo “grupo2” por cada una de las líneas que se inserten en la tabla extensible. Si hacemos una vista previa de nuestro formulario dispondremos de una opción “Insertar elemento” para agregar una línea en la tabla. Para eliminarla podremos posivionarnos sobre la fila y nos aparecerá un botón a la izquierda con la opción de “Quitar”.






Al guardar el formulario tendremos un xml con el siguiente formato:

<?xml version="1.0" encoding="UTF-8"?>
<?mso-infoPathSolution solutionVersion="1.0.0.4" productVersion="12.0.0" PIVersion="1.0.0.0" href="file:///C:\Users\Administrador\AppData\Local\Microsoft\InfoPath\Designer2\7d8c9a95df2b42bc\manifest.xsf" ?><?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?><my:misCampos xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance%22 xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2009-03-20T16:27:26%22 xmlns:xd="http://schemas.microsoft.com/office/infopath/2003%22 xml:lang="es-ES">
<my:txtNombre>Mario</my:txtNombre>
<my:txtEmail>mariocortesflores@hotmail.com</my:txtEmail>
<my:txtApellidos>Cortés</my:txtApellidos>
<my:txtNumeroEmpleado>22334</my:txtNumeroEmpleado>
<my:grupo1>
<my:grupo2>
<my:txtFecha>2009-03-10</my:txtFecha>
<my:campo3></my:campo3>
<my:txtImporte>10.5</my:txtImporte>
<my:tipoDeGasto>Taxi</my:tipoDeGasto>
</my:grupo2>
<my:grupo2>
<my:txtFecha>2009-03-12</my:txtFecha>
<my:txtImporte>5.4</my:txtImporte>
<my:tipoDeGasto>Parking</my:tipoDeGasto>
</my:grupo2>
<my:grupo2>
<my:txtFecha>2009-03-12</my:txtFecha>
<my:txtImporte>36.5</my:txtImporte>
<my:tipoDeGasto>Comida</my:tipoDeGasto>
</my:grupo2>
</my:grupo1>
<my:txtObservaciones></my:txtObservaciones>
</my:misCampos>

Publicación

Una vez finalizado nuestro formulario publicaremos la plantilla en Sharepoint. Para hacerlo disponemos de dos mecanismos: Desde el asistente de Infopath o desde la administración central de Sahrepoint.

Cómo esto ya está explicado muy bien Juan Carlos González en su post MOSS: Publicación de formularios Infopath…el otro camino! echarle un vistazo.

martes, 24 de febrero de 2009

El problema no es empezar, es continuar!!

Los blogs forman parte de lo que se llama la Web 2.0, los blogs están de moda, tener uno “mola”, cuentas tu vida, tus historias e incluso la cosas de otros. Los blogs tecnológicos se han convertido en una herramienta imprescindible en poco tiempo. Aportan la información y experiencia que no encontramos de los fabricantes y especificaciones. Los blogs están abriendo el conocimiento y la experiencia “seguro que hay alguien que ya le ha pasado antes o lo ha hecho antes”.

Microsoft por ejemplo se dio cuenta que las comunidades eran imprescindibles para conseguir el soporte que no eran capaces de prestar y otros ya habían conseguido hace tiempo “había que estar ahí”. Las comunidades relacionadas con tecnología Microsoft se han multiplicado, los MVP’s y los evangelistas están haciendo una tarea didáctica muy importante, y están teniendo éxito porque no se guardan información e intentan que todo el mundo participe.

Últimamente se están estilando los blogs corporativos, consisten en blogs promocionados por las empresas para publicitar a sus profesionales (y así misma). El problema viene cuando escribir se convierte en una obligación. Un blog es difícil de mantener, es necesario dedicarle mucho tiempo. Se necesita tiempo en escribirlo y prepararlo. Sobre todo cuando después de haberse pasado la euforia de la primera entrada dejamos de escribir o ya no encontramos tiempo ni ganas. Entonces el blog se convierte en una obligación más que en una idea o actitud.

Mi consejo es que os animéis a escribir un blog, es una actividad muy gratificante, nos sirve para clarificar las ideas y ampliar los conocimientos.

Si estáis empezando podéis visitar el post Check Point For Aspiring Blogger.

¿Sobre qué podemos escribir?

  • Post rápidos: podemos escribir acerca de una noticia u otra entrada muy completa. No es bueno escribir muchas de este tipo.
  • Post detallados: consiste en hablar acerca de un tema de forma muy detallada. ´Son útiles pero difíciles de preparar.
  • Step by step: consiste en un paso a paso. La gente lo agradece mucho
  • Post resolutivos: hablan de como resolver un problema que nos hemos encontrado.

domingo, 22 de febrero de 2009

Infopath Form Services y Office Forms Server

Continuando con el anterior post “Empezando con Infopath”, vamos a subir un poco más de nivel para ver en que versiones de sharepoint podremos utilizar Infopath Form services. En la siguiente imagen podemos ver las funcionalidades por versión de sharepoint:




Fijaros que Infopath Form services solo está disponible para la versión Enterprise de MOSS, con lo que si tenemos la versión Standard o wss3, ¿no podemos utilizar Infopath Form Services?. La respuesta, es que “sí podemos”, pero en función de que versión tengas de sharepoint habrá una solución distinta.


¿Cómo uso Infopath Form Services si tengo WSS3?

Lo que ha hecho Microsoft para este caso es sacar el componente de Infoptah Form services en un paquete que lo ha denominado “Microsoft Office Forms Server”. Form Server está basado en WSS3 por lo que no tendremos ningún problema a la hora de montarlo en nuestra granja de Wss3.

El instalador de Form server instala todos los binarios de Wss3 + los necesarios para infopath forms services.

Office Form server

Office Form server es el nombre que se ha dado a sacar Infopath Form services de MOSS y meterlo en un paquete aparte junto con Wss3.

Algo parecido se ha hecho por ejemplo con Search Server o Project Server.



La forma de licenciar Office Form server es la siguiente:

Office Forms Server

- Se licencia por servidor.

- Se necesita una CAL por cada cliente que que accede a Office Forms Server 2007


Office Forms Server for Internet Sites

- Se licencia por servidor.

- Únicamente para extranet e internet sites

- Incluye toda la funcionalidad de Microsoft Office Forms Server 2007.


De manera que tendremos que adquirir una licencia por servidor de la granja que tenga habilitadas las funcionalidades de Infopath. Si nuestra ganja wss3 está formada por dos frontales deberíamos adquirir dos licencias de servidor de Form server. Si solo tubiéramos una licencia de Form server también podríamos hacer que funcionara en uno de los nodos pero de forma muy limitada y perdiendo la alta disponibilidad.


¿Cómo uso Infopath Form Services si tengo MOSS 2007 Standard?

Este caso es distinto al de wss3 ya que la instalación de MOSS 2007 lleva todos los binarios y ficheros de la Enterprise y es a la hora de introducir la licencia cuando se habilitan o deshabilitan las funcionalidades, además que siempre podemos pasar a la Enterprise.

Para este caso Microsoft recomienda que habilites las características Enterprise y adquieras una licencia CAL de Enterprise para aquellos usuarios que usen solo las funcionalidades Enterprise.

Por lo que tendremos que ser nosotros los que limitemos los usuarios para no tener que adquirir demasiadas CAL de Enterprise.

Server and client access licensing. For each server, or each server in a farm, a valid server license must be purchased. For each client accessing Office SharePoint Server 2007, a Standard CAL must be purchased. To enable the enterprise features of Office SharePoint Server 2007, an Enterprise CAL, in addition to the Standard CAL, must be purchased. Once the enterprise features are enabled on a server, clients accessing that server, or farm of servers, should have a valid Enterprise CAL in addition to their Standard CAL when accessing the enterprise functionality.

De modo que para que los usuarios puedan utilizar Infopath Form Services en MOSS tendremos que adquirir una CAL Standard + CAL de Enterprise por cada usuario que lo utilice.

Podéis encontrar más información de licenciamiento en:

Microsoft Office SharePoint Server 2007 and Related Technologies pricing

Microsoft Office SharePoint Server 2007 frequently asked questions

o consultando con vuestro soporte preventa o comercial de Microsoft.


¿Puedo montar Office Form Server sobre una granja MOSS Standard?

Técnicamente se puede, aunque no es la mejor solución técnica y económica, ya que el coste de licencias es muy similar y casi no sale rentable.

En caso que ya tengas adquirida las licencias de Form Server puedes agregar un nuevo nodo con Form Server a la granja pero con muchas limitaciones:

  • No pueden coexistir en un mismo equipo Office Form Server y MOSS 2007, por lo que tendremos que montarlo en nuevo nodo.
  • Como las licencias de Form Server van por servidor (y CAL de usuario) deberíamos limitar los accesos a la funcionalidad de Infopath services solo a aquellos nodos que tengan adquirida la licencia.
  • No podremos utilizar las funcionalidades de MOSS (publicación, colaboración etc.) en el nodo que tenga instalado Form Server, ya que éste solo tendrá los binarios de Wss3 y puede que no sea capaz de procesar las peticiones a determinados sitios con estas características. Tendremos que limitar los accesos a este servidor solo para los nuevos sitios que utilicen Infopath Forms Services y los usuarios que tengamos CAL de Form server adquirida.


Como resumen, si tenemos MOSS 2007 Standard es mejor pasar a la versión Enterprise de MOSS en lugar de adquirir Office Form Server.

Podéis encontrar más información técnica en:

Microsoft Office Forms Server TechNet TechCenter

Planning and architecture for Office Forms Server 2007

Empezando con Infopath

Infopath es la solución que nos proporciona Microsoft para crear formularios de una forma rápida y ‘sencilla’. Tenemos dos formas de trabajar en modo cliente con los formularios: desde el cliente office de Infopath y desde un entorno web.

La idea de infopath es proporcionar una herramiena para diseñar formularios sin necesidad de realizar un desarrollo a medida o desplegar una gran cantidad de componentes. Infopath además permite manejar datos de entrada procedentes de varios orígenes de datos distintos: de una bbdd, un servicio web, un xml y una lista de sharepoint. Los datos que introducimos en el formulario de infopath se guardan en formato xml o son enviados a un destino configurado en tiempo de diseño.

Sharepoint tiene la capacidad de integrar los formularios infopath de forma ‘nativa’ de dos formas: mediante librerías de formularios y mediante Infopath Form services.

Las librerías de formularios consisten en librerías de documentos con una plantilla de infopath asociada, de forma que la edición de los elementos se maneja mediante el formulario Infopath y los datos manejados se almacenan en formato xml en la librería.

Infopath Form services consiste en un componente instalado en el servidor encargado de renderizar en Html los formularios diseñados en Infopath. Esto evita la necesidad de tener instalado el cliente Infopath para trabajar con los formularios. Para manejar los formularios con Infopath Form services tendremos que subirlos a Sharepoint desde la administración central e indicar en que sitios podremos manejarlos. En el post “MOSS: Publicación de formularios Infopath…el otro camino!” podéis encontrar como publicar un formulario.

Una vez configurados podremos visualizarlos en nuestros sitios con el webpart XmlFormView, si no lo tenéis habilitado podéis consultarlo en “Embedding InfoPath Form in SharePoint Page”.