Microsoft y las olimpiadas!

Uno de los temas de los que más se habla durante estos días es de China y de los juegos olímpicos que se están celebrando en la capital de aquel país. Como no podía ser de de otra forma, Microsoft está presente de varias formas en este gran evento deportivo:

image

  • Por otro lado, podemos entrar en acción gracias a Microsoft Popfly y a la serie de juegos que han sido creados para la ocasión. Estos juegos han sido creados por el equipo de Popfly usando el Popfly Creator. Puedes encontrar los 10 juegos creados en: http://www.popfly.com/sports/.

  • Finalmente, como no, tenía que aparecer la plataforma SharePoint en escena a través del sistema INFO 2008 que se está usando en los juegos olímpicos y que utiliza Microsoft Search Server como tecnología subyacente. Podéis encontrar más información en el blog del equipo de SharePoint.

clip_image001

WSS 3.0 & MOSS: ¿Qué pasa con la integración con SSRS 2008?

Como sabéis, con el SP2 de SQL Server 2006 y unos ciertos Add-In, se conseguía una integración realmente espectacular entre SQL Server Reporting Services 2005 (SSRS 2005) y SharePoint (Podéis encontrar información sobre esta integración en los posts I, II y III que escribimos hace tiempo). Pues bien, con SQL Server 2008 recién liberado, seguramente que muchos os preguntaréis que pasa con la integración de SSRS 2008…la respuesta es sencilla. Por un lado, al activar SSRS se nos pregunta por el el tipo de instalación: nativa o integrada con SharePoint (lógicamente, SQL Server 2008 ya ofrece a la caja esta posibilidad sin tener que instalar ningún SP adicional).

Una vez activado SSRS en modo integrado, necesitaremos instalarnos los Microsoft SQL Server 2008 Reporting Services Add-in for SharePoint Technologies (Reporting Services Add-in) que Microsoft acaba de liberar. Estos Add-in nos permiten aprovechar toda la capacidad de procesamiento y gestión que nos da SQL Server 2008 dentro de WSS 3.0 & MOSS. Tal y como podéis comprobar en la página de descarga del Add-in, las funcionalidades disponibles son las siguientes:

  • A Report Viewer Web Part that provides report viewing capability, export to other rendering formats, page navigation, search, print, and zoom.
  • Web application pages so that you can create subscriptions and schedules, and manage reports, models, and data sources.
  • Support for using standard Windows SharePoint Services features including document management, collaboration, security, and deployment with report server content types.

Ahora a ya sólo queda empezar a probar como de buena es la integración entre SharePoint y SSRS 2008 con estos Add-In…lo veremos en próximos capítulos.

WSS 3.0: Creando nuestras propias plantillas de páginas de Web Parts!

A la hora de visualizar información en la plataforma SharePoint, disponemos de un recurso bastante interesante: las páginas de web parts. Estas páginas de web parts se crean de acuerdo a una serie de plantillas predefinidas siguiendo el siguiente proceso:

  • Desde el menú Site Actions pulsamos la opción Create.
  • En la sección Web Pages elegimos Web Part Page.
  • En la pantalla que se abre (página spcf.aspx que reside en el directorio _layouts del serividor de SharePoint).
image image image

Hasta aquí todo perfecto, elegimos la plantilla, creamos la página y listo…pero aquí mi compañero Pablo me planteó una pregunta interesante: ¿Se podrán definir nuestras propias plantillas para crear páginas de Web Parts e ir más allá de las 8 que por defecto nos da SharePoint? Lógicamente, y conociendo las bondades de SharePoint, le contesté a Pablo sin conocer como hacerlo que seguro que sí…y efectivamente, claro que se puede…no me costó mucho encontrar en Google un par de pistas sobre como hacerlo:

  • En la primera, correspondiente a esta post, se comenta como se haría pero sin entrar en detalle.
  • A partir del post anterior, si que llegamos a como se hacía con la versión anterior de SharePoint que en WSS 3.0 & MOSS sigue funcionando. Se trata de este artículo de MSDN.

Bueno, pues con estas pistas vamos a ponernos manos a la obra para crear nuestra propia plantilla:

  • Lo primero que haremos es editar la página spcf.aspx y localizar la sección dónde se realiza la carga de las plantillas disponibles para añadir la referencia a nuestra plantilla. Esta página se encuentra en la siguiente ruta de nuestro servidor de SharePoint: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATELAYOUTS.
  • La editamos con Visual Studio (por ejemplo) y buscamos la siguiente sección:

                                <Template_Control>

                                <SELECT id=»onetidWebPartPageTemplate» name=»WebPartPageTemplate» size=»9″ onchange=»DoTemplateOptionChange()»>

<OPTION value=»1″><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option1%>» EncodeMethod=’HtmlEncode’/></OPTION>

<OPTION value=»3″><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option3%>» EncodeMethod=’HtmlEncode’/></OPTION>

<OPTION value=»4″><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option4%>» EncodeMethod=’HtmlEncode’/></OPTION>

<OPTION value=»2″ selected=»true»><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option2%>» EncodeMethod=’HtmlEncode’/></OPTION>

<OPTION value=»5″><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option5%>» EncodeMethod=’HtmlEncode’/></OPTION>

