miércoles 29 de abril de 2009

Si todos ponemos nuestro granito de arena, podemos vencerla….…..

Hector Insua, amigo me comento la idea de construir un portal para colaborar a combatir la influenza de gripe porcina que hoy el mundo está padeciendo. Fue así que empezamos a mover los hilos para construir y brindar al mundo un portal que nos ayude a informarnos del tema. Los mails empezaron a llegar y grandes amigos de la comunidad se empezaron a sumar a este emprendimiento y es así que Ricardo Muñoz, Luis Du Soleir, Hector Insua , Juan Andres Valenzuela, Mauricio Grimberg y otros ya estamos organizando para construir un portal con Sharepoint para ayudar en la epidemia de Gripe Porcina.
Como menciona Hector en su post la idea es crear un portal publico en SharePoint, para que las organizaciones mundiales de salud, ministerios de salud de los países, hospitales y mismo los afectados a nivel mundial puedan tener una referencia global de la enfermedad.
Por eso mismo estamos adicionalmente buscando voluntarios que quieran trabajar en la creación de este portal especial.

Acá les dejo algunas de las soluciones que estamos manjenado:

  • Bibliotecas de repositorios de estudios realizados
  • Listas de Hospitales o Centros Médicos también localizados en un Mapa
  • Blogs con Noticias de Ultimo momento.
  • Foros de Consultas (Ask a Doctor)
  • Videos Informativos, Animaciones generadas con Silverlight.
  • Pedidos de Ayuda
  • Subsitios para Hospitales con Información Local
  • Repositorio para documentación de Pruebas de Campo.
  • Bibliotecas de Imagen
  • Opciones para Generar Donaciones para los Damnificados
  • Exportar Reportes a Excel para Analisis de Datos
  • Publicacion de los Ultimos Estudios Realizados

Si Te interesa la idea, difunde la pagina, recluta personas, empresas y recursos, todo sirve, la causa los vales y si todos ponemos nuestro granito de arena, podemos vencer la epidemia que nos afecta a todos…

Fabián Imaz

lunes 27 de abril de 2009

MOSSCA en vivo 2009

Este año con el grupo de usuarios hemos decidido romper el esquema de WebCast que llevábamos hasta ahora y empezar con las charlas en vivo para interactuar con ustedes. Así que les dejo una invitación a las primeras charlas que vamos a estar dictando en la comunidad y ya estamos trabajando en los próximos ciclos, donde vamos a intentar llegar a todos lados.

clip_image001

Mossca.org te invita este ciclo de charlas presenciales donde integraremos la información de las características de SharePoint, tanto para audiencias MSDN, como TECHNET.

Próximos Eventos:

