Nuevos Paquetes Acumulativos para Office 2007 y Office 2003 de Febrero del 2010



¿Vas a RITSI? ¡Ven al Workshop Xamarin is Coming y llévate un premio!


Quizás has ido a uno de los Xamarin Dev Days que se han celebrado en múltiples ciudades a lo ancho y largo de la geografía española. Mira las ciudades donde ha habido evento, y en las que habrá en el futuro. O asististe al workshop de Xamarin en Codemotion.

También puede ser que seas un perfil inquieto al que le guste saber cosas nuevas y quieres aprender cómo funciona Xamarin.

Xamarin es la tecnología de Microsoft que te permite crear aplicaciones cross-platform (para Windows 10, iPhone y Android) nativas, en C# y compartiendo el mismo código.

Si quieres saber un poco más sobre Xamarin y asistes a RITSI  el próximo 17 de marzo, puedes acudir al Workshop Xamarin is Coming durante el evento para hacer la aplicación y resolver dudas. Una vez termines de hacer el laboratorio, lo único que necesitamos es que hagas una pequeña personalización del ejercicio final que ya comunicaremos.

¿Y tengo premio?

¡Claro que si! Si completes el taller con la modificación  te llevas una camiseta puesta (tan molona como esta):

Camiseta

Te esperamos!


Volar con IoT y los Servicios Cognitivos


El pasado día 18 tuvimos uno de los mayores eventos nacionales de IoT: IoT Connect 2017. Se realizó en nuestras oficinas de Madrid con la colaboración de Intel y otros partners importantes del sector. En el evento vimos cómo muchas compañías están innovando con esta nueva ola de tecnología que llamamos IoT.

Hablamos de cloud, de blockchain, de inteligencia artificial, de seguridad y de muchas otras cosas que se pueden hacer cuando conectamos nuestras cosas y, sobretodo, de cómo automatizar todo lo automatizable. Para demostrarlo construimos en unos pocos días una solución completa para mostrar hasta dónde podemos llegar. En esta ocasión teníamos una tubería, un dron y toda la potencia que nos proporcionan los servicios de Azure para darle vida a nuestro proyecto.

image

Mantenimiento remoto de tuberías y algo más

El escenario que nos planteamos para la demostración es un sistema de mantenimiento remoto de tuberías mediante un sistema de sensores. Con la información que recogen los sensores, podemos crear un sistema de monitorización remota de las mismas, pero nos encontramos con una serie de problemas adicionales que nos gustaría resolver:

  • Cuando una tubería sufre una anomalía se tiene que desplazar un técnico hasta la misma para ver qué está ocurriendo
  • En ocasiones tendremos falsos positivos, por fallos en los sensores
  • Los sensores no son suficientes para conocer el alcance del problema antes de que vaya el técnico a repararlo
  • Las ordenes de trabajo se tienen que crear manualmente
  • Los técnicos tienen que usar herramientas poco naturales para ellos

Por eso planteamos una solución mucho más atrevida y divertida. Crear un sistema que detecte y evalúe el fallo en la tubería. Una vez detectada una anomalía, lanza una solicitud a un dron que vuela hasta la tubería, saca una fotografía de la misma y la envía a Azure para que se genere una orden de trabajo.

image

Simulación de las tuberías

Para poder probar todo el sistema no contábamos con un sistema real de tuberías, así que primero nuestro compañero Daniel Tabuenca construyó un simulador con Node-RED para enviar toda la información a Azure IoT Hub. Node-RED es un sistema de programación basado en flujos, especializado en IoT y que cuenta ya con nodos para contectar a Azure IoT Hub.

image

Además de poder instalar Node-RED en cualquier dispositivo, también podemos desplegarlo en una Web App de Azure. Con el mismo sistema, también construimos una interfaz de usuario con el módulo Dashboard para mostrar el estado de las tuberías simuladas:

image

 

Para la demo en directo, también usamos un módulo ESP8266 junto con un sensor de distancia, para tener un dispositivo físico que nos diera el nivel agua de la tubería y enviara a IoT Hub la información a través de la WiFi.

Control del dron