<OPTION value=»6″><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option6%>» EncodeMethod=’HtmlEncode’/></OPTION>

<OPTION value=»7″><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option7%>» EncodeMethod=’HtmlEncode’/></OPTION>

<OPTION value=»8″><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,webpagecreation_layout_option8%>» EncodeMethod=’HtmlEncode’/></OPTION>                                            

                                 </SELECT>

</Template_Control>

 

  • Para añadir una nueva referencia, simplemente añadimos antes de la etiqueta </SELECT> una nueva opción. Por ejemplo: <OPTION value=»9″> Mi Plantilla Personalizada</OPTION>.
  • Además, tenemos que cambiar el valor del atributo size de la etiqueta SELECT de 8 a 9.
  • Guardamos los cambios en la página spcf.aspx.
  • Lo siguiente que vamos a hacer es crear una imagen para esta nueva opción. Las imágenes de las plantillas de páginas de web part se almacenan en la siguiente ruta: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATELAYOUTS1033IMAGES.
  • Las imágenes para las plantillas de páginas de web parts tienen un nombre característico: SPSTD#.GIF. Luego para la plantilla 9 simplemente añadimos SPSTD9.GIF (por facilidad, he creado esta imagen a partir de copiar una existente.
  • Si ahora refrescamos la página spcf.aspx, veremos que aparece la nueva opción con su imagen asociada.
image image image

Ya sólo nos queda añadir la plantilla física dónde corresponda. Este lugar no es otro que el path: C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033STSDOCTEMPSMARTPGS. Como vemos, este directorio contiene archivos .aspx con el nombre característico spstd#.aspx. Por lo tanto, para la nueva opción de plantilla (la número nueve), tendremos que crear una página .aspx con el nombre spstd9.aspx. Con esto ya tenemos todo:

  • Hacemos un iisreset para que la nueva página sea «tenida en cuenta» por SharePoint.
  • Le damos un nombre a la página a crear.
  • Tras pulsarle al botón Create, veremos que se produce un error en SharePoint nada explicativo. Esto se debe (como explica Raghu Bangalore en este post) a que la página spcf.aspx usa para todo el procesado que necesita la dll OWSSVR.dll ubicada en C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12ISAPI…luego parece que su comportamiento y funcionalidad no puede ser alterado a priori.
image image Post_Plantillas_SharePoint_1

image