- 27 / 5  BA, ARG:
Búsqueda Empresarial (revisión en profundidad (MSDN, TECHNET).

- 28 / 5 BA, ARG:
Administración de Contenido Empresarial Empresarial (revisión en profundidad (MSDN, TECHNET).

Oradores:
Fabián Imaz (UY)
Juan Andrés Valenzuela (CL).

Bienvenidos (ITs & Developers) a la casa de Sharepoint – 28 Abril – 18 hrs – Buenos Aires, ARG

Oradores:

Mauricio Grimberg, Director MOSSCA y Microsoft MVP - Maximiliano D’Acotto (Microsoft MVP)
Dada la particular capacidad de servicio de Sharepoint, las interacciones que la plataforma provee, su extensibilidad y – francamente – su mundo operativo creemos que – tanto a quienes sólo les interesa obtener una reseña de la plataforma como a quienes, como usuarios, administradores, diseñadores o programadores, conviven con el software – les será útil conversar pormenorizadamente sobre “lo que hay en la caja, para qué me sirve y cómo lo puedo usar”.
Revisaremos

· Los servicios que provee (Colaboración, Administración de Contenidos, Portal, Red Social, Búsqueda, Integración al Negocio, File System Documental, Inteligencia de Negocios, etc.)

· La extensibilidad y la infraestructura de plataforma

· La integración con otras herramientas cliente y servidor

· Los chiches (Plantillas, herramientas de Código Abierto, etc.)

· El approach en general, el cómo trabajar en Sharepoint

· El modelo de licenciamiento

Pueden registrarse en http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413587&Culture=es-AR

Fabián Imaz

sábado 18 de abril de 2009

Sección de configuración en configuraciones del sitio– WSS 3.0 y MOSS 2007

En el artículo publicado el día 5/04/200, Configuración personalizada en la configuración del sitio – WSS 3.0 y MOSS 2007 estuvimos hablando de cómo podíamos crear un pagina de configuración personalizada y agregarla a una de las secciones de la configuración del sitio que tenemos en nuestros portales de Sharepoint. En la imagen 1 podemos ver la opción llamada “Hola Mundo Settings” dentro de la sección “Administración de sitios”.

[Imagen 1]
clip_image002

En esta oportunidad vamos a crear una sección personalizada y vamos agregar dos opciones de configuración para esta nueva sección, como podemos ver en la imagen 2.

[Imagen 2]
clip_image004

El código fuente está basado en el ejemplo anterior, por lo cual lo único que tenemos que cambiar para crear un grupo y sus opciones de configuración es la característica que estamos creando para instalar en nuestro portal de Sharepoint. Anteriormente habíamos creado un CustomAction y habíamos indicado en que grupo o sección de nuestra configuración lo queríamos colocar, bueno, ahora lo que debemos hacer es crear un CustomActionGroup para crear nuestro grupo o sección y vincular las opciones con dicho grupo mediante el atributo GroupId del elemento CuastomAction. En la sección 1 podemos ver el código completo para crear nuestro grupo y las dos opciones que este tendrá.

[Sección 1]

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomActionGroup
  Id="DF784448-CD3F-4221-9B8A-69769FA961EE"
  Title="Custom Group Setting"
  Location="Microsoft.SharePoint.SiteSettings"
  Sequence="110">    
  </CustomActionGroup>
  <CustomAction
  Id="EDBEB420-A817-4896-BE42-F5B9048C0CF5"
  Title="Configuracion 1"
  Location="Microsoft.SharePoint.SiteSettings"
  GroupId="DF784448-CD3F-4221-9B8A-69769FA961EE"
  Sequence="120"
  RequireSiteAdministrator="FALSE">
    <UrlAction Url="_layouts/HelloWordSiteSettings.aspx"/>
  </CustomAction>
  <CustomAction
  Id="29020219-0C09-4ef0-BF0A-8921F99AD1B0"
  Title="Configuracion 2"
  Location="Microsoft.SharePoint.SiteSettings"
  GroupId="DF784448-CD3F-4221-9B8A-69769FA961EE"
  Sequence="130"
  RequireSiteAdministrator="FALSE">
    <UrlAction Url="_layouts/HelloWordSiteSettings.aspx"/>
  </CustomAction>
</Elements>


La configuración del CustomAction no cambia, solo debemos cambiar el valor del atributo GroupId donde vamos a colocar el id creado para nuestro CustomActionGroup. En este ejemplo configure los CustomAction de la siguiente forma:  




  • ID -> Genere un nuevo Guid para cada uno.


  • Title-> El texto que queremos que se muestre.


  • Location-> La ubicación de estas opciones de configuración. En este ejemplo, en la configuración del sitio donde instalamos la característica, en la siguiente página del MSDN pueden encontrar todas las opciones posibles para este atributo http://msdn.microsoft.com/en-us/library/bb802730.aspx.


  • GroupId-> El id de nuestro CustomActionGroup, ya que queremos que aparezca en dicho grupo que estamos creando.


  • RequireSiteAdministrator-> En este caso lo establecimos a FALSE, dado que cualquiera que tenga permisos de control total y pueda acceder a la configuración puede acceder a estas opciones.


  • Secuence-> El orden con el cual queremos que aparezca dentro de la sección.


  • UrlAction-> Dejamos la misma página que usamos en el ejemplo anterior.


Ahora vamos a ver la configuración del elemento CustomActionGroup, el cual creara nuestra sección personalizada de configuración.  

  • Id-> Genere un Guid.


  • Title-> El texto que queremos que se muestre como titulo de la sección.


  • Location-> La ubicación de estas opciones de configuración.


  • Secuence-> El orden con el cual queremos que se muestre nuestra sección con respecto a las demás, en el ejemplo es la última sección de todas.


Una vez realizados los cambios y las modificaciones que nosotros queremos, lo próximo que vamos hacer es crear nuestro WSP, como vimos en el artículo anterior y dado que estamos usando el mismo ambiente, lo único que tenemos que hacer es construir el WSP después de compilar él proyecto. En la imagen 3, vemos la ventana de salida del Visual Studio 2008 que nos notifica que el WSP fue creado correctamente.



[Imagen 3]

clip_image002



Nos resta instalar en nuestro servidor y probar la solución. Para instalar vamos usar un archivo bat. En la sección 2 les dejo el código del archivo “InstallSolution.bat” que yo utilice para instalar, para que lo modifiquen y utilicen.



[Sección 2]



@echo off

set URL=http://<Servidor>/


set STSADM="C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN\stsadm.exe"


set SOLUTION_NAME=WspAddSectionWebSettings.wsp


set FEATURE_NAME=AddSectionToSiteSettings


echo *


echo * Installing solution... '%SOLUTION_NAME%'


echo *


%STSADM% -o addsolution -filename %SOLUTION_NAME%


echo *


echo * Activating solution ... '%SOLUTION_NAME%' in %URL%


echo *


%STSADM% -o deploysolution -name %SOLUTION_NAME% -url %URL% -immediate -allowGacDeployment –force


%STSADM% -o execadmsvcjobs


iisreset


rem ***********************************************


echo *


echo * Activating feature... '%FEATURE_NAME1%' in '%URL%'


echo *


%STSADM% -o activatefeature -name %FEATURE_NAME% -url %URL% –force


echo *


echo * Install Completed.


echo *



Una vez se termine el proceso de instalación, accedemos al sitio donde instalamos la solución, vamos a la configuración del mismo y nos encontraremos con la nueva sección que acabamos de crear y las dos opciones. 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.



clip_image001


Descargar Solución Completa con Instalador



Fabián Imaz

miércoles 15 de abril de 2009

Próximamente Service Pack 2 para Sharepoint 2007.

Mi amigo Hector, en su blog anunció el lanzamiento del Service Pack 2 para Sharepoint 2007, el mismo estará disponible a partir del 28 de abril en el centro de descarga de Microsoft. Se vienen mejoras en las siguientes características:

  • Enterprise Content Management (ECM)
  • Excel and Access Services
  • Groove Server
  • Forms Server
  • Project Server
  • Search Server

Para leer más acerca del Service Pack 2, les dejo un link al blog de Hector donde podrán leer exactamente el impacto que tiene dicho Service Pack.

Fabián Imaz

Microsoft SharePoint Server “14” es ahora Microsoft SharePoint 2010


Es un hecho, Microsoft está anunciando que Sharepoint 14, la nueva versión de la plataforma estará disponible para mediados del 2010 y las primeras versiones betas estarán disponibles para la segunda mitad del corriente año. Este anuncio es muy importante para todos los que estamos esperando esta nueva versión para ponerla en marcha en nuestros servidores y empezar a trabajar con ella. Acá les dejo el link a la noticia publicada por Microsoft en el día de hoy y al blog del equipo de Sharepoint.

Next Wave of Microsoft Office Products Will Redefine How People Work
Blog del equipo de Sharepoint

La noticia fue anunciada por:

Chris Capossela, senior vice president of Microsoft’s Information Worker Product Management

Chris Capossela, senior
vice president of
Microsoft’s Information
Worker Product
Management

Fabián Imaz

Complemento Microsoft SQL Server 2005 Reporting Services para SharePoint

En el día de hoy instalando Reporting Services para Sharepiont en un servidor de staging me encontré con el problema de que no podía configurar el complemento de Reporting Services para Sharepoint dado que cada vez que quería instalarlo, me salía el mismo mensaje, “La versión que está intentando instalar es menor que la versión instalada, para continuar, desinstale la versión previa. Bueno el mensaje era muy parecido, pero en pocas palabras, no podía instalar el complemento porque existía una versión más nueva instalada. Me puse a revisar el servidor y me percate que tenia instalado el Service Pack 2 (versión número 9.00.3294 ) para el Sql Server 2005 y Reporting Services. El problema es que antes de haber instalado el Service Pack 2 para Reporting Services tenía que haber instalado el complemento para Sharepoint, pero no lo hice, así que me encontré con este problema. La solución, instalar el nuevo Service Pack 3 para Sql Server y la nueva versión del complemento para Sharepoint, con lo cual el número de la versión quedo en 9.00.4035, una vez terminado el proceso, ver la imagen adjunta, pude configurar sin ningún problema Reporting Services para Sharepoint 2007.

image 

Descargar Service Pack 3 de Sql Server 2005:
http://www.microsoft.com/downloads/details.aspx?FamilyID=ae7387c3-348c-4faa-8ae5-949fdfbe59c4&displaylang=en

Descargar complemento de Sql Server 2005 Reporting Services para Sharepoint:
http://www.microsoft.com/downloads/details.aspx?familyid=0ACB75A6-7C1D-4E2B-AF69-7E5F9ECAD299&displaylang=es

Espero que les sea de utilidad, para mí lo fue y mucho, ahora el servidor de staging tiene Reporting Services para Sharepoint configurado y funcionando.

Fabián Imaz

lunes 13 de abril de 2009

Cumuy invita: Novedades en la plataforma de desarrollo .NET


Cumuy_22042009

En esta sesión estaremos mostrando las nuevas tecnologías lanzadas por Microsoft relacionadas a la plataforma de desarrollo; entre ellas la primer CTP de Visual Studio 2010 y la beta de Silverlight 3. También acaba de concluir la Game Developer Converence donde se anunció la versión 3.1 de XNA Game Studio para el desarrollo de juegos.

Para registrarse al evento: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413561&Culture=es-UY 

Si queres mantenerte informado, vista la comunidad CUMUY

Fabián Imaz

lunes 6 de abril de 2009

Simposio de SharePoint en Mexico

Quiero invitarlos al simposio de Sharepoint 2007 que se llevara a cabo en México el día 23 de Abril del 2009. Mi colega Luis Du Solier está en plena organización del mismo, así que les recomiendo que asistan puesto que los oradores son de primer nivel.

invitacionSegundoSimposioSharePointMexico[5]Para registrarse y ver la agenda siga este link

Es un honor que uno de los direcotres de MOSSCA este presenta dando una charla, felicitaciones Hector!!

Fabián Imaz

domingo 5 de abril de 2009

Configuración personalizada en la configuración del sitio – WSS 3.0 y MOSS 2007

Quiero compartir con ustedes una solución que nos permitirá crear nuestras propias secciones de configuración en la configuración de los sitios tanto de Windows Sharepoint Services y Microsoft Office Sharepoint Server. Como podrán ver en la imagen 1, la idea es crear un link, dentro de una de las secciones de configuración, en este caso dentro de la sección “Administración del Sitio” que al seleccionarla nos lleva a una página creada por nosotros. Todos sabemos que Sharepoint es una plataforma muy robusta, escalable y altamente customizable, pero hay veces, que nos enfrentamos a desarrollos que no son cubiertos por Sharepoint, donde terminamos desarrollando procesos de negocios o invocando a procesos de negocios externos que muchas veces necesitan tener una configuración especifica, la cual terminamos colocando en el web.config, una base de datos o simplemente un lista y editando manualmente los mismos. La idea es mostrarles cómo podemos crear una simple sección de configuración para centralizar todas estas tareas.

[Imagen 1]
clip_image002

Antes de empezar hablar de cómo tenemos que hacer esto, les voy a comentar cual es mi ambiente de desarrollo y que estoy utilizando yo para llevar a cabo este código. También estoy usando un instalador para que el deploy sea mucho más sencillo.

1) WSPBuilder – Solución que se pueden bajar de CodePlex y que les permitirá tener un Add-in en el Visual Estudio, para crear los paquetes de instalación WSP.

2) Sharepont Solution Installer – Solución que también se pueden bajar de CodePlex y que les permitirá instalar y desinstalar cualquier solución del servidor o la granja de servidores.