Una vez llega la información a IoT Hub, la analizamos con Stream Analytics y una función de detección de anomalías en Azure Machine Learning. Esto genera una alerta que se recoge con una Azure Function para enviar un mensaje al software de control del dron, que también está registrado como dispositivo en IoT Hub. Esto nos permite enviarle mensajes de forma remota y que el dron pueda enviar información a IoT Hub, tanto telemetría de su funcionamiento como la foto de la tubería que sufre la anomalía.

WP_20170412_09_55_40_Moment

Para controlar el dron en interior no podíamos usar localización GPS, así que usamos una librería de visión artificial para reconocer patrones y así poder dirigir de forma automática el dron hacia una forma predefinida, en este caso una tubería de color naranja. Para desarrollar la aplicación de control usamos las librerías OpenCV, que se pueden usar en C# gracias a Emgu, que nos permiten analizar las imágenes en tiempo real. El dron se acerca a la tubería hasta una distancia determinada y saca una foto y para enviarla a IoT Hub, que se procesa mediante Cognitive Services para identificar mejor la avería.

  • AR.Drone, una librería en C# para controlar el dron que puedes compilar para .NET y Mono.
  • OpenCV es una librería de código abierto desarrollada inicialmente por Intel. Para utilizarla en vuestras aplicaciones .Net existen diversos wrappers, yo usé EmguCV.
  • Microsoft Cognitive Services es un conjunto de servicios que tiene modelos de machine learning ya preparados para consumir vía API.

Con la información generada por la propia tubería y la foto realizada por el dron, se genera una orden de trabajo en Dynamics 365, pero el técnico, en lugar de interactuar con una aplicación para ver qué incidencias tiene pendientes, tiene una conversación con un bot construido sobre el Microsoft Bot Framework. Además de obtener las incidencias pendientes y poder ver la información que se ha generado, el técnico puede realizar preguntas al bot, como, por ejemplo, que le muestre otras reparaciones parecidas para saber qué materiales debería llevar antes de salir del taller:

image

Como os contaba antes, para que todo esto funcione, hace falta unir algunos puntos como la información de IoT Hub de la tubería con AzureML, la notificación al dron, la creación de una orden de trabajo. Para estas tareas usaremos servicios "serverless" que encontramos en Azure:

image

  • Azure Stream Analytics nos sirve para analizar la información en tiempo real con una consulta SQL, nos permite enlazar con Azure Machine Learning de forma que podamos aplicar un modelo entrenado a los datos que nos están llegando desde IoT Hub y enviarlo a Event Hubs para poder seguir tratando esa información en tiempo real.
  • Azure Functions, usando una fuente de eventos como Event Hubs, ejecutamos código en modo pago por ejecución en Azure cuando llega un nuevo evento y dependiendo del contenido enviamos a IoT Hub un mensaje para que el dron se ponga en marcha
  • Logic Apps, también conectado a Event Hubs, cuando tenemos toda la información enviamos los datos necesarios a Dynamics 365 sin necesidad de programar ni levantar ninguna máquina.

Resumen de tecnologías

El código fuente de la demo está en GitHub. Hemos utilizado las siguientes tecnologías:

 

Que tengáis un feliz vuelo.


Xamarin Madrid: Comunidad renovada


Presentación:

Xamarin Madrid es un grupo para todos los interesados en una multiplataforma usando Xamarin.

Nuestra idea es realizar encuentros periódicos donde se puedan realizar laboratorios, demonstraciones de todas las posibilidades de Xamarin y encuentros, donde podamos intercambiar experiencias.

No importa el nivel ni la experiencia, solo es necesario tener ganas de aprender y disfrutar con el desarrollo de Software.
En nuestro Meetup podrás encontrar la agenda con nuestros próximos eventos:
• 7 de noviembre: Experiencia de Xamarin en grandes proyectos reales

De momento tenemos planificado uno, ¡pero solo es el primero de muchos!

Objetivo

El objetivo del grupo es compartir conocimiento y experiencia en el desarrollo multiplataforma con Xamarin y todo lo que esté relacionado, como puede ser IOS, Android, UWP, .Net, patrones y etc…

¡Anímate y únete, te esperamos!

Información de contacto y enlaces de interés

Email: xamarin-madrid@outlook.com
Twiter: @Xamarin_Madrid
Meetup: https://www.meetup.com/es-ES/Xamarin-Madrid/


Actualizaciones de Diciembre 2009