Luego mi gozo en un pozo…y esto que todo parecía ir como la seda. Pero, ¿tenemos alguna alternativa? Pues sí, y esta no es otra que la que nos propone Raghu y el artículo de MSDN comentado: crear nuestra propia página personalizada spfc.aspx y añadir un vínculo a la misma en la página Create.aspx. Veamos cómo afrontar esta alternativa:

  • En primer lugar, nos creamos la página personalizada que emule el comportamiento de spfc.aspx. En mi caso he cogido la que el propio Raghu tiene disponible en su post.
  • Si editáis la página, veréis como añadir nuevas plantillas de creación de páginas de web parts sigue la filosofía comentada. De hecho, la clave está como ya vimos en añadir nuevas opciones a la etiqueta <SELECT> y llevar la cuenta ;-):

                             <SELECT id=»onetidWebPartPageTemplate» name=»WebPartPageTemplate» size=»9″       

                                 onchange=»DoTemplateOptionChange()»>

                               <OPTION value=»spstd1″>Template1</OPTION>

                               <OPTION value=»spstd2″>Template2</OPTION>

                               <OPTION value=»spstd3″>Template3</OPTION>

                               <OPTION value=»spstd4″ selected=»true»>Template4</OPTION>

                               <OPTION value=»spstd5″>Template5</OPTION>

                               <OPTION value=»spstd6″>Template6</OPTION>

                               <OPTION value=»spstd7″>Template7</OPTION>

                               <OPTION value=»spstd8″>Template8</OPTION>

                               <OPTION value=»spstd9″>Template9</OPTION>

                             </SELECT>

  • Copiamos nuestra página personalizada en el directorio _layouts.
  • Editamos la página Create.aspx y añadimos un enlace a la página que acabamos de crear (justo bajo la referencia a la opción estándar de creación de páginas de web parts…os marco en negrita lo que he añadido):

                                               <table style=»padding: 3px 0px 3px 4px;» class=»ms-itemstatic» onclick=»javascript:NavigateInnerHref(event)» onmouseover=»this.className=’ms-itemhover’;ShowListInformation(‘<SharePoint:EncodedLiteral runat=»server» EncodeMethod=»EcmaScriptStringLiteralEncode» Text=»<%$Resources:wss,viewlsts_wp_page_title%>»/>’,'<SharePoint:EncodedLiteral runat=»server» EncodeMethod=»EcmaScriptStringLiteralEncode» Text=»<%$Resources:wss,viewlsts_wp_page_desc%>»/>’,’/_layouts/images/ltsmrtpg.gif’)» onmouseout=»this.className=’ms-itemstatic’;HideListInformation()» cellspacing=»0″ cellpadding=»0″ width=»100%» border=»0″>

                                                <tr>

                                                 <td valign=»top» nowrap class=»ms-descriptiontext» style=»padding-top:1px»>

                                                  <IMG src=»/_layouts/images/setrect.gif» width=5px height=5px alt=»<SharePoint:EncodedLiteral runat=’server’ text='<%$Resources:wss,viewlsts_wp_page_desc%>’ EncodeMethod=’HtmlEncode’/>»>&nbsp;

                                                 </td>

                                                 <td valign=»top» width=100% class=»ms-descriptiontext»>

                                                  <a id=»onetidWebPartPage» href=»spcf.aspx» target=»_self»><SharePoint:EncodedLiteral runat=»server» text=»<%$Resources:wss,viewlsts_wp_page_title%>» EncodeMethod=’HtmlEncode’/></a>                                        

                                                 </td>

                                                </tr>

                                               </table>

                                               <table style=»padding: 3px 0px 3px 4px;» class=»ms-itemstatic» onclick=»javascript:NavigateInnerHref(event)» onmouseover=»this.className=’ms-itemhover’;ShowListInformation(‘<SharePoint:EncodedLiteral runat=»server» EncodeMethod=»EcmaScriptStringLiteralEncode» Text=»<%$Resources:wss,viewlsts_wp_page_title%>»/>’,'<SharePoint:EncodedLiteral runat=»server» EncodeMethod=»EcmaScriptStringLiteralEncode» Text=»<%$Resources:wss,viewlsts_wp_page_desc%>»/>’,’/_layouts/images/ltsmrtpg.gif’)» onmouseout=»this.className=’ms-itemstatic’;HideListInformation()» cellspacing=»0″ cellpadding=»0″ width=»100%» border=»0″>

                                                <tr>

                                                 <td valign=»top» nowrap class=»ms-descriptiontext» style=»padding-top:1px»>

                                                  <IMG src=»/_layouts/images/setrect.gif» width=5px height=5px alt=»<SharePoint:EncodedLiteral runat=’server’ text='<%$Resources:wss,viewlsts_wp_page_desc%>’ EncodeMethod=’HtmlEncode’/>»>&nbsp;

                                                 </td>

                                                 <td valign=»top» width=100% class=»ms-descriptiontext»>

                                                  <a href=»custspcf.aspx» target=»_self» id=»MyCustomPage»>My Custom Web Part Page</a>

                                                 </td>

                                                </tr>

                                               </table>

Sin más, ya sólo nos queda probar que todo funciona como se espera:

  • Vamos a la página de creación y aparece la nueva opción bajo la sección Web Pages.
  • Al pulsar, veremos que la página de creación tiene 9 plantillas disponibles y que justo la novena es la nueva plantilla que hemos añadido.
  • Ahora al pulsar el botón Create, todo irá perfecto (sólo un pequeño detalle, las imágenes que utiliza esta spfc.aspx personalizada tienen que estar en el directorio C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATEIMAGES).
Post_Plantillas_SharePoint_3 Post_Plantillas_SharePoint_4 Post_Plantillas_SharePoint_5

Y hasta aquí llega este post sobre como crear plantillas de páginas de web parts para WSS 3.0. Espero que os haya resultado interesante.

SQL Server 2008: ¿Qué pasa con el Report Builder?

Como sabréis, SQL Server es la plataforma de datos de Microsoft, y dentro de la misma tenemos a SQL Server Reporting Services (SSRS) como la pieza clave para la construcción de informes ricos y dinámicos. En SQL Server 2005, teníamos dos posibilidades a la hora de construir informes:

  • Con el Business Intelligence Managament Studio, es decir, creación de informes ricos, flexibles y dinámicos en el entorno de Visual Studio.
  • Con una aplicación .NET llamada Report Builder y que se lanzaba normalmente desde el portal de gestión de informes de SSRS (el Report Manager). Para los que no conocéis mucho esta herramienta, se trata de una aplicación Windows Forms pensada para que usuarios no técnicos puedan construir informes en base a un cierto modelo de datos de SSRS.

Pues bien, como ya se ha anunciado estos días en Geeks.Ms, ya tenemos RTM de SQL Server 2008 desde ayer…¿Y qué pasa con el Report Builder? Pues la respuesta es que nada, es decir, con la RTM de SQL Server 2008 no aparece una nueva versión del Report Builder, sino que esta aparecerá como un update más adelante. Tal y como se comenta en el blog del equipo de SSRS tendremos una RC1 del Report Builder en inglés para finales de este mes.

SQL Server 2008: Mejoras para desarrolladores (II)!

Siguiendo con la serie de post sobre las mejoras que trae SQL Server 2008 para desarrolladores, iniciada con el post dedicado a los TPVs, en este nuevo post os vamos a presentar una nueva cláusula T-SQL que aparece con la nueva versión de la plataforma de datos de Microsoft: la cláusula MERGE. Esta cláusula nos va a permitir definir lógica de combinación para operaciones atómicas de inserción, borrado y actualización de datos. La idea bajo la cláusula MERGE es poder combinar múltiples sentencias DML (Data Manipulation Language) en un único bloque IO, evitando así posibles pérdidas de datos por IO (esto es importante por ejemplo en escenarios Data Warehouse dónde se manipulan grandes cantidades de datos).

La cláusula MERGE en acción

Vamos a realizar un ejemplo de uso de la cláusula MERGE:

  • Creamos una BD de pruebas:

CREATE DATABASE TestMerge

GO

USE TestMerge

GO

  • Creamos dos tabla en la BD anterior (Sales y NewSales):

USE TestMerge

GO

 

CREATE TABLE dbo.Sales

(

  SalesID  int IDENTITY(1,1) NOT NULL,

  Branch  varchar(50) NOT NULL,

  Month                   varchar(50) NOT NULL,

  Total                     money NOT NULL

)

GO

 

CREATE TABLE dbo.NewSales

(

  Branch  varchar(50) NOT NULL,

  Month                   varchar(50) NOT NULL,

  Total                     money NOT NULL

)

GO

  • Insertamos datos en las dos tablas anteriores:

— Insertamos elementos iniciales… Santander tiene datos parciales

— de Febrero!

INSERT INTO dbo.Sales VALUES (‘Santander’,’Jan’,50000)

INSERT INTO dbo.Sales VALUES (‘Laredo’,’Jan’,39500)

INSERT INTO dbo.Sales VALUES (‘Torrelavega’,’Jan’,41000)

INSERT INTO dbo.Sales VALUES (‘Santander’,’Feb’,1000)

 

— Insertamos la tabla con datos nuevos

INSERT INTO dbo.NewSales VALUES (‘Santander’,’Feb’,85000)

INSERT INTO dbo.NewSales VALUES (‘Laredo’,’Feb’,62000)

INSERT INTO dbo.NewSales VALUES (‘Torrelavega’,’Feb’,45750)

Como vemos, la peculiaridad de las inserciones anteriores radica en qué tenemos en Sales dos registros Santander con datos parciales.

  • Ejecutamos la siguiente sentencia que utiliza la sentencia MERGE:

MERGE Sales

USING (SELECT Branch, Month, Total FROM NewSales) AS origen ( Branch,Month,Total)

ON Sales.Branch=origen.Branch

AND Sales.Month = origen.Month

  WHEN MATCHED

    THEN UPDATE

       SET Sales.Total = origen.Total

  WHEN NOT MATCHED

    THEN INSERT VALUES(Branch,Month,Total);

¿Qué estamos haciendo? Estamos consolidando los datos de la tabla con los datos que aparecen en la tabla NewSales. Todo ello gracias a las cláusulas WHEN MATCHED y WHEN NOT MACHED.

  • Para comprobar que la cláusula MERGE ha realizado su trabajo, ejecutamos la siguiente sentencia SELECT en la tabla Sales:

image

Como vemos, la sentencia MERGE nos ha permitido consolidar los datos del mes de febrero para Santander.

 

Limitaciones

Aunque MERGE es una cláusula realmente potente, presenta una serie de limitaciones que tenemos que tener en mente:

  • El destino no puede ser:
    • Una tabla remota.
    • Una tabla particionada.
  • No se soporta parametrización simple
  • Sólo se devuelve el número de filas acumuladas: sin desglose por sentencias INSERT, UPDATE, DELETE.

Y hasta aquí llega el segundo post de la serie de Mejoras para desarrolladores en SQL Server 2008. Espero que os haya resultado interesante.

Administración de My Sites

Para administrar My Sites necesitamos ser usuario Administrador General para poder realizar los cambios que sean oportunos.

Cuando instalamos MOSS, los My Sites no se instalan automáticamente, por lo cual tenemos dos opciones como administrador:

A) Crearlos manualmente (programando):

clip_image002[8]

Y luego llamando desde el código a esa función:

  image

B) Creando usuarios los cuales crearán su sitio automáticamente cuando quieran acceder a él.