3) Visual Studio 2008 Sp1

4) Windows Server 2008

5) Microsoft Office Sharepoint Server 2007

Vale la pena aclarar que este desarrollo lo vamos hacer basados en una “Característica” que podemos activar y desactivar, con lo cual nuestro sección de configuración se activara o no, en un próximo artículo les estaré mostrando cómo podemos crear características de Sharepoint para instalar distintas soluciones que nosotros podemos desarrollar.

Lo primero que vamos hacer, es crear un nuevo proyecto en nuestro Visual Studio y vamos a usar el template “Proyecto WSPBuilder”, le vamos a poner un nombre y vamos a seleccionar una ruta donde estará alojado este proyecto, en la imagen 2 podemos ver la ventana que se nos abre en el Visual Studio.

[Imagen 2]
clip_image004

Una vez creado el proyecto, lo próximo que vamos hacer es crear una característica utilizando el template que nos proporciona el WSPBuilder, para ello, seleccionamos el proyecto, presionamos el botón derecho y seleccionamos agrega nuevo elemento. En la nueva ventana que se nos abrió vamos a seleccionar WSPBuilder en la sección de categorías, en la sección de template “Característica en Blanco” y le ponemos un nombre a la misma, como podemos ver en la imagen 3.

[Imagen 3]
clip_image006

