El Bruno

Blog dedicado a las experiencias del desarrollo con tecnologías Microsoft.

abril 2007 - Posts

Actualizando a Community Server 2007 ( mientras todo empieza a volver a la normalidad ... )

Buenas,

estoy en un domingo complicado. Por un lado sigo disfrutando del JetLag después del viaje Seattle-London-Madrid. Además sigo esperando que Iberia me devuelva la maleta que extraviaron con todas mis cosas que no me compré en Seattle. Para completar el domingo, mi proveedor de Internet ha decidido probar alguna aplicacion chonga que se dedica a desconfigurar mi router y dejarme sin internet más de lo deseado, por lo que desde hace un tiempo El Bruno.com está inactivo.

Como dice la frase nadie es feo desp de las 2:00 AM "el que se desespera pierde"; así que en lugar de acomodarme por un tiempo @Home, me puse a actualizar la version de Community Server de El Bruno.com a la nueva versión 2007. Como bien comentaba Emilio en su blog, la versión 2007 es una evolución impresionante en relación con las versiones anteriores 1.x y 2.x; y como siempre el equipo de trabajo de Telligent, también ha pensado en los escenarios de migración de versiones anteriores a la 2007 --> la instalación y actualización no toma más de 15 minutos (más lo que tarde el backup de la base de datos y del site actual)

Aunque, si has personalizado mucho tus páginas, tal vez te encuentres con detalles interesantes al momento de actualizar personalizaciones. Por ejemplo, una customización que constantemente se realiza es aumentar la cantidad de items que se ven en la página principal. En la versión 2.1 de CS, esto se lograba a través del atributo PageSize, sobre el control AggregatePostList como muestro en el siguiente ejemplo:

<Blog:AggregatePostList runat="Server" ID="AggPosts2" EnablePaging="false" ShowCommentCount="true" IncludeCategories="true" IncludeAutodiscovery="true" ScorePosts="true" PageSize="20" EnableTitle="true" />

 

However, en la nueva versión esta modificación se puede realizar de otra manera un poco más divertida :D. Si editamos la página Themes/Default/Common/home.aspx, veremos que dentro de la misma se implementa la búsqueda de items para la página principal pero directamente sobre control pero a traves del código C# de la página en el evento Page.OnInit() (gracias Asp.Net 2.0 !!!).