image

Para que esto sea posible el usuario administrador general debe activar esta opción ya que por defecto viene desactivada cuando instalamos MOSS.

Para activarlo debemos seguir los siguientes pasos:

1.- Vamos a la Administración Central de SharePoint.

2.- Vamos a la pestaña Application Management.

3.- En la sección Application Security pulsamos sobre la opción Self-Service Site Management.

clip_image006

4.- Nos aparece una página donde deberemos seleccionar la Web Application en la que queremos activar los My Sites*:

clip_image008

5.- Después seleccionamos la opción de ON para que nos active la opción y pulsamos OK.

Con estos pasos ya tenemos activados los My Sites para cada usuario que quiera crearse uno.

El problema viene cuando la organización quiere controlar estos My Sites, ya sea para no permitir a cierto grupo de usuarios tenerlos u otra serie de opciones sobre ellos.

———————————————————————————————————————————————————————-

* no es exactamente así, lo que nos permite activar esta opción es que podamos crear colecciones de sitios dentro de un Site Collection dentro de la Web Application seleccionada, así, una vez creado una Web Application y pasemos al siguiente paso de crear un Site Collection tendremos varias opciones:

hacerlo bajo:

– /

– /sites/

– /personal/

————————————————————————————————————————————————————————

 

Para poder configurar los permisos de los usuarios sobre los My Sites seguiremos los siguientes pasos:

1.- Vamos a la Administración Central de SharePoint.

2.- Nos vamos al menú de la izquierda y en la sección de Shared Services Administration pulsamos sobre nuestro SharedServices1.

3.- En la sección User Profiles and My Sites pulsamos sobre la opción de Personalization services permissions:

image

4.- Desde la siguiente página podemos elegir al grupo de usuarios a los que queremos modificar sus permisos:

image