Al presionar agregar, se abrirá una pequeña ventana donde tendremos que terminar de configurar la característica que estamos creando, para lo cual o dejamos los valores por defecto o los cambiamos por nuestros valores.
Cuando el proceso termine, se tuvieron que haber creado una serie de carpetas y archivos XML(Feature.xml y Elements.xml) que son para la instalación de nuestra característica, en la imagen 4 podemos dicha estructura.

[Imagen 4]
clip_image008

Pero esto no nos basta, tenemos que crear dos carpetas de forma manual en el proyecto WSP, que es donde colocaremos nuestro esamblado (dll) y nuestra página personalizada de configuración. La primera carpeta que vamos a crear se tiene que llamar GAC, es donde vamos a colocar la dll con el código compilado que se ejecutara cuando se cargue a página y una carpeta llamada LAYOUTS que es donde debe ir instalada nuestra página de configuración, en la imagen 5 podemos ver cómo nos debería quedar la estructura del proyecto WSP.

[Imagen 5]
clip_image010

Por último vamos a crear un proyecto de biblioteca de clases que será el código servidor que ejecutara nuestra página de configuración cuando sea cargada al presionar el link. La decisión de poner el código en un ensamblado separado se debe a tener encapsulado todo nuestro código en un único componente, el cual, como se deben imaginar, puede estar accediendo a recursos externos del servidor e incluso ejecutando procesos de negocio o invocando los mimos, en la imagen 6 vemos la estructura del proyecto completa y lista.