Ya se han lanzado las actualizaciones acumulativas de Office y Outlook de Diciembre. Adjunto los enlaces:

Para Office 2007:

https://support.microsoft.com/default.aspx?scid=kb;EN-US;978223

Para Office 2003:

https://support.microsoft.com/default.aspx?scid=kb;EN-US;978224

Hemos tenido conocimiento de la disponibilidad temporal y gratuita de un e-book sobre Office 2010 disponible en el blog de MSDN de Microsoft Press. Resulta muy interesante tener esta información para conocer mejor el producto antes del lanzamiento. Aquí dejo el enlace :)

Free e-book: "First Look: Microsoft Office 2010" 

https://blogs.msdn.com/microsoft_press/archive/2009/12/09/free-e-book-first-look-microsoft-office-2010.aspx

Saludos,

Eduardo


Archivos PST En Red


Y seguimos con PSTs dado que actualmente seguimos recibiendo consultas sobre si dichos archivos se encuentran soportados como almacenes en la red corporativa, siendo accedidos por varios usuarios de forma compartida y concurrente.

Esta práctica queda fuera del diseño y del propósito para el cual fueron diseñados los archivos de Carpetas Personales PSTs.

Dicha cuestión se aborda en el siguiente artículo público de nuestra Base de Conocimientos (KB):

No se admiten los archivos de carpetas personales a través de un vínculo LAN o WAN

https://support.microsoft.com/kb/297019/es

Los detalles a destacar extraídos del propio artículo son los siguientes:

Un archivo .pst es un método basado en acceso de archivo para el almacenamiento de mensajes. El acceso de archivo significa que el equipo usa comandos de acceso de archivo especiales que el sistema operativo proporciona para leer y escribir datos en el archivo.
Esto no resulta eficaz en vínculos de WAN o LAN porque éstos usan métodos de acceso de red, comandos que el sistema operativo proporciona para enviar o recibir datos de otro equipo en red. Si hay un archivo .pst remoto (a través de un vínculo de red), Microsoft Outlook intenta usar los comandos de archivo para leer del archivo o escribir en él, pero el sistema operativo tiene que enviar estos comandos a través de la red ya que el archivo no se encuentra en el equipo local. Esto supone una gran sobrecarga y aumenta el tiempo que se tarda en leer y escribir en el archivo. Además, el uso de un archivo .pst a través de una conexión de red puede dar lugar a un archivo .pst dañado si se produce un error en la conexión o se deteriora.

Otros comportamientos de los archivos .pst a través de vínculos WAN/LAN

· Todas las operaciones tardan más.

· Las operaciones de escritura pueden durar aproximadamente cuatro veces más que las de lectura.

· Outlook tiene un rendimiento menor que el cliente de Exchange.

Por los motivos mencionados anteriormente, los archivos de las carpetas sin conexión (.ost) y los archivos de la libreta personal de direcciones (.pab) en un recurso compartido de red a los que se tiene acceso de forma remota tampoco son configuraciones admitidas.

Y para más profundidad en el tema tenemos la siguiente referencia al Blog del Equipo de Performance, en el cual podemos ver que tanto el título como el vínculo al mismo lo dicen todo J

Network Stored PST files ... don't do it!

https://blogs.technet.com/askperf/archive/2007/01/21/network-stored-pst-files-don-t-do-it.aspx

Tenemos que decir no obstante que dado el interés que suscita esta cuestión de poder almacenar y acceder a dichos archivos PST a través de la red, se ha estudiado en numerosas ocasiones dicha posibilidad y que por el momento no se ha generado una solución soportable en ningún sentido … por tanto "don't do it" :)

De la misma forma otros clientes nos hicieron llegar en su momento la misma cuestión en relación a las bases de datos del complemento Business Contact Manager de Outlook,  y que no es posible debido a su diseño; ya que se encuentran administradas localmente por el pequeño motor cliente de Microsoft SQL Server 2000 Desktop Engine (MSDE).

El sitio de sitio de Business Contact Manager en Office Online:

https://office.microsoft.com/es-es/contactmanager/FX101674173082.aspx

Y más detalles sobre el mismo complemento:

Descripción general de Microsoft Office Outlook 2007 con Business Contact Manager