5.- Una vez elegimos el grupo de usuarios pulsamos sobre la opción de Modify Permissions of Selected Users.

En la siguiente página nos aparece una serie de permisos para activar o desactivar:

image

Permisos:

  • Create Personal Site
  • Use General Features
  • Manage User profiles
  • Manage audiences
  • Manage Permissions
  • Manage usage analytics

 

Nota: Ahora si podemos, como administrador general cambiar el aspecto de la página de Perfil de Usuario. El cambio será igual para todas las páginas de perfil de usuario de todos los usuarios, no podremos personalizar cada página por separado.

 

Por ejemplo, vamos a cambiar el tema y logo de la página de My Profile:

1.- Nos vamos a nuestra página de perfil de administrador general:

image

2.- Pulsamos sobre Site Actions -> Site Settings -> y modificamos el tema, titulo e icono, el resultado sería el siguiente:

image

Si nos vamos a ver el perfil de otro usuario:

image

Como vemos, el tema y el icono se han modificado en las dos páginas de My Profile de cada usuario. También, si modificamos un web part, este se modificará en cada página de cada perfil de usuario.

Continuará…

Un Saludo

Personalización de My Site (1ª Parte)

En MOSS 2007 My Site es una ubicación en la que se puede guardar, presentar, ver y administrar contenido e información. Cuando hablamos de personalización estamos incluyendo:

– Recordar las preferencias de un usuario en las aplicaciones

– Mostrar elementos como noticias sobre el departamento del usuario

– Dar una visión basada en redes sociales, informando al resto de compañeros las actualizaciones que se llevan a cabo en cada My Site de un usuario “compañero”.

My Site se encarga de recordar quienes somos, que nivel jerárquico tenemos dentro de nuestra organización y toda la información que almacenamos en nuestro Site. No ofrece una manera sencilla y rápida de organizar todos nuestros documentos, nuestra agenda, nuestras planificaciones, imágenes, presentaciones, calendario, etc.

 


En el modelo de MOSS 2007 cabe destacar tres puntos muy importantes referentes a My Sites:

image


1.- User Profiles


Los perfiles de usuario contienen información personal de cada usuario y esta información queda almacenada en el almacén de perfiles de usuario. Gracias a esto podemos conectarnos y buscar a personas de nuestra organización, según la información que se haya publicado sobre esa persona o esa misma persona. Para poder realizar esta tarea tenemos un ámbito de búsqueda para buscar personas a través del servicio Index Server que lo que hace es rastrear el almacén de perfiles de usuario.

El almacén de perfiles de usuario contiene una lista de información con todas las propiedades del usuario. Esta información se puede obtener importando los datos o manualmente como explicaremos más adelante.

Propiedades que se usan:

Propiedades Multievaluadas: son propiedades que admiten múltiples valores, como el dominio de idiomas (español, inglés, francés, alemán,…), áreas de experiencia (sistemas, programación, redes,…). Para poder establecer una propiedad como multievaluada debemos usar el parámetro IsMultiValued. Los valores son devueltos como un ArrayList y el orden es el mismo.

Nota: Este tipo de propiedades WSS v3.0 no son admitidas.

Propiedades con listas tipo Choice abiertas o cerradas: con la elección de listas podemos asociar las propiedades de perfil de usuario restringiendo los posibles valores que se deban tomar y que creamos adecuados.

Las Listas pueden ser:

     o Abiertas: Los usuarios pueden agregar nuevos valores.

     o Cerradas: Los usuarios deben decidir entre los valores de la lista.

En la siguiente captura podemos observar cómo se trabaja desde código C-Sharp con estas listas:

image

Como podemos observar en la captura, se cargan una serie de propiedades en una array y luego se van añadiendo a una ArrayList llamado ChoiceList que es una propiedad del objeto property. La propiedad ChoiceList nos ofrece métodos para agregar, quitar, buscar y cambiar el nombre de los términos. Excepciones posibles: cuando se busca un valor que no se encuentra en el ArrayList nos dará un Invalid Value Exception

Nota: Si la acción es la de importar los valores y nos ocurre el caso anterior, MOSS omitirá la excepción y la lista pasará a ser cerrada. Los valores no se distinguen entre mayúsculas y minúsculas.

Propiedad de asignación: MOSS nos proporciona un conjunto predeterminado de propiedades de perfil de usuario. A veces este conjunto predeterminado no contiene toda la información acerca de los usuarios que querríamos incluir. En estos casos MOSS puede personalizar estos perfiles de usuario agregando propiedades a los perfiles. Estas nuevas propiedades pueden ser escritas por el usuario o importadas desde el servicio del directorio activo.

Directivas de Privacidad: MOSS nos permite agregar directivas de privacidad predeterminadas a las propiedades para limitar los accesos a ellas y quién puede verlas. Pueden ser:

image


También podemos asignar directivas de privacidad predeterminadas a las propiedades para que los accesos puedan ser:

          o Necesarios -> Mandatory

          o Opcionales-> Opt-in / Opt-out

          o Deshabilitado-> Disabled

image


Como vemos en la captura de pantalla usamos la propiedad PrivacyPolicy, pero también hay otra propiedad llamada UserOverridePrivacy que se usa para ver si el usuario puede cambiar o reemplazar una directiva:

image


——————————————————————-