[Imagen 6]
clip_image011

Lo primero que vamos hacer, es crear la pagina de configuración que será invocada cuando presionemos él link en la configuración del sitio, en la imagen 7 podemos ver la pagina en ejecución. Para agregar la pagina, les recomiendo que copien una página ya existente, en la carpeta layouts del servidor y la peguen en la carpeta Layouts creada dentro del proyecto WSP, después deben incluir la misma al proyecto y renombrarla para que no les genere problema cuando se instale, en mi caso, la llame “HelloWordSiteSettings.aspx”

[Imagen 7]
clip_image013

Abrimos la página en el Visual Studio y en él código declarativo de la misma, vamos a realizar algunas modificaciones necesarias para que funcione correctamente. Lo primero que vamos hacer es registrar nuestro ensamblado (proyecto de clases que creamos anteriormente) usando la directiva de página “Assembly”, la cual nos debería quedar de la siguiente forma “<%@ Assembly Name="Siderys.Blog.Sharepoint.Configuration.CustomSiteSettings, Version=1.0.0.0, Culture=neutral, PublicKeyToken=711eed342842acee"%>”. Con esta directiva estamos indicando que cuando se cargue nuestra página, se debe cargar el ensamblado que tiene el código servidor que queremos ejecutar.
Ahora vamos a cambiar la directiva @Page de nuestra página para que la misma herede de una clase que vamos a crear más adelante (es la clase que tiene el código servidor), por ahora solo cambiemos la herencia y después crearemos la clase, la directiva tendría que quedar de la siguiente forma “<%@ Page Language="C#" Inherits="Siderys.Blog.Sharepoint.Configuration.CustomSiteSettings.HelloWordSiteSettingsPage" MasterPageFile="~/_layouts/application.master"%>”. Esta página contiene varias directivas más, que incluyen otros ensamblados de Sharepoint y algunos controles de usuario que son utilizados para dibujar las distintas secciones que nosotros necesitemos. En la sección 1 tenemos el código completo de la página.