https://office.microsoft.com/es-es/contactmanager/HA101656363082.aspx 

Aprovechamos para facilitar un enlace de refresco para el nuevo formato de los archivos PST Unicode y las mejoras que aporta respecto al ANSI de versiones 97-2002:

Unicode Enhancements in Outlook 2003

https://office.microsoft.com/en-ca/assistance/ha011402551033.aspx

Esperamos que os sea de utilidad.

Saludos!!!

Luis & Eduardo


Asistente de Impresión de Calendarios de Outlook ó Calendar Printing Assistant for Outlook (CPAO).


Como ayer ya comenzamos con Outlook y sus complementos como es el mencionado Business Contact Manager vamos a hablar hoy del otro complemento conocido como Asistente de Impresión de Calendario de Outlook o por sus siglas en inglés CPAO.

Se trata de un complemento que permite elegir en base a unas plantillas extender las posibilidades nativas que posee por defecto el el cliente Outlook para realizar la impresión del Calendario de Outlook 2007 con distintos y nuevos diseños como vemos en la siguiente captura de pantalla:

Imprimir vistas de calendarios dinámicos

Para más datos os facilitamos el enlace a la web principal de dicho complemento:

Información general del Asistente de impresión de calendarios para Microsoft Office Outlook 2007

https://office.microsoft.com/es-es/outlook/HA101687213082.aspx

Para descargarlo y comprobar utilizar las capacidades que posee a la hora de imprimir y ver si se adapta a vuestras necesidades, lo podéis realizar desde la siguiente página pública:

Asistente de impresión de calendarios para Outlook 2007

https://www.microsoft.com/downloads/details.aspx?familyid=3f28d5dc-25a4-41bd-9c98-67c47c6cd8ff&displaylang=es

Las últimas actualizaciones sobre el CPAO se encuentran disponibles a continuación:

Descripción del Asistente de impresión de calendarios para Microsoft Office Outlook 2007 Service Pack 1

https://support.microsoft.com/kb/937157

Descripción del Asistente de impresión de calendarios para Outlook 2007 Service Pack 2

https://support.microsoft.com/kb/953329

En general las plantillas del CPAO se generan dinámicamente cuando invocamos al ejecutable del CPAO y que nos permite la visualización de las mismas en la interfaz de usuario del complemento. Como todo diseño tiene implícito algunas limitaciones.

En el pasado algunos clientes nos han manifestado su deseo de personalizarlas dado que su formato está basado en XML sería posible realizar cambios y manipularlas; pero desafortunadamente es una opción que no recomendamos ni soportamos ya que podrían crearse situaciones de riesgo para la información que se almacena en ellas o generarse efectos colaterales indeseables. De ahí la no existencia de documentación pública que ratifique la premisa del Grupo de Producto de Outlook a este respecto y que antes mencionábamos dado el propio diseño del complemento.

El complemento se instala en la raíz de "Archivos de Programa" por lo que la cuestión de tener que ejecutar siempre el complemento por no encontrarse dentro de la interfaz de usuario de Outlook hace que en la dinámica de trabajo diario sea distinta de la esperada, de tal forma que para mejorar la experiencia del usuario se puede buscar desde el propio CPAO una configuración que nos interese y se adapte a nuestra necesidades y podamos guardarla en formato CALX; y siempre podamos abrirla con doble click y de ahí ya podamos actualizar los datos desde la interfaz del mismo CPAO y proceder a la impresión.

Este paso guarda relación con lo que anteriormente hemos mencionado, nos referimos a la manipulación de dichas plantillas.

En caso de querer realizar algún tipo de manipulación para hacer pruebas os vamos a mostrar cómo se puede pero os recordamos la NO SOPORTABILIDAD de dichas acciones.

Podemos guardar la vista de la plantilla que vayamos a usar en dicho formato, por ejemplo como "Calendar1.calx" en el Escritorio (a modo de prueba):

image

Y tras ello, dado que el formato en el cual se encuentra construido, como ya hemos avanzado, es estándar Open XML podríamos abrirlo con una aplicación descompresora para desempaquetar el contenido, como se indica en la siguiente referencia pública sobre los nuevos formatos de interoperabilidad de Office 2007:

Formatos Open XML e Interoperabilidad

https://www.microsoft.com/spain/interop/openxml/ds_open_xml.mspx