Windows SharePoint Server v3.0 sólo admite la importación de perfiles de usuario desde el directorio activo, pero hoy MOSS 2007 nos permite obtener datos a partir de la mayoría de orígenes de datos, incluyendo directorios, servicios web, bases de datos, etc.:

– Servicios del directorio activo

– Servidores LDAP (es un protocolo de acceso ligero al directorio), están adaptados para ayudar al usuario en las búsquedas, sirven para acceder a la información almacenada en un directorio de información (Directorio LDAP).

– Aplicaciones registradas en el Business Data Catalog como Bases de Datos y Web Services.

– Orígenes de datos personalizados importados manualmente a través del modelo de objetos.

Index Server es un servicio de MOSS que rastrea los datos y crea índices para el motor de búsqueda.

 


 


2.- Audiences


 


Las audiencias son grupos de usuarios determinados por sus miembros en las listas de distribución de Microsoft Exchange, grupos de SharePoint o por las reglas configuradas por un administrador del portal. Estas audiencias en MOSS pueden agrupar uno o más sitios de SharePoint mientras que en WSS v3.0 solo podían agrupar un sitio.

Las reglas de audiencia pueden basarse en información del perfil de usuario, en la pertenencia a un grupo del directorio activo o de las listas de distribución de Exchange.

Las audiencias nos permiten establecer en nuestro My Site quienes pueden acceder a cierta información y quienes no dependiendo de su nivel de grupo de trabajo o dentro de la organización de su departamento.

Ejemplo: Para nuestro My Site podemos crear las audiencias que queramos para cada página, así podremos tener un tipo de audiencia de grupo de trabajo al que le mostraremos la página de seguimiento de proyectos y tareas, otro tipo para nuestro departamento para mostrar nuestro calendario y agenda, y otro para visitas de otros departamentos donde no mostraremos información alguna sobre nuestros proyectos, solo información no relevante.

2.1.- Destinar Contenido


 


Podemos destinar contenido de tres maneras diferentes:

1) Podemos destinar los elementos web de manera que diferentes audiencias puedan ver los elementos web diferentes en una página.

2) Mediante elementos web que reconocen la pertenencia a una audiencia podemos destinar elementos o vínculos en una lista a una o más audiencias, así los miembros de esa audiencia podrán ver ese elemento o vínculo.

3) Podemos destinar controles de exploración a distintas audiencias.

2.2.- Administración de Audiencias y Reglas

Las audiencias globales y las listas de distribución se administran de forma centralizada a través de uno o varios conjuntos de servidores MOSS. Se aplican a varios portales en una implementación pero no a áreas individuales, sitios o elementos.

Nota: para poder administrar las audiencias debemos tener derechos de administrador General.

¿Cómo creamos las audiencias?

Pasos:

1) Nos vamos a menú Start → Programs → Administrative Tools → SharePoint 3.0 Central Administration.

2) Nos vamos a la sección Shared Services Administration y pulsamos sobre SharedServices1.

3) Pulsamos sobre Audiences y en la siguiente página que se nos muestra pulsamos sobre la opción de Create Audience.

4) Pondremos un nombre significativo para nosotros y como propietario especificaremos éste y pulsaremos OK.

5) En la siguiente página agregaremos una regla a nuestra audiencia: ADD Audience Rule y crearemos esa regla para nuestra platilla, pulsamos Compile Audience.

Nota: las audiencias también se guardan como los perfiles de usuario sólo que en tablas separadas de éstos en un mismo almacén de datos.

3.- My Site

Como ya hemos comentado, My Site es una excelente herramienta de colaboración, trabajo en grupo y comunicación, pero carece de ciertas herramientas sociales que pueden incrementar la participación de las personas que forman la comunidad de usuarios de MOSS en una organización:

– Creación de comunidades de usuarios.

Networking.

– Nubes de etiquetas.

– Perfiles de Usuarios.

– Expertos.

– Categorías en búsquedas.

– Acceso para dispositivos móviles.

– Vista de archivos multimedia.

My Site es el punto de partida personal para ver y contribuir a la intranet a través del sitio del portal de nuestra organización.

Proporciona al usuario un lugar donde poder almacenar sus documentos, archivos de manera ordenada y así poder compartirlo con otros compañeros de trabajo. También le proporciona una forma de buscar a otros usuarios de la organización y consultar datos sobre ellos o sobre su trabajo y por último y más importante, proporciona al usuario una manera sencilla de poder controlar su documentación para que pueda establecer niveles de permisos o vistas.

image

3.1.- Perfil de la Página


My Site tiene una página pública llamada My Profile que contiene información que comparte con los usuarios.

¿Qué nos muestra esta página?

Muestra las propiedades públicas de su perfil de usuario:

– Con vínculos

– Sitios que se decida que otros usuarios podrían desear ver

– Documentos más recientes

– Colegas / compañeros

– Lo que es más común entre usuario y visitante.

Desde My Site podemos administrar de manera sencilla la forma en que otras personas de nuestra organización pueden ver nuestro perfil y documentación.

3.2.- Página Principal

Desde la página principal podemos hacer multitud de de cosas como:

– Crear bibliotecas de documentos, imágenes, y todo tipo de archivos.

– Crear Calendarios.

– Crear Encuestas.