[Sección 1]

<%@ Assembly Name="Siderys.Blog.Sharepoint.Configuration.CustomSiteSettings, Version=1.0.0.0, Culture=neutral, PublicKeyToken=711eed342842acee"%> 
<%@ Page Language="C#" Inherits="Siderys.Blog.Sharepoint.Configuration.CustomSiteSettings.HelloWordSiteSettingsPage" MasterPageFile="~/_layouts/application.master"%> 
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Register TagPrefix="wssuc" TagName="InputFormSection" src="~/_controltemplates/InputFormSection.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="InputFormControl" src="~/_controltemplates/InputFormControl.ascx" %>
<%@ Register TagPrefix="wssuc" TagName="ButtonSection" src="~/_controltemplates/ButtonSection.ascx" %>
<%@ Register Tagprefix="wssawc" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<script language="C#" runat="server">
</script>
<asp:Content contentplaceholderid="PlaceHolderPageTitle" runat="server">
		<SharePoint:EncodedLiteral runat="server" text="Hola Mundo Page Settings" />
</asp:Content>
<asp:Content contentplaceholderid="PlaceHolderPageTitleInTitleArea" runat="server">
	<asp:literal text='Hola Mundo' runat="server"/>
</asp:Content>
<asp:Content contentplaceholderid="PlaceHolderPageDescription" runat="server"/>
<asp:Content contentplaceholderid="PlaceHolderAdditionalPageHead" runat="server">
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="PlaceHolderMain" runat="server">
 <table class=propertysheet border="0" width="100%" cellspacing="0" cellpadding="0" id="diidProjectPageOverview">
 <wssuc:InputFormSection Title="Hola Mundo Settings" Description="Custom Configuration Section" runat="server">
	   <Template_InputFormControls>
			<wssuc:InputFormControl LabelText="Hello Word Custom Configuration Section" runat="server">
			    <Template_Control>
			        <wssawc:InputFormTextBox Title="CustomSettingValue" class="ms-input"  ID="TxtCustomSettingValue" Runat="server" />
				</Template_Control>
			</wssuc:InputFormControl>
	   </Template_InputFormControls>
 </wssuc:InputFormSection>
 <wssuc:ButtonSection runat="server">
	   <Template_Buttons>
		  <asp:Button UseSubmitBehavior="false" runat="server" class="ms-ButtonHeightWidth" OnClick="BtnOk_Click" Text="Ok" id="BtnOk" />
	   </Template_Buttons>
 </wssuc:ButtonSection>
 </table>
</asp:Content>


Las secciones dentro de la pagina están delimitadas por él tag InputFormSection y dentro del mismo podemos colocar cada uno de los controles que nosotros necesitemos utilizar, en nuestro caso hemos colocado un control llamado “TxtCustomSettingValue” del tipo InputFormTextBox que nos representa una caja de texto (la que veíamos en la imagen 7). Quiero destacar dos cosas, la primera es que podemos usar cualquier control servidor de Asp.Net y la segunda, es que en la clase que vamos a crear para manejar la ejecución del código, debe existir la declaración de un atributo con el mismo nombre del control que acabamos de agregar a la pagina, si es que queremos tener acceso al mismo en tiempo de ejecución.

Hechas las aclaraciones, vamos a crear una clase en el componente de clases que habíamos agregado anteriormente, esta clase se tiene que llamar de la misma forma que la declaramos en la directiva @Page y debe tener el mismo espacio de nombre. También debe heredar de la clase de Sharepont WebAdminPageBase, la cual nos agrega un comportamiento adicional en los botones de acción, en la sección 2 podemos ver el código completo de la clase e incluso podemos ver la declaración del atributo que nos representa el control de usuario que agregamos.



[Sección 2]



