| Fabián's profileFabián Imaz - Siderys E...BlogListsNetwork | Help |
Fabián Imaz - Siderys Elite Software
|
||||||||||||||
|
July 03 MVP Sharepoint 2009Hoy es un día raro, raro porque si bien estoy enfermo, me notificaron de Microsoft que fui nominado como MVP en Sharepoint. No podía creer lo que estaba leyendo, me nombraron MVP, que privilegio más grande y por este medio me comprometo con todos ustedes a no bajar la guardia y seguir trabajando de la misma forma que lo venía haciendo. Por este medio, quiero darles las gracias a todos los que día a día me hacen llegar sus palabras, comentarios o preguntas y sobre todo, muchas gracias a la gente que me apoya día a día para que yo pueda dedicarme a esto, que es lo que más me gusta. Acá les dejo el link a mi ficha, https://mvp.support.microsoft.com/profile=096FB367-B989-4BFE-9742-F9AB93A9B55C June 30 En Julio dos grandes eventos en CUMUY, no te los podes perder!Quiero compartir con ustedes dos grandes eventos que al Comunidad de Usuarios Microsoft del Uruguay (CUMUY), en la cual participo activamente, va a estar dictanto en el mes de Julio, los días 14 y 15 respectivamente, así que los invito a que se registren si quienre asistir.
Los esperamos a todos, no digan que no les avisamos!! June 21 Motor de Búsqueda de Microsoft Office Sharepoint Server 2007 – CUMUYEl día 17/06/2009 estuve dando una charla en CUMUY (Comunidad Usuarios Microsoft del Uruguay) sobre él motor de búsqueda de Sharepoint 2007. En la misma estuvimos viendo todas las características del motor de búsqueda de Sharepoint una de los 6 pilares de la plataforma como podemos ver en la imagen 1. En la hora y media que duro la presentación estuvimos viendo cómo podemos usar el motor de búsqueda, configurarlo y que herramientas nos provee el mismo para que nuestro índice este siempre actualizado. Dado que transcribir la charla en un artículo se hace imposible, les dejo una serie de links a 3 artículos que escribí anteriormente de cómo podemos configurar el motor para utilizarlo tanto desde Sharepoint como desde cualquier aplicación que tengamos. 1) http://blog.siderys.com/2007/11/configuracin-bsqueda-sharepoint-2007.html 2) http://blog.siderys.com/2007/12/pgina-resultado-bsqueda-sharepoint-2007.html 3) http://blog.siderys.com/2007/12/mbitos-de-bsqueda-sharepoint-2007.html También vimos como podemos crear nuestros propias webparts para tener paginas de resultados utilizando el modelo de objetos, básicamente creamos dos webparts: 1) WebPartResultadoSearch-> Esta Webpart utiliza la clase KeywordQuery provista por el modelo de Objetos de Sharepoint para realizar búsquedas basadas en palabras. 2) WebPartResultadoSearchSql-> Esta Webpart utiliza la clase FullTextSqlQuery provista opr el modelo de objetos de Sharepoint para realizar búsquedas basadas en consultas SQL. En la imagen 2 podemos ver el resultado de ambas Webpart cada vez que buscamos un texto en Sharepoint. En la solución (la versión 2) que se pueden bajar de mi Skydrive, deberán modificar el nombre del proveedor de servicios compartidos y deberán colocar el nombre del servicio que ustedes tengan creado en su servidor de Sharepoint. Si desean hacerlo más genérico y no tener que estar cambiando dicho nombre cada vez que necesiten hacer un deploy nuevo, les aconsejo que hagan una entrada en su archivo Web.Config y lo lean desde ahí. En la sección 1 podrán encontrar la declaración que deben hacer en el Web.Config para registrar las Webpart, en mi caso estoy haciendo una entrada única para todo el ensamblado, con esto todas las webpar que el mismo contenga serán tenidas en cuenta. Si desean hacerlo de forma específica para una Webpart determinada, en el atributo TypeName deberán proporcionar el nombre de la misma. [Sección 1] <SafeControl Assembly="Siderys.Blog.Search.UI.WebParts, Version=2.0.0.0, Culture=neutral, PublicKeyToken=711eed342842acee" Namespace="Siderys.Blog.Search.UI.WebParts" TypeName="*" Safe="True" /> También en esta versión encontraran una carpeta llamada “Install” que tiene dos archivos .bat, que lo que hacen es agregar los ensamblados a la gac o desintalarlos. Los ensamblados serán copiados a esta carpeta cada vez que compilemos ya que en las propiedades de cada proyecto en la sección “Acciones después de compilar” coloque un script que copie cada ensamblado a dicha carpeta, con lo cual nos facilitara la tarea de hacer el deploy cada vez que modifiquemos algo en nuestra solución.
June 09 En día 17/06/2009 CUMUY se estará juntando para compartir conocimiento….
Quiero invitarlos al próximo evento de la comunidad de usuario Microsoft del Uruguay, CUMUY, donde en esta ocasión estaré presentándoles el motor de búsqueda de Sharepoint y Nicolas les hablara de la infraestructura de Hyper V y su centro de manejo. Los invito a que ser registren y asistan a esta y demás charla de la comunidad ya que están muy buenas y nos permiten compartir todas nuestras experiencias. Fabián ImazJune 08 Stsadm – Sharepoint 2007 y Wss 3.0 – Referencia Técnica en SilverlightQuiero compartir con ustedes algo que me pareció super interesante y que todos lo que trabajamos con Sharepoint deberíamos tener acceso. Es una referencia técnica del comando más utilizado en Sharepoint 2007 y WSS 3.0, el STSADM y todas sus opciones. Además de mostrarnos todas las opciones, nos deja ver las propiedades que se deben utilizar y cuales opciones del mismo no están disponible en la UI. June 03 Webpart Virtual Earth para Sharepoint 2007 y WSS 3.0El mes pasado estuve participando en la construcción de un sitio informativo contra el nuevo virus A(N1H1). En este desarrollo, lo que hicimos es cargar en un mapa todos los centros de atención disponibles de cada país para que la gente estuviera informada. Debo reconocer que fue una muy linda experiencia, por el desarrollo en sí y porque el proyecto fue implementado con grandes amigos de la comunidad. El desarrollo está realizado en Visual Studio 2008 y consta de 3 proyectos diferentes: 1) Componente de Clases -> Encargado de leer la información cargada en Sharepoint. 2) Proyecto Web -> Este proyecto se creó para crear un control de usuario (ASCX) que es el encargado de cargar el mapa. 3) Proyecto de deploy WSP -> Proyecto encargado de crear la característica, tipo de contenido y la Webpart que se instalara en Sharepoint. Lo primero que debemos entender es cómo funcionan los servicios de Mapas de Microsoft y como debemos utilizarlos. El manejo se realiza mediante JavaScript, es decir, lo primero que tenemos que registrar es una referencia al SDK para que tengamos acceso al modelo de Objetos en JavaScript. En la sección 1 vemos el registro que debemos hacer al SDK. En nuestro ejemplo, el mismo lo incluimos dinámicamente con Asp.Net. [Sección 1] <script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2" type="text/javascript"></script> Otro elemento importante que tenemos que tener, es un objeto HTML donde se cargara nuestro mapa, en este ejemplo hemos colocado una Div y le hemos asignado un Id, ya que cuando empecemos a trabajar con los Objetos JavaScripts lo vamos a tener que pasar el Id de nuestra div en el constructor. En la sección 2 se puede ver la declaración de dicha Div. [Sección 2] <div id="myMap" style="position:relative; width:600px; height:600px;"></div> Lo próximo es empezar a crear funciones JavaScript que nos permitan crear los mapas y cargarlos. Como el ejemplo utiliza como fuente de datos una lista de Sharepoint, entonces, la inclusión de muchas de las funciones se realizada desde el servidor utilizando las características de Asp.Net. En la sección 3 vemos un ejemplo del código que debemos utilizar para cargar un mapa con unas coordenadas (latitud y longitud) determinadas. [Sección 3] <script type="text/javascript"> Lo primero que hacemos es crearnos un objeto llamado VEMap y le pasamos el Id de la div que tenemos en el HTML para que se muestre el mapa. Una vez creado el mismo, invocamos el método LoadMap y le pasamos como primer parámetro una instancia del objeto VELatLong, el cual recibe la latitud y longitud que queremos mostrar. Como segundo parámetro el nivel de zoom que queremos y después una denominación para estilo que determina como queremos ver el mapa. [Sección 4] <script type="text/javascript"> var map = null; var pinid = 0; function GetMap(pVeLatLong, pZoom) { map = new VEMap('myMap'); map.LoadMap(pVeLatLong, pZoom, 'r', false); } function AddPushpin(pVeLatLong, pNombre, pDescripcion) { var shape = new VEShape(VEShapeType.Pushpin, pVeLatLong); shape.SetTitle(pNombre); shape.SetDescription(pDescripcion); pinid++; map.AddShape(shape); } var mm_load = window.onload; window.onload = function() { if (typeof LoadMapa != 'undefined') LoadMapa(); if (typeof mm_load != 'undefined') eval(mm_load); } </script> Ahora lo que tenemos que hacer es colocar el código C# de nuestro control de usuario para implementar el comportamiento deseado. En el ejemplo lo que hacemos es cargar en el Load del control los datos de la lista de Sharepoint y en el evento del Comobo Box inyectar el código JavaScript necesario para el punto seleccionado por el usuario. Con esto logramos que cada vez que el usuario seleccione un punto el mapa lo dibuje dependiendo de las coordenadas cargadas. [Sección 5] <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LocationsVirtualEarth.ascx.cs" Inherits="Siderys.Blog.VirtualEarth.UI.UserControl.LocationsVirtualEarth, Siderys.Blog.VirtualEarth.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=711eed342842acee" %> Vamos a prepara nuestro proyecto instalador, para que cree la característica, tipo de contenido y columnas del sitio que necesitamos tener en Sharepoint para que la solución funcione. En la imagen 2 podemos ver la estructura de carpetas creadas en el proyecto para poder instalar todos los archivos en Sharepoint. Cuando creamos el proyecto (utilizando el WSPBuilder) se nos crea la carpeta 12, esta carpeta hace referencia a la carpeta 12 creada en el sistema de archivos cuando instalamos Sharepoint (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12). Lo que nosotros debemos hacer es ir creando las carpetas (igual que la instalación de Sharepoint) donde queremos que se coloquen nuestro archivos, por ejemplo las características se encuentran en la carpeta Feature, dentro de la carpeta Template, por lo cual la creamos si la necesitamos o agregamos un nuevo ítem en el proyecto del tipo característica y se nos creara automáticamente. En la imagen 2 vemos que hay una carpeta llamada Siderys.Blog.VirtualEarth.UI.WebPart que representa la característica que vamos a estar creando. En la carpeta UserControl colocaremos nuestro control de usuario para que sea instalado en Sharepoint, esto nos permitirá tener disponible el mismo desde cualquier portal web que tengamos creado. Después creamos la carpeta GAC, esta carpeta contendrá todos los ensamblados que vamos a colocar en la GAC y por ultimo tenemos la carpeta WebPartCode, que contiene la Webpart que vamos a estar creando. En la imagen 3 podemos ver la estructura de carpetas con todos los archivos necesarios creados. Algunos archivos no están incluidos en el proyecto, puesto que son copiados cuando se compilan los otros proyectos (mediante un script configurado en las propiedades del proyecto), pero no se preocupen, no es necesario que estén incluidos para generar el WSP, ya que solo basta que estén en dichas carpetas. [Sección 6]
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"><ContentType ID="0x01001B25C760504E45c8AA38B26573E16F61"Name="Siderys.Blog.VirtualEarthMap"Group="Siderys.Blog"Description="Content Type to add fields to create point to use in maps"><FieldRefs><FieldRef ID="{0664FE0B-F9B2-46eb-B069-0DAE0C610935}"Name="Name Point" Required="TRUE" ShowInEditForm = "TRUE" ShowInNewForm = "TRUE"ShowInDisplayForm ="TRUE"/><FieldRef ID="{613ADC57-8EB4-49c3-BC76-126791C6C050}"Name="Latitude" Required="TRUE" ShowInEditForm = "TRUE" ShowInNewForm = "TRUE"ShowInDisplayForm ="TRUE"/><FieldRef ID="{FD566634-C1E0-45d5-BB4E-41A364C5AA37}"Name="Longitude" Required="TRUE" ShowInEditForm = "TRUE" ShowInNewForm = "TRUE"ShowInDisplayForm ="TRUE"/><FieldRef ID="{CF35C355-55F7-4131-9D94-A4957C750F38}"Name="Address Point" Required="TRUE" ShowInEditForm = "TRUE" ShowInNewForm = "TRUE"ShowInDisplayForm ="TRUE"/><FieldRef ID="{1DAE65FF-9FA5-48ce-A1D7-E4634F97A219}"Name="Phone Point" Required="TRUE" ShowInEditForm = "TRUE" ShowInNewForm = "TRUE"ShowInDisplayForm ="TRUE"/></FieldRefs></ContentType></Elements> En la sección 7 podemos ver el código XML del archivo Fields.xml para crear columnas de sitio en nuestro portal de Sharepoint, el cual será ejecutado al instalar la solución [Sección 7] <Elements xmlns="http://schemas.microsoft.com/sharepoint/"xmlns:sen="http://schemas.seneca.com/sharepoint/"><FieldID="{0664FE0B-F9B2-46eb-B069-0DAE0C610935}"Type="Text"Name="NamePoint"DisplayName="Name Point"StaticName="NamePoint"Hidden="FALSE"Required="TRUE"Sealed="FALSE"Group="Siderys.Blog"Description="Name of the point"/><FieldID="{613ADC57-8EB4-49c3-BC76-126791C6C050}"Type="Text"Name="Latitude"DisplayName="Latitude"StaticName="Latitude"Hidden="FALSE"Required="TRUE"Sealed="FALSE"Group="Siderys.Blog"Description="Latitud of the point"/><FieldID="{FD566634-C1E0-45d5-BB4E-41A364C5AA37}"Type="Text"Name="Longitude"DisplayName="Longitude"StaticName="Longitude"Hidden="FALSE"Required="TRUE"Sealed="FALSE"Group="Siderys.Blog"Description="Longitude of the point"/><FieldID="{CF35C355-55F7-4131-9D94-A4957C750F38}"Type="Text"Name="AddressPoint"DisplayName="Address Point"StaticName="AddressPoint"Hidden="FALSE"Required="TRUE"Sealed="FALSE"Group="Siderys.Blog"Description="Direccion of the point"/><FieldID="{1DAE65FF-9FA5-48ce-A1D7-E4634F97A219}"Type="Text"Name="PhonePoint"DisplayName="Phone Point"StaticName="PhonePoint"Hidden="FALSE"Required="TRUE"Sealed="FALSE"Group="Siderys.Blog"Description="Phone of the point"/></Elements> Por último en la sección 8 tenemos el código XML del archivo feature.xml para crear nuestra característica en Sharepoint y que deberemos activar en el portal de Sharepoint donde queremos utilizar nuestra solución. [Sección 8] <Feature Id="F8AC6324-85CA-4222-B0A0-493E7039C5C9"Title="Siderys.Blog.VirtualEarth.UI.WebPart"Description="WebPart to show locations in a Virtual Earth Maps"Version="12.0.0.0"Hidden="FALSE"Scope="Site"DefaultResourceFile="core"xmlns="http://schemas.microsoft.com/sharepoint/"><ElementManifests><ElementManifest Location="elements.xml"/><ElementManifest Location="Fields.xml"/><ElementManifest Location="SiderysVirtualEarthMapContentType.xml"/><ElementFile Location="Siderys.Blog.VirtualEarth.UI.WebPart.webpart" /></ElementManifests></Feature> En la imagen 4 podemos ver la característica activada en las características de la colección de sitio de nuestro portal Web. Lo próximo que debemos hacer es crear el archivo WSP, para lo cual seleccionamos el proyecto y del menú contextual seleccionamos la opción crear WSP, dentro de la opción WSPBuilder. Para instalar el mismo en Sharepoint, usamos un archivo bat, que podemos ver en la sección 10 [Sección 10] stsadm -o addsolution -filename Siderys.Blog.VirtualEarth.WSP.wsp En mi SkyDrive podrán encontrar el código completo del ejemplo. Para correr el mismo necesitan tener Visual Studio 2008 y WSPBuilder instalado en sus maquinas. May 25 Run09 en Uruguay, no te lo puedes perder………El próximo día Jueves 04 de Junio del 2009 se llevara en Uruguay el Run09, un evento de Microsoft para desarrolladores. El mismo cuanta con una gama de oradores de muy alto nivel y donde nos estarán hablando de lo último para desarrolladores. Si estas en Montevideo, te recomiendo que te hagas un hueco en tu agenda porque no deberías dejar de ir…. Fabián Imaz May 22 Anuncio Importante sobre el Service Pack 2 de Sharepoint 2007El equipo de Sharepoint está anunciando en su blog que el último service pack lanzado para Sharepoint 2007 tiene un bug importante y crítico. El bug es que al instalar el service pack 2, se establece la fecha de expiración del producto a 180 días de instalado el mismo. Acá les dejo el link para que puedan ver lo que nos comentan y cómo podemos solucionarlo de forma manual por el momento, ya que están trabajando un hotfix para solucionar este tema automáticamente. May 15 Sección personalizada de configuración administración central de Sharepoint 2007En el artículo publicado el día 18/04/2009, Sección de configuración en configuraciones del sitio– WSS 3.0 y MOSS 2007 estuvimos hablando de cómo podíamos una sección de configuración personalizada dentro de las configuraciones del sitio de Sharepoint, como podemos ver en la imagen 1. En esta oportunidad lo que vamos hacer es crear una sección personalizada de configuración pero dentro de sección “Configuración de Aplicaciones” de la administración central de nuestra instalación Sharepoint 2007. Comencemos por analizar el archivo elements.xml que es el archivo donde se encuentra el nodo Elements que es donde vamos a definir toda nuestra sección personalizada de configuración. El archivo feature.xml, podemos dejar el que se nos crea por defecto cuando creamos un feature usando el template de Visual Studio 2008. En la sección 1 podemos ver el código completo del XML para crear la sección personalizada y sus opciones de configuración. [Sección 1] <Elements xmlns="http://schemas.microsoft.com/sharepoint/"><CustomActionGroupId="63418BE2-75A9-4fc2-88CC-21BBE7B3BB63"Title="Custom Administration Setting"Location="Microsoft.SharePoint.Administration.ApplicationManagement"Sequence="110"></CustomActionGroup><CustomActionId="F85ED83E-45DA-4467-9DA2-56F376BF7A88"Title="Configuracion 1"Location="Microsoft.SharePoint.Administration.ApplicationManagement"GroupId="63418BE2-75A9-4fc2-88CC-21BBE7B3BB63"Sequence="120"RequireSiteAdministrator="FALSE"><UrlAction Url="_admin/Siderys/CustomAdminSettings.aspx"/></CustomAction><CustomActionId="E33599E2-E1C3-48c3-BCEB-9B36BD596C25"Title="Configuracion 2"Location="Microsoft.SharePoint.Administration.ApplicationManagement"GroupId="63418BE2-75A9-4fc2-88CC-21BBE7B3BB63"Sequence="130"RequireSiteAdministrator="FALSE"><UrlAction Url="_admin/Siderys/CustomAdminSettings.aspx"/></CustomAction></Elements> Lo primero que tenemos que hacer es crear un nodo llamado CustomActionGroup, que es el que definirá nuestra sección personalizada, al mismo tenemos que asignarle valor a los siguientes atribtutos:
Los próximos dos nodos que se muestran en el archivo XML, son las dos opciones de configuración que estamos creando, para lo cual para cada opción de configuración que queremos crear debemos definir el elemento CustomAction, a continuación se detallan los atributos que se deberían cargar para el nodo.
Una vez realizados los cambios y las modificaciones que nosotros queremos, lo próximo que vamos hacer es crear nuestra página de configuración que será cargada cuando el usuario seleccione nuestra opción. A diferencia de los artículos anteriores, la página deberá estar instalada en una sección específica del servidor, ya que todas las páginas de configuración de la administración central, se ejecutan en un contexto diferente a la que usamos en la configuración del sitio. También tenemos que cambiar la herencia de la clase que implementa el código de la página, puesto que dicha clase debe heredar de la clase de Sharepoint llamada ApplicationsManagementPage que se encuentra en el espacio de nombre Microsoft.SharePoint.ApplicationPages y que está dentro del ensamblado llamado Microsoft.SharePoint.ApplicationPages.Administration.dll En la imagen 3 podemos ver nuestra sección personalizada dentro la administración central de Sharepoint. La imagen 4 nos muestra la pagina de configuración ejecutándose cuando uno de los usuarios presione una de las opciones (para este ejemplo, las dos opciones cargan la misma página de configuración) de nuestra sección personalizada. Una vez que tenemos todo pronto y empaquetado, vale la pena destacar que estamos subiendo todo a nuestro portal de Sharepoint mediante un WSP, lo que tenemos que hacer es instalar todo, para lo cual, en la sección 2 les dejo el código del archivo bat que estoy utilizando para instalar la solución en el servidor y activar la característica, lo que deben hacer ustedes es cambiar el valor de la variable llamada URL y poner la ruta de la administración central donde quieren instalar dicha característica. [Sección 2] @echo off Dentro de la solución que se pueden descarga, encontraran un bat llamado unistallSolution.bat, que desinstala la característica y remueve la solución completa del nuestro Sharepoint. Taller de Implementación de Intranet Departamental con WSS 3 en Comunidad Tijuana.NET
Mi buen amigo Haaron Gonzalez estará dictando un taller de implementación para armar Intranets departamentales con WSS 3.0 en el contexto de la comunidad Tijuana.NET, así que las personas que puedas asistir, se los recomiendo ya que va a estar muy interesante. Para más información http://msmvps.com/blogs/haarongonzalez/archive/2009/05/15/1692499.aspx. |
|||||||||||||
|
|