– Crear Tareas.

– Crear listas.

– Crear Páginas de búsquedas.

– Crear Wikis.

– Crear Sitios.

– Crear su Propio Blog.

También podemos conectarnos a Outlook para recibir correos. Administrar alertas, etc.

Además de todas las herramientas que nos ofrece MOSS también contamos con una serie de Sitios de Personalización (plantillas) que son vistas ya personalizadas de portales las cuales se pueden aplicar dependiendo del rol que el usuario tenga en su organización. Estas plantillas además de ser totalmente gratuitas se pueden configurar a gusto del usuario y pueden tener configuradas los tipos de audiencias o ser accesibles mediante un control de niveles de permisos de usuarios.

La página principal como los subsitios que podamos ir creando son totalmente personalizables, podemos ir agregando o quitando elementos web, cambiar el diseño y la apariencia de los elementos web en la vista privada de My Site y agregar vínculos a ciertos tipos de información.

También podemos personalizar usando el modelo de objetos. Con el objeto UserProfile podemos crear My Sites, recuperar usuarios o la URL de un sitio gracias a sus métodos:

image

3.3.- La Pertenencia a…

El modelo de objetos de perfiles de usuario agrega clases y métodos para admitir las nuevas características de los miembros. Las nuevas clases y métodos admiten las siguientes operaciones:

– Recuperar pertenencias del usuario.

– Establecer pertenencia del usuario a la configuración de privacidad.

– Obtener pertenencias comunes entre dos usuarios.

– Enumerar grupos miembro.

– Extender nuevo tipo de suscriptores (y así poder agregar nuevos miembros a través del modelo de objetos):

image

El objeto membership es un objeto de primera clase.

El objeto membergroup define una lista de distribución o un sitio SharePoint.

Propiedades:

URL->ubicación de almacenamiento

SourceReference-> devuelve el DirectoryEntry de la lista de distribución del directorio activo que sería SPWeb o SPSite dependiendo del MemberGroup.

 


image


 


Continuará…


Un saludo

Introducción a My Site

Recordamos que My Site es un sitio personal dentro de un portal que nos proporciona una ubicación específica para administrar y almacenar documentos, contenido, vínculos, contactos, etc.

Nuestro sitio sirve como un punto de contacto para otros usuarios de la organización para que puedan buscar información sobre nosotros y acceder al contenido que nosotros especifiquemos.

 


image


 


My Site nos proporciona:

· Una ubicación específica para ver y administrar todos nuestros documentos, contenidos, tareas, vínculos, calendarios, compañeros e información personal.

· Es una vía para que nosotros podamos compartir información personal y otro tipo de información que queramos con otros usuarios.

· Podemos crear espacios de trabajo.

· Obtener información acerca del estado de nuestros compañeros.

· Que usuarios de nuestro grupo u organización puedan acceder a nuestra información.

· Un lugar perfecto para poder presentar sitios web personalizados.

My Site nos presenta:

· Listas de pertenencias como listas de distribución y nos indica cómo podemos compartirlas con otras personas.

· Lista de compañeros

· Diagrama de jerarquías de la organización para presentar nuestra posición dentro de ésta.

· Tenemos un grupo de privacidad que nos permite decidir que usuarios quien puede ver nuestra información en nuestra página pública.

————————

Como usuarios administradores de nuestro sitio, observamos que nuestro sitio es similar a tener un propio sitio personal de WSS 3.0. Características:

– Podemos crear bibliotecas de documentos, vídeos, imágenes, etc.

– Podemos crear Calendarios, encuestas, listas de tareas, listados de vínculos, etc.

– Podemos crear además nuevas páginas o Sites dentro de nuestro My Site. Estas nuevas páginas pueden ser con el contenido que queramos.

Nosotros como administrador de nuestro My Site podemos decidir a través de las audiencias (que explicaremos más adelante) quien puede ver cierto contenido de nuestro sitio, compartir o no información personal (como un filtro).

Podemos modificar el tema de nuestro My Site pero sólo el administrador puede modificar el aspecto de la página de perfil, pero nosotros si podemos cambiar la estructura (las Web Parts).

————————


 


De forma predeterminada My Site tiene dos páginas: My Home y My Profile

image


 


My Home

La página pública nos permite mostrar información sobre nosotros mismos a usuarios que visiten nuestro sitio.

Esta información pasa a formar parte de nuestro perfil de usuario y puede incluir imágenes, textos, proyectos e intereses.

La información de ésta página puede filtrarse para que sólo determinadas personas puedan verla.

image


Dentro de My Home hay dos Web Parts importantes: My Links y My Colleagues.


1. My Links


Es una página en la que se le permite al usuario realizar un seguimiento de los sitios web favoritos y tener acceso a ellos desde cualquier equipo en la red. Cuando el usuario se registra Mis vínculos aparece en la parte derecha superior:

image

2. My Colleagues


La Web Part o elemento web Compañeros nos ayuda a hacer un seguimiento de los eventos que va realizando cada compañero, si está en la oficina, hablando por teléfono o si está reunido. Les podemos notificar incluso si los compañeros cambian de departamento o de responsabilidades, cuándo agregan nuevos documentos o tienen una fecha señalada para un evento. Además como usuarios podemos elegir quien queremos que aparezca en nuestra lista de compañeros y organizarla por grupos.