using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI.WebControls;
using Microsoft.SharePoint.ApplicationPages;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
namespace Siderys.Blog.Sharepoint.Configuration.CustomSiteSettings
{
    public class HelloWordSiteSettingsPage : WebAdminPageBase 
    {
        protected TextBox TxtCustomSettingValue;
        public HelloWordSiteSettingsPage()
        {
        }
        protected void BtnOk_Click(object sender, EventArgs e)
        {
            SPUtility.Redirect("settings.aspx", SPRedirectFlags.RelativeToLayoutsPage, this.Context);
        }
    }
}




Para que todo ande, tenemos que terminar de configurar el proyecto, armar los XML de la característica, compilar, generar el WSP e instalar todo en el servidor. Para que el WSP, nos ponga el ensamblado correspondiente al código servidor de nuestra página en la GAC, lo tenemos que poner dentro de la carpeta GAC que habíamos creado en el proyecto WSP, para hacer esto, tenemos dos opciones, lo copiamos a mano o configuramos el proyecto de bibliotecas de clase para que cada vez que termine de compilar se copie a dicha carpeta. Para hacer esto último, vamos a las propiedades del proyecto de biblioteca de clases y la sección “Eventos de compilación” copiamos este comando xcopy /Y "$(TargetPath)" "$(SolutionDir)GAC" con los parámetros para que nos copie el ensamblado a la carpeta GAC del proyecto WSP, en la imagen 8 podemos ver la propiedades del proyecto.



[Imagen 8]

clip_image002



Ahora vamos a configurar la característica de Sharepoint, para lo cual tenemos que acceder a los archivos Feature.xml y Elements.xml. El primero no es necesario adicionarle nada, para este ejemplo, ya que por defecto se nos crea para ser utilizado. En el segundo, tenemos que extender el nodo XML que se presenta por defecto y agregar un nuevo nodo llamado CustomAction, en la sección 3, podemos ver el código completo para este archivo.



[Sección 3]



<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
    Id="AAEA7FC4-080D-4551-B8A2-AA8A9D0B3340"
    Title="Hola Mundo Settings"
    Location="Microsoft.SharePoint.SiteSettings"
    GroupId="SiteAdministration"
    Sequence="107"
    RequireSiteAdministrator="TRUE"
    >
    <UrlAction Url="_layouts/HelloWordSiteSettings.aspx"/>
  </CustomAction>
</Elements>


Para este ejemplo, coloque un guid como ID, un titulo (el que se desplegara en la sección de configuración) la ubicación de donde queremos que aparezca, para lo cual usamos el atributo Location del XML, para ver todas las opciones que podemos manejar, les dejo un link a la pagina del MSDN http://msdn.microsoft.com/en-us/library/bb802730.aspx. El valor que coloquemos en el atributo GroupId, nos indicara en que sección de la configuración del sitio queremos que aparezca nuestro link y por último establecemos en TRUE el atributo RequireSiteAdministrator, cerramos el tag CustomAction y dentro del mismo, tenemos que adicionar uno más y es la ruta donde estará nuestra página de configuración. En este caso estamos indicando que la misma estará en la URL de donde están todas las páginas de configuración de Sharepoint “_layouts”, pero podría estar en cualquier parte de nuestro servidor y acá deberíamos colocar la ruta relativa o absoluta a la misma, esto dependerá de lo que estemos desarrollando. El WSP nos copiara nuestra página a dicha carpeta del servidor, es por eso que la colocamos dentro de la carpeta LAYOUTS dentro del proyecto WSP, para que se nos copie cuando lo instalemos.


Una vez terminado de configurar todo, vamos a proceder a compilar y crear el WSP. Lo primero es compilar el proyecto de clases y verificar que el ensamblado (dll) fue copiado correctamente a la carpeta GAC. Una vez compilado el proyecto de clases, procederemos a compilar el proyecto WSP para que se genere también el ensamblado correspondiente a ese proyecto, una vez termine dicha complicación, procederemos a crear el WSP, para lo cual seleccionamos el mismo, presionamos el botón derecho del ratón y seleccionamos dentro de la sección WSPBuilder del menú contextual que se abrió la opción “Construir WSP”. En la imagen 9 vemos la venta de salida del visual estudio que nos indica que el WSP fue creado con éxito.



[Imagen 9]

clip_image002



