MOSS: Características no soportadas en Excel Services!

Como sabéis, uno de los componentes destacados de MOSS (versión Enterprise) es Excel Services. Se trata de un servicio compartido (Shared Service Provider) que nos permite, entre otras características, visualizar en modo lectura hojas Excel (versión 2007) renderizadas en el navegador. Ahora bien, aunque Excel Services es muy potente, es importante tener claras cuales son sus limitaciones y características no soportadas a la hora de implantar este componente en nuestros clientes:

  • Hojas de cálculo con código (se incluyen hojas de cálculo con macros VBA, controles de formulario, controles de barra de herramientas, diálogos, y hojas XML).
  • Hojas de cálculo protegidas con IRM.
  • SmartTags Embebidas.
  • PivotTables basadas en rangos de consolidación múltiple.
  • Referencias externas (enlaces a otras hojas de cálculo).
  • Hojas de cálculo guardadas en modo vista fórmula.
  • Paquetes XML de expansión.
  • Mapas XML.
  • Validación de datos.
  • Tablas de consulta, listas de SharePoint, consultas web y consultas de texto.
  • Hojas de cálculo que referencias Add-Ins.
  • Hojas de cálculo que usan la función RTD().
  • Hojas de cálculo que usan protección de hoja.
  • Fotografías o clips embebidos.
  • Celdas y hojas con fotografías en background.
  • Autoformas y WordArt.
  • Anotaciones de tinta.
  • Gráficos organizacionales y diagramas.
  • Enlaces DDE.

Liberado el Visual Studio Snippet Editor v 2.0!

Ya tenemos disponible en Codeplex una nueva versión del editor de code snippets para Visual Studio. Podéis descargaros la utilidad de este enlace. Entre las características del editor tenemos:

  • Gestión de archivos de snippets.
  • Coloreado de sintaxis básica.
  • Subrayado de reemplazos.
  • Organización de archivos drag & drop.

snippet_editor[3]

 

Finalmente, comentaros que este editor se puede utilizar para todas las versiones de Visual Studio 2005 y 2008 (incluyendo las versiones express).

Búsquedas en MOSS: Query Reporting Tool!

Una de las características incluida en las funcionalidades de búsqueda de MOSS es el Query Reporting Tool. Se trata de una herramienta que nos permite obtener un vistazo global de los resultados de búsqueda a lo largo de todo el Shared Service Provider (SSP), así como evaluar que ámbitos de búsqueda son utilizados de forma frecuente por los usuarios.

Hay dos tipos de informes en el Query Reporting Tool. El primero es el Search Queries Report, que incluye gráficos de barras básicos y contiene información sobre:

  • Consultas en los últimos 30 días.
  • Consultas en los últimos 12 meses.
  • Consultas top originadas en los diferentes site collections en los últimos 30 días.
  • Consultas por ámbito (Scope) en los últimos 30 días.
  • Consultas top en los últimos 30 días.
image image image

image

Por supuesto, estos informes son exportables (formatos Excel y PDF). El segundo tipo de informes tiene que ver con los resultados de búsqueda en cuanto a:

  • Páginas de destino más relevantes (top) aparecidas en los resultados de las búsquedas.
  • Consultas que no han devuelto resultados.
image image image

Y hasta aquí llega lo que os quería contar sobre la Query Reporting Tool de MOSS.

Windows 7 Beta: Una revisión a fondo!

Hace unos días os comenté que uno de los mejores blogs para estar al día de Windows 7, entre otras muchas cosas, es el blog de Paul Thurrott. Pues bien, merece la pena que os deis una vuelta por sus dos últimos posts en torno a la revisión que ha realizado sobre la beta de Windows 7, a la que podremos hincar el diente el mes que viene (casi como regalo de reyes). Paul ha realizado un análisis en detalle en dos posts realmente descriptivos:

Como veréis en el análisis de Paul, por fin en esta beta aparecen todas las grandes novedades que se han comentado en torno a Windows 7…ya tengo ganas de meterle mano a la beta.

 

win7_beta_review_02

Lo nuevo en el BCL en .NET Framework 4.0!

Hacía tiempo que tenía en el tintero escribir este post en torno a algunas de las novedades que aparecen en la BCL (Base Class Library) de la primera CTP de .NET Framework 4.0…por cierto, parece que en breve tendremos una nueva CTP tanto de .NET Framework 4.0 como de Visual Studio 2010. Comencemos con algunas de las novedades de la actual CTP de .NET Framework 4.0:

  • Code Contracts, disponibles a través de System.Diagnostics.Conctracts, proporciona una manera agnóstica al lenguaje de expresar asunciones de código en programas .NET. Los contratos pueden tomar la forma de pre-condiciones, post-condiciones y objetos invariants actuando como documentación verificada de nuestras APIs internas y externas. Estos contratos se usan para mejorar el testeo a través de verificación del runtime, habilitar la verificación de contratos estáticos, y la generación de documentación. Más información sobre esta novedad en este enlace de Microsoft Research.
  • Parallel Extensions, se ha añadido el soporte de PLINQ (Parallel LINQ) a la BCL de .NET Framework 4.o, estructuras de coordinación de datos, y la Task Parallel Library (TPL). Se ha incluido una optimización del algoritmo de planificación de tareas ThreadPool, la clase estática Parallel, estructuras de datos como LazyInit<T>, CountdownEvent, Barrier, SemaphoreSlim, SpinLock, SpinWait, …Más información en Parallel Programming for Managed Developers with the Next Version of Microsoft Visual Studio.
  • BigInteger, disponible a través de System.Numerics.BigInteger, se trata de un nuevo tipo de datos entero con precisión arbitraria y alto rendimiento. Soporta todas las operaciones estándar para tipos enteros, incluyendo manipulación de bits. Se puede usar desde cualquier lenguaje .NET, así como algunos de los nuevos como F# y IronPython para .NET.
  • Memory Mapped Files, disponible a través de System.IO.MemoryFiles, expone la funcionalidad de mapeado de memoria disponible en Windows como una API manejada de primer clase. Los archivos mapeados en memoria se pueden usar para editar de manera eficiente grandes archivos, así como crear memoria compartida para comunicación entre procesos. Además, se ha creado System.IO.UnmanagedMemoryAccesor para habilitar acceso aleatorio a memoria no manejada.
  • ResourceManager Improvements, disponible en System.Resources, se ha mejorado el gestor de recursos para facilitar la búsqueda de archivos de recursos independientemente de la cultura actual de la interfaz de usuario.
  • Compression Improvements, se han mejorado los algoritmos de comprensión disponibles en System.IO.Compression a través de unos mejores ratios de comprensión y posibilitando comprimir streams de más de 4 GB.
  • String Security Changes, las sobrecargas por defecto de algunos métodos  de System.String (StartsWith, EndsWith, IndexOf y LastIndexOf) se han cambiado para que sean agnósticos a la cultura por defecto. Además, se ha modificado ToUpper y ToLower para usar la cultura invariant en lugar de la actual.