1 2 protected override void OnInit(EventArgs e) 3 { 4 List<IndexPost> recentPosts = CSCache.Get("HomePageSearch-" + CurrentCSContext.User.RoleKey) as List<IndexPost>; 5 if (recentPosts == null) 6 { 7 SearchQuery query = new SearchQuery(); 8 query.StartDate = DateTime.Now.AddDays(-10); 9 query.EndDate = DateTime.Now.AddDays(1); 10 // valor por defecto = 5 11 query.PageSize = 25; 12 // sort by date 13 // query.SortBy = SearchSort.DateAscending; 14 // define los grupos o secciones sobre los que se efectua la búsqueda 15 // query.GroupsToSearch = ... 16 // query.SectionsToSearch = ... 17 18 recentPosts = CSSearch.Search(query).Posts; 19 CSCache.Insert("HomePageSearch-" + CurrentCSContext.User.RoleKey, recentPosts, CSCache.MinuteFactor * 5); 20 } 21 RecentPostList.DataSource = recentPosts; 22 base.OnInit(e); 23 } 24

En mi caso, he modificado el PageSize para que se muestren 25 resultados, pero como opciones interesantes, también podemos modificar el rango de fechas sobre el que se realiza la búsqueda, los grupos sobre los que queremos que se realice la búsqueda, etc.

En otras palabras, ya nos vamos preparando para personalizaciones "impresionantes" de la nueva versión de Community Server :D

 

Saludos

El Bruno

PS: es muy probable que esta funcionalidad se logre a traves de alguna sección en la configuración, pero no he tenido tiempo de buscar, ni tampoco acceso a internet para verificar la documentación. Cuando descubra algún método un poco mas "limpio" para lograr esta configuración, actualizo el post :D

Posted domingo, 29 de abril de 2007 20:41 by elbruno | with no comments

[Off-Topic] Lo que no me he comprado ...

Buenas,

en primer lugar perdón por el off topic total, pero aprovechando el buen cambio de €uros a dólare$ durante estos días en Seattle, creo que vale la pena remarcar algunas cosas que no me he comprado:

 

      

 

 

me faltó fotografiar el lanzamisiles usb, la lampara de lava usb, una cabeza de venado, etc.

Tampoco pude ver en vivo a los transformers (esta gente esta mal mal mal ...)

 


Cosplay Transformers - Awesome video clips here

 

y aunque hoy estrenaba Spiderman III, tampoco me hice un hueco para ir al cine y no tener que esperar hasta Julio que es cuando estrena en España.

 

Saludos desde Seattle (still wainting por el avion que ya se ha empezado a atrasar para volver a Madrid)

El Bruno

 

PD: Haciendo un descarte general, es más fácil conocer algunas de las cosas que me he comprado :D

Posted sábado, 28 de abril de 2007 4:42 by elbruno | 3 comment(s)

Filed under:

Avanade Technical Solution Summit 2007: Avanade, Microsoft, Accenture y Google (sip ... G tb estuvo presente)

Buenas

este año he tenido la suerte de ser invitado al Avanade Technical Summit in Seattle. Este evento se realiza anualmente (por ahora es el 2do), y participan profesionales de todas las oficinas de Avanade Global (US, Europa, Asia). Tiene un enfoque principalmente técnico y se abordan temáticas sobre la nuevas tecnologías, tendencias de mercado, etc.

Personalmente, me he quedado asombrado porque en una sesión especial que se realizaba diariamente, tuvimos la suerte de escuchar la vision sobre el futuro de las aplicaciones y de la consultoría de 4 fuentes tan variadas como Don Rippert (Accenture CTO), Bob Muglia (VP Servers Platform, Microsoft), Mitch Hill (CEO Avanade) y Rajen Sheth (Product Manager, Google Enterprise).

Cada speaker presentaba la visión de su empresa sobre la actualidad y el futuro de las aplicaciones y nuestro negocio. Me llamo la atención y creo que es importante resaltar que con diferentes palabras, todo el mundo tiene una idea aproximada del futuro del desarrollo de aplicaciones. Conceptos como SaaS, evolución de los sistemas de colaboración, entre otros son los puntales del futuro de nuestro trabajo. Algunas personas se preguntaron que hacia un "G-Man" en un entorno 100% Microsoft, y algunos de mis compañeros no estuvieron de acuerdo con esta participación, pero a mi me pareció extremadamente útil conocer que está haciendo Google actualmente y como piensa evolucionar en su participación en el sector de Enterprise. Otros presentadores se centraron más en el negocio y Bob obviamente fue 100% técnico y directo en lo relacionado al futuro de los productos de Microsoft (son tantas novedades que no alcanzaría a escribirlas a todas).

Además de las presentacíones de negocio, tuve la oportunidad de conocer un poco mas productitos como CRM Titan, AX 5.0, Office 14, etc. Aunque una de los mejores recuerdos que me llevo es la sensación de ponerle cara a muchísima gente que solo conocía por mail o por msn de todas partes del mundo y que una vez más son excelentes profesionales, pero mejor aún, son increíbles como personas.

Obviamente también tuvimos la suerte de salir un poco, conocer Seattle y tomarnos unas cervezas. Lamentablemente no pudimos ver ningún partido de los playoffs de la NBA, ya que los Seattle Supersonics tienen un equipo un poquito mejor que los Menphis Grizzlies. Pero todo esto quedo equiparado por la visita a la tumba de Jimi Hendrix (por diooooooossss) en la cuna del grunge, el impresionante campus de Microsoft, el museo de aviación de Boeing, etc.

   

 

 

Saludos desde Seattle (esperando en el aeropuerto para el pedazo de viaje a Madrid ... via London)

El Bruno

Posted sábado, 28 de abril de 2007 4:15 by elbruno | 5 comment(s)

Posters, posters, posters ... everywhere

Buenas

impresionante colección de posters técnicos que a más de uno nos dejarán boquiabiertos. Si tienen un par de €€€ para invertir, esta es una excelente oportunidad para imprimirlos en formato A3 y decorar alguna oficina que espero que no sea como esta. La lista completa de posters esta a continuación y pueden verla en http://www.drp.co.za/Media/Posters/PostersPDF/tabid/62/Default.aspx

 

List of BETA Posters published for feedback (Ordered from Newest to Oldest Publication Date) 


  • 0202 Microsoft Team System Source Structure

  • 0202 Microsoft Team System Branching

List of Posters (Ordered from Newest to Oldest Publication Date)


  • 0070 Microsoft PowerShell Scripting (New)

  • 0070 Microsoft PowerShell Scripting Cmdlets (New)

  • 0202 Microsoft Team System Editions

  • 0418 WF Posters - WorkflowChanges

  • 0416 WF Posters - WebService

  • 0414 WF Posters - Tracking

  • 0412 WF Posters - SqlWorkflowPersistence

  • 0410 WF Posters - Roles

  • 0408 WF Posters - Queues

  • 0406 WF Posters - Local Services

  • 0404 WF Posters - Correlated Local Service

  • 0402 WF Posters - Compensation

  • 0400 WF Posters - Batching

  • 0206 Microsoft Indigo Attributes Poster

  • 0202 Microsoft Team System Project Build

  • 3100 WF Batching

  • 0202 Microsoft Team System Project Capacity Planning

  • 0202 Microsoft Team System Project Panning

  • 0202 Microsoft Team System Project Source Migration

  • 3002 SDLC smartProcess

  • 3004 SDLC Unified Process

  • 3006 SDLC Scrum

  • 3010 SDLC MSF Design

  • 0000 PosterMap

  • 0000 System_NameSpace

  • 0001 Modeling Poster

  • 0002 Architecture

  • 0004 Best Practices Poster

  • 0006 CSharp Poster

  • 0008 CSharp Poster II

  • 0009 CSharp Poster Whidbey

  • 0010 CSharp OO Poster

  • 0012 CSharp Service Poster

  • 0013 CSharp Formatting Poster

  • 0014 CPlusPlus Poster

  • 0016 dotNet - COMPlus Poster

  • 0018 eCommerce Poster

  • 0020 OO Poster

  • 0022 Patterns 1

  • 0024 Patterns 2

  • 0024 smartProcess

  • 0026 Security

  • 0027 Security Evidence

  • 0028 Services Poster

  • 0030 SQL Poster

  • 0032 SQL2000Admin

  • 0035 Java Poster

  • 0036 ejb Poster

  • 0037 WebSphere Poster

  • 0042 XML_Soap Poster

  • 0044 Delphi Poster

  • 0050 CSharp Coding Standards

  • 0052 ASP DotNet

  • 0054 ASP DotNet 2

  • 0054 ASP DotNet 3

  • 0054 ASP DotNet 4

  • 0054 ASP DotNet 5

  • 0054 ASP DotNet 6

  • 0054 ASP DotNet 7

  • 0054 ASP DotNet 8

  • 0054 ASP DotNet

  • 0060 Data Acces Building Block

  • 0062 Enterprise Librarues

  • 0064 Custom Enterprise Libraries

  • 0080 BizTalk 2004

  • 0090 Best Practices Interfaces

  • 0092 Best Practices Performance

  • 0094 Best Practices Security

  • 0096 Best Practices SDLC

  • 0098 Best Practices Security Checklist

  • 0100 Best Practices Data Access

  • 0200 InfoDump Smart Client

  • 0202 Microsoft Reporting Services

  • 0202 Microsoft Team System Ecosystem

  • 0202 Microsoft Team System Load test

  • 0202 Microsoft Team System Modelling Flow

  • 0202 Microsoft Team System Security Mapping

  • 0202 Microsoft Team System Single Server Deployment

  • 0202 Microsoft Team System Source Control

  • 0202 Microsoft Team System Workspaces

  • 0204 Best Practices Patterns Poster

  • 0206 Microsoft Indigo Artefacts

  • 0206 Microsoft Indigo Config

  • 0206 Microsoft Indigo

  • 0208 Best Practices Summary

  • 0209 Best Practices Contract First

  • 3002 SDLC smartProcess

  • 3004 SDLC Unified Process

  • 3006 SDLC Scrum

  • Architecture (pdf)

 

Saludos

El Bruno

Posted miércoles, 25 de abril de 2007 1:53 by elbruno | with no comments

El menu clasico de Excel 2003 en Excel 2007 ( ... involucionando o teniendo miedo a cambiar)

Buenas,

poco tiempo me queda para postear, en los días tan movidos aquí en Seattle, sin embargo hace un tiempo tuve la suerte de probar el RibbonCustomizer y me gustó bastante. Hoy pschmid nos muestra como con la ultima versión disponible podemos instalar un template que crea una nueva pestaña en las ribbons de Excel 2007 con las opciones y el menu de Excel 2007.

 

En la primera pestaña

Screenshot of Excel 2007 with Classic UI as first tab

 

en la última pestaña

Screenshot of Excel 2007 with Classic UI as last tab

 

Pueden descargarlos desde aquí

 

Fuente: http://pschmid.net/blog/2007/04/24/113

 

Saludos desde Seattle

El Bruno

Posted miércoles, 25 de abril de 2007 1:40 by elbruno | with no comments

Filed under:

PDF Previewers para Windows Vista y Microsoft Outlook 2007

Buenas

desde fuentes externas, me entero de una excelente noticia para nosotros los usuarios de Windows Vista y Microsoft Office 2007; nuestro compañero dactyl ha creado en par de horas, un pequeño previewer "no oficial" para archivos PDF para poder aprovechar las nuevas capacidades de previsualización disponibles en Windows Vista y Microsoft Office 2007.

La versión 1.0.2 se puede descargar desde aquí, y la verdad es que está muy bien y promete bastante.

A continuación les dejo un par de screenshots sobre el Explorador de Archivos, y sobre un mail en Office 2007.

 

Estos son los requerimientos:

  • Outlook 2007 or Windows Vista
  • Microsoft .NET Framework 2.0
  • Adobe Acrobat Reader 7.x or later
  • Compatible with 32-bit or 64-bit Windows Vista

 

Saludos desde Barcelona

El Bruno

Posted viernes, 20 de abril de 2007 15:27 by elbruno | 1 comment(s)

VS Orcas Beta 1 ( solo para valientes ... )

Buenas

Interesante noticia que una vez más, llega por 20 canales diferentes, aunque más interesante es poder llegar a tiempo a Madrid para festejar los nuevos pasos de David con unas cañas comenzar a descargar el soft desde MSDN.

Entre las características más intersantes de esta versión no puedo dejar de mencionar que también se han liberado las versiones Express de Orcas (thanks desde la parte del free soft) aquí queda claro que la apuesta de Microsoft por las comunidades es más que importante (ahh y que .Net Fwk 3.5 está listo también para las pruebas de escritorio)

Un poco de miedo me da, porque internamente en Avanade, se está hablando de algun TAP con algun cliente intrépido que está pensando en hacer pequeños marrones desarrollos para comenzar a probar ORCAS; por un lado es una buena noticia porque es comenzar a tocar lo que se viene y por otro es una excelente oportunidad para ver el nuevo IDE y el nuevo framework, ya les comentaré ;)

 

 

Saludos desde Barcelona

El Bruno

Posted viernes, 20 de abril de 2007 14:59 by elbruno | with no comments

Office: doc or docx, xls or xlsx, ppt or pptx, mpp or mpp (para complicar a los Project Managers)

Buenas

un detalle interesante que tal vez nos tenga los coj@##n€s llenos llame la atención cuando trabajamos con Project 2007, reside en que a diferencia de sus compañeros de la suite de Microsoft Office 2007 los archivos de Project 2007, con el nuevo formato 2007 no poseen una extension ".mppx".

A ver entremos en mas detalle, todos los nuevos formatos de los documentos de Office 2007 suelen terminar en "x", es decir la extensión de los documentos de Word 2003 es ".doc" pero la extensión de los documentos Word 2007 es ".docx", lo mismo sucede en Excel 2007 y en PowerPoint 2007.

Hasta aquí, podemos salir de trabajar tranquilos y tomarnos unas cañas seguir con nuestro itinerario, y para más info podemos ver la información completa de extensiones que se soportan en Office 2007.

La siguiente image, nos muestra un ejemplo de estas extensiones:

 

Sin embargo, para los documentos que creemos con Project 2007, la cosa cambia un poco. Actualmente existe un nuevo tipo de documento para Project que posee una nueva estructura interna para Project 2007, pero que no está basada en OpenXml (sobre esto ya hablé un poco por aqui), y es por ese motivo que no se ha creado la nueva extension ".mppx". Pero, este comportamiento nos puede trae varios problemas, porque las versiones Project 2000-2003 no pueden abrir los nuevos archivos creados con Project 2007.

Por ejemplo, si queremos grabar un proyecto con una extension Project 2000-2003, veremos los siguientes pasos.

1. En primer lugar en la opcion Save As, ambos formatos poseen la misma extensión (chan !!!)

 

2. Si seleccionamos el formato Project 2000-2003, veremos la siguiente advertencia para no perder información si estamos trabajando con algunas features propias de Project 2007.

 

3. Finalmente cada vez que abrimos un proyecto con formato Project 2000-2003, veremos el siguiente warning, donde muy amablemente Project nos ofrece hacer un upgrade a la última versión y dejar en banda a todos los usuarios de Project 2000-2003.

 

Asi que, como conclusión, es aconsejable tener cuidado y conocer las tecnologías que poseen los equipos con los que trabajamos; ya que no todo el mundo tiene la suerte de poder trabajar con la Microsoft Office 2007 y si trabajamos con Project, la extension de los documentos puede llegar a engañarnos :D

 

Saludos

El Bruno

PD: ya se, que hace El Bruno creando proyectos ... yo tampoco lo pedi, pero una revision general de lo que se estima a grandes rasgos siempre me ayuda a prevenir problemas, y despues a identificar las iteraciones de entregas o deliverables, que afecatarán a nuestro Agile, Scrum, etc ... :D

Posted jueves, 19 de abril de 2007 13:51 by elbruno | with no comments

Filed under:

[Medio] Blogger del mes en la Bloguera ... (partido al medio como un limon)

Buenas

y nunca mejor dicho, ya q esta vez tengo el honor de compartir el premio de bloguero del mes de marzo de La Bloguera con Un informático en Construcción (que veo que quiere tan poco a su XBox360 como yo a mi Lego, la destruye constantemente).

La gente de LaBloguera.Net entrega estos premios mensualmente y veo que tal vez, lo he recibido ya que no poseen ninguna foto mia; ya que si vieran cosas como estaesta o esta, se lo hubiesen pensado 2 veces :D. Desde aqui les agradezco la atención y trataré de seguir posteando con el mismo poco nivel entusiasmo de siempre. He aqui la mención al premio.

 

Saludos

El Bruno

Posted miércoles, 18 de abril de 2007 16:39 by elbruno | with no comments

Filed under:

Configura EntLib 3.0 desde donde quieras ... (tambien desde la XBox360)

Buenas

si no lo conocen, les recomiendo darse una vuelta por el blog de Olaf. Es realmente interesante, y creo que la primera vez que pase por allí fue cuando  anunció su Enviromental Overrides que era la mejor opción conocida por aquél tiempo para lograr manejar diferentes entonos de configuración para los archivos de Enterprise Library. Ahora esta funcionalidad ha sido incluida dentro de Enterprise Library 3.0 y se agradece el trabajo a Olaf.

Pero bueno, esto de trabajar con vistas al mar me esta afectando y he perdido el hilo del post; Olaf ha publicado un interesante artículo donde explica como separar cada una de las partes de la consola de configuración de Enterprise Library 3.0 e incorporarlas dentro de alguna aplicacion visual .Net.

En la siguiente imagen podemos el gran nivel de autoestima que posee Olaf ver como con un par de líneas simples de código se puede incrustar cada una de las partes de la consola de configuración en un Windows Form

Pueden ver el detalle completo aquí.

 

Saludos

El Bruno

Posted miércoles, 18 de abril de 2007 13:35 by elbruno | with no comments

GotDotNet.Enabled = False (adios a un grande ...)

Buenas

después de mucho tiempo siendo una referencia de las más importantes para la gestión de proyectos, lamentablemente GotDotNet está a punto ser dado de baja.

La noticia me ha llegado a través de un foro interno de Avanade, y al ver el siguiente texto:

Microsoft announces changes to the GotDotNet phase-out schedule.
Overall phase-out will be completed in summer 2007.

he pensado: "Adios a un grande". Por suerte, yo creo que ya la mayoría de la gente se ha mudado a CodePlex; pero me da la sensación de que todavía existe mucho código interesante en GotDotNet.

El siguiente calendar es el definido para la eliminación completa de los componentes/servicios que brinda GotDotNet.

Phase Out Schedule
The GotDotNet phase out will be carried out in phases according the following timetable:

Target Date
Areas to be phased out

February 20
Partners, Resource Center, Microsoft Tools

March 20
Private workspaces, Team pages, Message Boards

June 19
Wrokspaces (projected date)

By the end of June 2007
CodeGallery (projected date)

In Summer 2007
User Samples (projected date)

 

Saludos

El Bruno

Posted miércoles, 18 de abril de 2007 10:42 by elbruno | with no comments

Filed under:

Microsoft Robotics Studio 1.5 Released ... (IPWebCam included :D)

Buenas,

nuestros amigos de Seattle y alrededores han liberado una nueva version de Microsoft Robotics Studio para que podamos seguir tratando de conquistar al mundo y con suerte para manejar un autobot en julio.

Esta nueva versión, la 1.5, soluciona algunos problemas existentes y trae un par de new features muy pero muy interesantes:

  • Support for Windows CE and Windows Mobile devices; habrá que probarlo pero promete y mucho, seguramente mi amigo Rafa estará contento ya que no tendrá que seguir currandose a mano las interfaces para Mobile.
  • Performance and UI improvements for Microsoft Visual Programming Language; mejor performance y nuevos servicios dentro de Visual Programming Language.
  • Performance and editor improvements for Microsoft Visual Simulation Environment; idem o casi un idem.
  • New iRobot Create services, simple color tracking service, and IP camera service; pues ya está el servicio de una cámara IP disponible (les suena? parece que estuve currando para nada pero mejor aun ya que ahora está todo cerrado dentro de Microsoft Robotics Studio).
  • Updated Soccer Simulation preview and NEW Robot Sumo simulation preview; 2 demos super interesantes, un robot soccer match; y la clásica y tan esperada Robot Wars (parecida a la que organizó Miguel para el CodeCamp de El Escorial).

No pensaba llevarme el LEGO Midstorms a Lisboa, pero después de leer esto creo que ya le estoy haciendo lugar en la maleta, veremos como se comporta el LEGO nuevamente en tierras extranjeras :D

 

 

Saludos

El Bruno

Posted domingo, 15 de abril de 2007 21:20 by elbruno | with no comments

ElBruno.Age = 2 Years ... :D

 Buenas

hoy se cumplen 2 años, desde que comencé a escribir un blog. Primero fue en my MSN Live Spaces y luego ya me pasé a www.elbruno.com. Durante este tiempo, he pasado por varias tecnologías para las publicaciones, y finalmente me decidí por Community Server 2.1 (que ahora no refresca los contenidos en la página principal, mal rollo y poco tiempo para solucionarlo).

Como íba diciendo, durante este tiempo, he escrito sobre las diferentes tecnologías y experiencias que iba viviendo en mi día a día, sobre alguno de mis hobbies (parte de una versión modesta de robótica para conquistar el mundo utilizando tecnología Microsoft) y sobre algunos eventos en los que tuve la suerte de participar y donde tuve mucha mas suerte aún de conocer gente excepcional, tanto en el ámbito profesional como en el sentido humano.

Como a Earl, el karma me persigue ya que desde que comencé a trabajar en Avanade, he estado viajando por España y por Europa; ahora por un par de meses toca sesión en Lisboa, Portugal; así que como objetivo personal trataré de probar las 1000 formas diferentes de preparar el bacalao y disfrutaré de la playas y la buena gente que habita esos lares.

Aunque para seguir alimentando al karma, la última semana de abril, estaré en Seattle en una reunión anual de Avanade, donde le pondré rostro una vez más a mucha gente que sólo conozco virtualmente y tendré la oportunidad de comenzar a discutir el futuro de algunos productos o tecnologías con las que trabajamos. Particularmente, la salida de Enterprise Library 3.0 ha incluído algunas features que ya poseíamos en ACA.Net (un producto interno de Avanade); como siempre sucede en cada release debemos pensar en que nuevas features podemos agregar para lograr un punto diferenciador y viendo que EntLib 3.0 ya incorpora AOP y Validation AppBlock entre otros, el brainstorming será interesante.

Por otra parte, también tendré la oportunidad de jugar con uno de los temas que más me interesa: el ciclo de vida de desarrollo del software. Podré preguntar el porqué de algunas decisiones erróneas particulares que se han tomado en ACA Lifecyle (metodología interna de desarrollo que se apoya en Team System); y si mal no recuerdo la agenda, también participará gente de Microsoft para ver las ventajas y desventajas de esta metodología.

Pues bien, el año pinta movidito, con las 1ras aplicaciones reales en proyectos de .Net 3.0, soluciones completas con MOSS 2007 y Vista, y seguramente seguiremos evolucionando VSTS y veremos que novedades tenemos en Team System para este año. Espero tener la suerte, de poder seguir participando y mientras lo haga, lo seguiré posteando :D

 

Saludos

El Bruno

Posted sábado, 14 de abril de 2007 23:31 by elbruno | with no comments

Filed under: ,

Trivia de Outlook 2007 (a ver si sabes tanto como dices ...)

Buenas

antes que nada -> este es un off-topic total, pero tiene su lado interesante para pensar un poco y ver cuanto conocemos la nueva interfaz de Microsoft Office 2007.

Los que participaron en el programa Beta Tester seguramente recordaran la ventana de nuevo mail que traia Microsoft Outlook 2007 en la Beta 2:

 

 

Aunque ahora, en la versión final, esta ventana ha cambiado un poco:

 

Pues bien, a ver como andamos:

  • Alguien se da cuenta de alguna diferencia entre la Beta 2 y el RTM? (no sean cachondos y me digan cosas como el To, Subject, etc).
  • Alguien se anima a explicar porque se ha hecho este cambio?

 

Son bastante fáciles, pero me he prometido a mi mismo que cuando responda 2 veces en la misma semana la misma pregunta por mail; postearé la respuesta (que saldrá máñana o pasado dependiendo del resultado del partido de esta noche y de las cervezas que tomemos con los chicos de Avanade)

 

Saludos

El Bruno

PD: ayuda, cuanto sabes de las Ribbons??

Posted martes, 10 de abril de 2007 19:12 by elbruno | with no comments

Filed under:

EntLib 3.0: Policy Injection Viewer (cerrando la semana santa, pero sin easter eggs ...)

Buenas

hace un par de días se liberó Enterprise Library 3.0; y ya empezamos a tener pequeños aplicativos que nos ayudarán a ganar esos minutos sagrados para tomar un par de cañas con amigos descansar un rato.

Hoy no puedo dejar de citar a Tom Hollander con una pequeña pero muy útil aplicación que ha creado él mismo: Effective Policy Viewer. Esta aplicación es basicamente un visor permite ver las asociaciones a nivel policies que tiene un assembly para cada uno de sus miembros internos y las relaciones que se realizan sobre el mismo para definir las policies que le hemos utilizando el Policy Injection Application Block. Para poder ver las policies es necesario primero seleccionar el assebly que queremos inspeccionar y luego (opcionalmente) un archivo de configuración que poseerá las configuraciones para el PIAB.

Dentro de un tiempo cuando empezemos a utilizarlo ya veremos como se comporta, en aplicaciones/soluciones reales con bastante datos y veremos si realmente es útil como Visor o si tal vez conviene más enfocarlo con un enfoque mas orientado hacia los informes.

 

Saludos

El Bruno

Posted lunes, 09 de abril de 2007 13:08 by elbruno | with no comments

Modificando documentos Office 2007 con .Net

What's new in the 2007 Microsoft Office System?

Buenas

mientras descanso en las minivacaciones de semana santa completamente desenchufado y con un par de cervezas near to me, me quedó en la cabeza el post de David relacionado con el OpenXML, mientras también pensaba en cuando Luis nos comentó algo sobre los clásicos problemas con el COM Interop de Office y la solución que tuvo que aplicar.

Uno de los problemas que tenemos al tratar de interactuar con documentos de Office 2003, es que además de crear una instancia de cada uno de los objetos necesarios utilizando COM Interop, debemos cargar la instancia casi completa de la aplicación en memoria para poder cargar el documento sobre el que queremos trabajar. El nuevo formato Open XML realmente nos facilita mucho las cosas. Microsoft ha publicado las especificaciones para los archivos de Word 2007, Excel 2007 y Powerpoint 2007; cada uno de estos productos gestionan sus archivos con un formato interno basado en XML, lo que hace que la interacción con estos documentos desde una aplicación .Net sea mucho más simple.

(este es un post y no un artículo asi que me reservo la info técnica, aunque si alquien quiere más información puede comenzar por aquí y tal vez seguir por aquí)

 

Creación de un documento Word 2007

Para demostrar como podemos intearctuar con los nuevos documentos me plantee como objetivo escribir un par de líneas de código que modifiquen un documento Word 2007 utilizando clases nativas de .Net.

Para esto primero crearemos un documento con Word 2007, agregaremos un contenido superoriginal dentro del mismo y lo grabaremos, en este caso en  C:\Hello World.docx.

 

Un detalle interesante a tener en cuenta una vez creado el documento de ejemplo, es conocer como esta compuesto internamente el mismo. La mejor forma de hacerlo es cambiar la extensión del archivo por zip y ver la estructura del mismo. Como muestra la siguiente imagen, el documento docx realmente es un archivo comprimido zip y dentro del mismo se almacenan una serie de documentos xml que son los que contienen la información del documento word.

 

 

Por ejemplo, el archivo xml core.xml situado en el directorio docProps, contiene las propiedades del documento word y dentro del mismo podemos encontrar la siguiente información:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <dc:title>Ejemplo de modificacion con .Net</dc:title> <dc:creator>Bruno Capuano</dc:creator> <cp:keywords>.Net, Visual Studio</cp:keywords> <cp:lastModifiedBy>Bruno Capuano</cp:lastModifiedBy> <cp:revision>4</cp:revision> <dcterms:created xsi:type="dcterms:W3CDTF">2007-04-07T16:44:00Z</dcterms:created> <dcterms:modified xsi:type="dcterms:W3CDTF">2007-04-07T17:15:00Z</dcterms:modified> </cp:coreProperties>

 

que se corresponde con cada una de las propiedades que hemos definido en el documento

 

 

Actualizando el documento utilizando .Net Framework

Pues bien, después de ver como está constituido un documento Word 2007, y ver que simplemente es un archivo comprimido lleno de xmls; se nos pueden ocurrir varias opciones si comenzamos a pensar en las opciones para modificar el mismo utilizando .Net.

En este caso, me aprovecharé de una de las nuevas librerías que trae el .Net Framework 3.0: System.IO.Packaging.Package contenido en el assembly WindowsBase. Esta librería permite organizar objetos/archivos en una sola entidad de un formato físico determinado, usualmente un ZIP. Como un sistema de ficheros, los archivos contenidos en un paquete se organizan utilizando carpetas y archivos.

Basado en que el documento se encuentra en la ubicacion C:\Hola Mundo.docx (recuerden renombrarlo nuevamente por docx si no lo han hecho), el código VB.Net para modificar el mismo es el siguiente:

1 Imports System.IO 2 Imports System.IO.Packaging 3 Imports System.Xml 4 5 Public Class Form1 6 7 Private Sub ChangeDoc() 8 9 ' open Word 2007 Document 10 Dim wordDocFile As System.IO.Packaging.Package 11 wordDocFile = Package.Open("c:\Hola Mundo.docx") 12 13 ' open Documtn in Xml Format 14 Dim wordDoc As New XmlDocument() 15 Dim pathtodoc As New Uri("/word/document.xml", UriKind.Relative) 16 Dim newPart As PackagePart = wordDocFile.GetPart(pathtodoc) 17 wordDoc.Load(newPart.GetStream(FileMode.Open, FileAccess.Read)) 18 19 ' get and update text/data nodes 20 Dim textNodes As XmlNodeList = wordDoc.GetElementsByTagName("w:t") 21 For Each xmlnode As XmlNode In textNodes 22 ' add now datetime to text nodes 23 xmlnode.InnerText = String.Format("{0} [DateTime:{1}]", xmlnode.InnerText, Now.ToString) 24 Next 25 26 ' update and save document 27 Using infoStream As Stream = newPart.GetStream(FileMode.Create, FileAccess.Write) 28 wordDoc.Save(infoStream) 29 End Using 30 31 End Sub 32 33 End Class 34

 

Como se puede ver, en las líneas 10 y 11 utilizo la clase Package para abrir el documento y luego en la línea 17 abro un XmlDocument() con el contenido del archivo /word/document.xml que es el archivo que contiene toda la información del documento word que hemos creado. A continuación recorro los nodos que almacenan el texto del documento y agrego a los mismos la fecha y hora actual (línea 23).

Finalmente actualizo el documento utilizando un Stream() y como resultado final, si abrimos nuevamente el documento podremos ver que el mismo se ha modificado

 

A partir de este momento, crear apliaciones que necesiten manejar archivos propios de Office 2007 se torna mucho mas simple. En los 20 min. que utilicé para escribir este post, no he tenido tiempo de buscarlos, pero estoy seguro de haber visto en la web, algunas librerias que nos facilitan mucho mas este trabajo, encapsulando este proceso de los archivos xml en componentes mucho mas orientados hacia una aplicación.

Y si todavía no están online, es buen momento para crearlas ¿no? :P

 

 

Saludos

El Bruno

Posted sábado, 07 de abril de 2007 19:50 by elbruno | 3 comment(s)

Finally, Expression Web en MSDN !!! (viene con huevos de pascua)

Buenas

por un lado, algunos compañeros de Holanda, por otro Euge, y otras fuentes más (blogs MSDN) ... todas me decían POR FIN TENEMOS EXPRESION WEB en la suscripción MSDN !!! y si, así es:

 

 Para que decir más :D

 

 

Saludos

El Bruno

Posted martes, 03 de abril de 2007 21:50 by elbruno | with no comments

Filed under: ,

Que hay de nuevo en Enterprise Library 3.0 ??

Buenas,

el martes pasado la gente de Microsoft Patterns and Practices dictó un webcast muy interesante sobre las novedades de Enterprise Library 3.0; lamentablemente no pude verla online ya que estaba en Barcelona tomándome una cerveza con mi amigo Emilio, pero es de las imperdibles: Live Webcast - MSDN Webcast: New Capabilities in Enterprise Library 3.0 (Level 300).

Como much@s ya sabrán, hay 2 nuevos Application Blocks: Validation y Policy Injection, pero esto no es todo lo nuevo que podremos disfrutar en la nueva versión de Enterprise Library, aunque empezaré por partes como Jack Bauer y vamos por lo nuevo.

El nuevo Validation Application Block, es una herramienta indispensable para los escenarios donde una validación sea requerida. Por lo general lo 1ro que se nos viene a la cabeza cuando pensamos en validaciones, son validaciones a nivel de UI, pero este appblock nos permite ir mucho más allá. Las validaciones base que trae incorporadas (not null, contains chars, regexp, etc) permiten incorporar de una manera muy simple validaciones a nivel de UI, de servicio, de componente o de método. Inclusive es posible, realizar validaciones complejas utilizando 2 o más Validations en un mismo servicio.

Por otra parte el Policy Injection Application Block es el primer acercamiento a un AOP que tenemos por parte de la gente de Microsoft Patterns and Practices. En Avanade tenemos la suerte de contar con un Framework que extiende a EntLib y ya incluye estos mismos conceptos (ACA.Net); y como experiencia personal puedo decir que una vez que te acostumbras a trabajar con este tipo de herramientas y las incorporas dentro del ciclo de vida de desarrollo en tu metodología; ya no puedes dejar de utilizarlas. Utilizando este nuevo AppBlock podemos agregar capacidades de AppBlocks existentes a nuestras aplicaciones, sin tocar una línea de código. Por ejemplo, podemos "retocar" un objeto ya existente y agregar un manejo de excepciones dentro del mismo, sin tener que escribir el codigo correspondiente que utilice el Exception Handling Application Block. Llevado a un escenario real, esto supone un ahorro considerable a codigo y un incremento en la configuración de las aplicaciones; que básicamente es el objetivo que se persigue en la mayoría de las software factories.

Y ¿ qué otras novedades tenemos ?; aquí va mi lista

  • Existe un nuevo provider para Microsoft SQL Server 2005 Compact Edition (SQL Anywhere Enabled !!!)
  • Por fin, un rolling flat file listener. Un listener para el Logging Application Block que crea un log de texto de tamaño fijo, donde se van agregando nuevas entradas y eliminando las existentes cuando se llega al tamaño configurado del mismo.
  • Integración con WCF, por ejemplo a nivel de logging de Trace Events de WCF
  • Integración de la herramienta de configuración dentro del IDE de Visual Studio.
  • Por fin, la capacidad de manejar varios entornos dentro del mismo set de configuración (Enviromental Overrides)
  • Templates para la creación de nuevos application Blocks
  • mucho más ...

Realmente impresionante, otro gran salto en lo que se refiere a una de las herramientas más populares para los desarrolladores .Net y otro par de herramientas imprescindibles que nos harán un poco más fácil el día a día. Desde aquí se puede bajar la presentacion del webcast. 

 

Saludos

El Bruno

Posted lunes, 02 de abril de 2007 22:30 by elbruno | with no comments

Visual Studio Team Edition for Database Professionals, materiales de la presentacion

Buenas,

mientras preparo los futuros viajes a Lisboa y Seattle (parece que están cerca, pero no) subo el material de la pasada presentación del 15 de Marzo donde los amigos de MAD.NUG me invitaron a hablar y yo elegí Visual Studio Team Edition for Database Professionals.

He aquí el material

Como verán ya he aprendido y también pongo la versión para Powerpoint 2003, y para que no tengan que verse todo el contenido del PPT para los links interesantes, el autoplagio de costumbre.

 

 

Muchas gracias a todos los que asistieron, a la cerveza post evento y a VSTE4DB :D

 

Saludos

El Bruno

PD: alguno se asombró de los productos instalados sobre Visual Studio que aparecen en el splash, pero realmente son los que necesitamos en casi nuestro día a día ... y eso que como era obvio y tuve q reinstalar el portátil antes de la presentación todavía no tenía nada de .Net 3.0 !!!

Posted domingo, 01 de abril de 2007 18:08 by elbruno | with no comments