De tal forma que podríamos ver el contenido de los mismos:

clip_image001clip_image002

En dicha ruta podemos ver el archivo "Content.xml":

C:\Desktop\Calendar1\Cal\Templates\Template2\Content.xml

Archivo que es el que a priori posee toda la información y estructura de la plantilla como se puede ver a continuación en la siguiente captura de pantalla:

image

Además existen más archivos que contienen la configuración del formato de la impresión como por ejemplo el archivo "Metadata.xml":

C:\Documents and Settings\USER\Desktop\Calendar1\Cal\Templates\Template2\Metadata.xml

clip_image001[7]

O donde se almacena la vista preeliminar de la plantilla para que sea interpretada por el CPAO y luego nos la muestre:

image

A modo de conclusiones, podemos decir que dado que el formato de las plantillas CALX está basado en el estándar XML son sensibles de ser personalizadas-manipuladas, pero como ya hemos recalcado no podemos ofrecer ningún soporte ni tampoco ninguna documentación adicional sobre los esquemas del diseño de las mismas así como el realizarlo de una forma eficiente ya que se desmarcan fuera del diseño para el cual han sido creadas.

Por tanto la única posibilidad que quedaría sería la de crear las personalizaciones por pruebas de ensayo y error, y no existe otra alternativa, dado que la alteración y generación de cambios en los componentes de las plantillas es donde reside la posibilidad de generarse efectos no deseados y de ahí la no soportabilidad de la solución en base al diseño de la aplicación en la arquitectura del cliente de correo Microsoft Outlook 2007.

Como información adicional sobre las plantillas del CPAO podemos informaros que existe una revisión específica para unas cuestiones determinadas de cómo el CPAO interactúa con las mismas CALX y que se corrigen en con la siguiente actualización:

Descripción del paquete de revisión de Outlook 2007: 23 de julio de 2008
https://support.microsoft.com/kb/955598

Y que además está disponible un paquete de plantillas extras nuevas para ser descargadas y que ofrecen nuevos diseños y posibilidades para el formato de impresión; se encuentran en la siguiente ubicación:

Templates for Calendar Printing Assistant for Outlook 2007
https://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a1ee753c-fbe3-4d4a-9bb3-cc46b242eafb

Esperamos que en este post os hayamos podido daros una nueva perspectiva sobre las posibilidades que ofrece este complemento de Outlook 2007 tan útil y esperado en muchos de los casos por ofrecer características que extienden las propias del producto.

Saludos!

Luis


Cómo determinar si Outlook está en modo caché sin acceder al perfil.


 

Algunos administradores desearían saber qué clientes tienen el modo activado y no pueden acceder directamente a las máquinas para ver el perfil. Hay varios métodos para comprobar eso:

Para Outlook 2003 y 2007:

1-En Exchange 2003, ir a ESM, server / storage group / Store (buzón o carpeta pública), logons y comprobar el modo de cliente.

Los valores son:

1-Modo online

2-Modo caché

Algunas columnas aparecen en la vista predeterminada, otros pueden ser añadidos mediante el botón derecho del ratón sobre Logons y seleccionando "view, add/remove columns" para personalizar la vista. Se necesita añadir la columna "add Client Mode" a la vista.

2-Mediante el uso de un script, el modo en el cliente está en el perfil bajo la clave de registro:

Key: 13dbb0c8aa05101a9bb000aa002fc45a
Binary: 00036601

Data: Modo cache: Segundo byte contiene un bit con el flag 01

         Modo online: Segundo byte no contiene el bit con el flag 01

Para Outlook 2010:

Key: 46ba79c6e13e2f40841e0c645a2a41ec
Binary: 00036601

Data: Modo cache: Segundo byte contiene un bit con el flag 01

         Modo online: Segundo byte no contiene el bit con el flag 01

Por tanto se necesita escribir un script que analice dicha clave de registro y la convierta de decimal a binario. Por tanto si el primer bit en el Segundo byte es 1, entonces el modo cache estará activado.

Por ejemplo 00036601 mostrará 84 05 00 00

Esto convertirá en binario: 10000100 00000101 00000000 00000000

En este ejemplo estaríamos en modo cache al ser 1 el bit en 00000101

Esperamos que sea de utilidad.