Además de todas estas novedades, el equipo del BCL está pensando en otra serie de novedades tal y como podréis leer en este enlace.

WSS 3.0 & MOSS: Planning de soluciones SharePoint (II)!

Continuando con los aspectos a tener en cuenta a la hora de hacer el planning de soluciones de SharePoint, es necesario tener en cuenta que en los proyectos de SharePoint como en los de otro tipo vamos a tener una serie de especificaciones funcionales que tenemos que saber interpretar. Estas especificaciones funcionales se derivan de los requisitos de negocio que a su vez se componen de requisitos funcionales y no funcionales. Los primeros son los que se obtienen a partir de lo que el cliente necesita para su negocio. Los segundos son los que están implícitos en la funcionalidad demandada. Toda estos requisitos se determinan a partir de las planning worksheets para MOSS.

Requisitos funcionales

Como sabéis, una función viene a ser aquel aspecto de una solución con la que el usuario interactuará de manera segura. Esto nos lleva a que los requisitos funcionales para una aplicación MOSS incluyan aspectos como:

  • Funciones de negocio.
  • Interfaces de usuario.
  • Interfaces de programación.
  • Capacidades.
  • Interacción.
  • Apariencia.
  • Interoperabilidad.
  • Navegación.
  • Arquitectura de contenidos.

Muchos de estos requisitos aplican a varios tipos de aplicaciones y no son exclusivos de soluciones MOSS. Sin embargo, hay uno especial que aplica a SharePoint y que no es típica de las aplicaciones web tradicionales: la arquitectura de contenidos. Este requisito implica que los stakeholder claves y el equipo de diseño determinen que tipos de contenidos se podrían almacenara en cada uno de los siguientes niveles propios de SharePoint:

  • Colección de sitios.
  • Sitio.
  • Página.
  • Lista y biblioteca de documentos.
  • carpetas y subcarpetas en listas y bibliotecas de documentos.
  • Documentos.
  • Elementos de lista.

Es importante destacar que es fundamental un buen diseño de la estructura de contenidos ya que esta afecta a la eficiencia de los trabajadores, la gestión de la solución, la escalabilidad, la seguridad, la funcionalidad de contenidos y la funcionalidad de búsquedas.

Requisitos No-Funcionales

Los requisitos no-funcionales aparecen normalmente bajo los requisitos tecnológicos o los requisitos de negocio. Por ejemplo, para una solución de negocio crítica es clave asegurar durante el diseño continuidad en los procesos de negocio. Por otra parte, normalmente los usuarios de negocio van a querer que la aplicación esté siempre disponible. Por lo tanto, nuestra misión como diseñadores de la solución pasa por identificar el nivel de continuidad de negocio que requieren los usuarios. ¿Cómo lo determinamos? Pues preguntando a estos usuarios e identificando a partir de sus respuestas agregadas que infraestructura y plataforma puede soportar los requisitos de disponibilidad de negocio solicitada.

Entre los requisitos no-funcionales que nos encontraremos en el planning de soluciones SharePoint tenemos:

  • Seguridad.
  • Gobernanza.
  • Niveles de servicio.
  • Continuidad de negocio.
  • Capacidad.
  • Rendimiento.
  • Integridad de datos.
  • Help Desk.
  • Mantenimiento.

De esta lista, es destacable el requisito de seguridad puesto que en SharePoint vamos a tener usuarios con acceso remoto, acceso desde dispositivos móviles, ….lo que implicará la aparición de issues relacionados con autenticación y acceso a la solución. Y hasta aquí llega este segundo post sobre planning de soluciones SharePoint.

Un control interesante y gratuito para aplicaciones ASP.NET: FreeTextBox!

Seguramente muchas veces os habréis encontrado con la necesidad de poder utilizar un control de tipo Rich Text Box en vuestras aplicaciones ASP.NET. Pues bien. hasta ahora Visual Studio en sus distintas versiones no ha incluido un control de estas características en la toolbox de proyectos web. Sin embargo, existe un control gratuito en la red que nos da esta funcionalidad y que podemos utilizar en nuestras aplicaciones: FreeTextBox.

image

Podéis ver una demo live de este control en este enlace.