Nos resta instalar en nuestro servidor y probar la solución. Para instalar podemos usar un archivo bat o usar la solución Sharepoint instaler que les comente al principio. En la sección 4 les dejo el código del archivo “InstallSolution.bat” que yo utilice para instalar, para que lo modifiquen y utilicen.



[Sección 4]



@echo off



set URL=http://lanouse/


set STSADM="C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN\stsadm.exe"



set SOLUTION_NAME=WspAddSectionWebSettings.wsp

set FEATURE_NAME=AddSectionToSiteSettings



echo *

echo * Installing solution... '%SOLUTION_NAME%'


echo *


%STSADM% -o addsolution -filename %SOLUTION_NAME%



echo *

echo * Activating solution ... '%SOLUTION_NAME%' in  %URL%


echo *


%STSADM% -o deploysolution -name %SOLUTION_NAME% -url %URL%  -immediate -allowGacDeployment -force


%STSADM% -o execadmsvcjobs


iisreset



rem ***********************************************



echo *

echo * Activating feature... '%FEATURE_NAME1%' in '%URL%'


echo *


%STSADM% -o activatefeature -name %FEATURE_NAME% -url %URL% -force



echo *

echo * Install Completed.


echo *



Una vez se termine el proceso de instalación, accedemos al sitio donde instalamos la solución, vamos a la configuración del mismo y en la sección “Administración del Sitio” tendríamos que ver el link llamado “Hola Mundo Settings” que establecimos y al presionarlo deberíamos acceder a la página creada.



clip_image001


Descargar Solución Completa con Instalador



Fabián Imaz

sábado 4 de abril de 2009

Extensiones de WSS 3.0 para Visual Estudio 2008 CTP Marzo 2009

Desde hace tiempo que estoy esperando este lanzamiento, dado que siempre que quiero hacer un desarrollo para Windows Sharepoint Services 3.0 o MOSS 2007, tengo que usar el Visual Estudio 2005 por las extensiones o bien hacer todo a mano en el 2008, adivinen que, uso el Vs.Net 2005 J.
Pero hoy, me baje e instale las extensiones de WSS 3.0 Vs. 1.3 para Visual Estudio 2008 64 bits CTP. Si ya se, la versión en una versión temprana, pero no importa, la instale y anda bien, así que ahora la vamos a probar.

image

Descargar (Ingles)

Fabián Imaz

jueves 2 de abril de 2009

Libros, artículos y laboratorios virtuales de Sharepoint 2007 y WSS

Más de una vez me preguntaron donde se podía conseguir libros o cualquier material sobre Microsoft Office Sharepoint Server 2007 y Windows Sharepoint Services para leer. Bueno, acá les dejo una serie de Links donde podrán descargar o bien libros enteros o capítulos super interesantes de alguno de los libros que están a la venta, acceder a artículos y a los laboratorios virtuales de la plataforma.

Lista de Libros publicados sobre Sharepoint Server 2007.

Lista de libros descargables sobre Sharepoint Server 2007

Lista de libros descargables y artículos sobre Microsoft Search Server 2008

Lista de libros descargables sobre Windows Sharepoint Services

Laboratorios virtuales sobre Sharepoint 2007 y Windows Sharepoint Services

Como podrá apreciar en los distintos links el material de lectura es mucho y muy interesante, así que a los que recién van a empezar a trabajar con esta herramienta les recomiendo que se den una vuelta por acá

Fabián Imaz

Microsoft Libera el Sharepoint Designer 2007

En el día de hoy Microsoft liber0 la herramienta Microsoft Sharepoint Designer 2007 para bajarse y utilizarla. Esta es un herramienta muy potente para trabajar con nuestros portales de Windows Sharepoint Services y Microsoft Office Sharepoint Server 2007 donde podemos customizar la interfaz gráfica, crear workflows, listas, librerías de documentos y muchas cosas más. A continuación les dejo el link a la entrevista realizada a Tom Rizzo Director Senior de Sharepoint y el link para descargarse la herramienta.

clip_image001






Entrevista a Tom Rizzo – Ingles
Descargar Sharepoint Designer 2007

Los que nunca tuvieron acceso a esta herramienta, les recomiendo que se la bajen y empiecen a utilizarla.

Fabián Imaz