image

Cuando se crea My Site, por defecto nos aparecen todos los contactos asociados a nuestra cuenta de correo de Exchange, esto se hace por debajo, a través de un algoritmo que selecciona todos los contactos más habituales.

Por lo demás, la página es totalmente configurable por el usuario. Podemos agregar en las Web Parts principales lo que queramos: un calendario, una galería de imágenes, los post más recientes de nuestro blog, encuestas, discusiones, listado de documentos, tareas a realizar, etc.

También podemos cambiar la colocación de cada Web Part, incluso ocultar las que no nos interesen que se vean, modificar el tema de la página, etc.

 


 


image


 


My Profile


 


Es la página del sitio donde se muestran todos los datos relevantes sobre el usuario de My Site.

image


WebParts importantes:


 


1. Detalles del perfil de usuario


La parte principal es la web de Detalles del perfil de usuario en la que se muestran ciertos detalles del usuario como su grupo de trabajo y sus aficiones. Luego tenemos otra web donde se muestran su cargo en la empresa y sus tareas. Después esta la Web Part que nos muestra el E-mail de contacto.

image

2. Organización Jerárquica

Nos muestra la jerarquía y de quien depende nuestro usuario.

image


3. En común con otros usuarios


Esta web muestra a una usuario visitante de nuestro Site lo que ese usuario y el propietario del sitio tiene en común como los compañeros que ambos conocen, las listas de distribución y sitios de SP así como el primer superior que tienen en común:

image

4. Miembro de…

En esta web se muestran todos los sitios de los cuales nosotros como usuarios somos miembros. Ya sean páginas de grupo de trabajo, etc. Nos muestra las afiliaciones.

image


5. Compañeros


En esta WebParts se nos muestran de Nuevo nuestros compañeros en general. Aquí podremos especificar compañeros que no sean de nuestro mismo departamento.

image

———————————–

Visualización de la página de Perfil de Usuario


Como podemos comprobar por las capturas de pantalla, podemos modificar las vistas de ésta página de manera sencilla. También tenemos la opción de poder mostrar esa página a los usuarios que aparecen en la lista de la derecha:

 


image


Pero la pregunta que todos nos hacemos es si realmente podemos personalizar nuestro sitio de perfil para que las Web Parts aparezcan como nosotros queremos, con un tema específico, etc. La realidad es que sólo el administrador es el que determina cuál es el aspecto de la página de perfil, nosotros, como usuarios somos los que decidimos si queremos agregar más información en cada Web Part.

Continuará…

Un Saludo

Nuevos Virtual Labs sobre desarrollo en SharePoint!

Microsoft acaba de liberar dos nuevos Virtual Labs sobre desarrollo en SharePoint. En concreto, la temática de los mismos es la siguiente:

  • MSDN Virtual Lab: Event Handlers, en el que se detalla como crear manejadores de eventos asociados a listas de SharePoint de manera que asíncronamente o síncronamente podremos ejecutar nuestro código personalizado en respuesta al evento capturado. Podéis acceder a este virtual lab en este enlace.
  • MSDN Virtual Lab: Workflow, en el que veremos como construir workflows simples asociados a una biblioteca de documentos, e incluso como modificar el estado de un workflow en ejecución. Podéis acceder a este virtual lab en este otro enlace.

Y para completar este post tan corto…una imagen graciosa: SharePoint a la escocesa ;-).

WSS 3.0 & MOSS: SharePoint Monitoring Toolkit!

Microsoft acaba de liberar el SharePoint Monitoring Toolkit. Se trata de un acelarador que proporciona un conjunto de packs de System Center Operations Manager 2007 para WSS 3.0 y MOSS, así como la documentación asociada. Este acelerador está pensado para facilitar la gestión de entornos SharePoint de distintos tamaños (granjas pequeñas, medianas, grandes o muy grandes) a través de dos grupos de packs:

  • Windows®SharePoint Services 3.0 Management Pack.
  • Microsoft Office SharePoint Server 2007 Management Pack.

Estos packs permiten monitorizar el estado de los componentes de un entorno de SharePoint que tienen que ver con el rendimiento y la disponibilidad. La idea es que cuando se produce una situación que pueda degradar el rendimiento, se detecta la misma, se alerta al administrador y se facilita un diagnóstico, así como las acciones correctivas a realizar. El pack monitoriza los siguientes elementos:

  • WindowsSharePoint Services 3.0 related services (Timer, Tracing and Search).
  • Windows SharePoint Services 3.0 related Events.
  • Web server applications such as Internet Information Services (IIS).
  • IIS-related Events.
  • Microsoft SQL Server® database-related events.
  • WSS Server performance.

Entre las mejoras incluidas en esta versión de los packs para System Center Operations Manager 2007 tenemos:

  • Extended rules.
  • New and improved reports.
  • Additional actions.
  • New views.
  • Elimination of backward compatibility dependencies.
  • Increased reliability.
  • Noise reduction through tuning and event suppression.
  • Thoroughly tested compatibility of management packs with:
    • SystemCenter Operations Manager 2007.
    • System Center Essentials.
    • Microsoft Office SharePoint Server 2007 SP1.

Podéis descargaros el SharePoint Monitoring Toolkit de este enlace.