lunes, 19 de octubre de 2009

Introducción a características (features) de Sharepoint – Parte 2

Este es el artículo número dos de la serie. Pueden consultar la primera parte en este link. Luego de haber analizado los usos más comunes de las features de sharepoint, vamos a ver tres temas que tienen que ver con despliegue de características:

Dependencia de features

Este es un concepto sencillo y permite que al activar una feature, se activen en forma automática las features que dependen de esta:

<Feature

Id=""
Title="Feature Activation Dependencies"
Description="Specify a feature that depends on another feature to activate"
Version="1.0.0.0"
Hidden="false"
Scope="Web"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ActivationDependencies>
<ActivationDependency
FeatureId=""/>
</ActivationDependencies>
</Feature>

Existen algunas reglas de aplicación. A modo de ejemplo no se permite la activación dependiente entre características de ámbitos (scope) distintos, las dependencias sólo pueden ser de un nivel y las características ocultas no pueden tener dependencias. Más información en MSDN: Ámbito y dependencias de activación y MSDN: Elemento ActivationDependencies.

Asociación de features (Stapling)

Esta técnica permite asociar features a definiciones de sitios. La principal ventaja radica en evitar crear una definición de sitio (tema algo complejo). Por el contrario lo que se hace es extender los sitios pre-existentes a través de features. Veamos un ejemplo:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <FeatureSiteTemplateAssociation

Id=""
TemplateName="STS#0" />
</Elements>

En el ejemplo, estamos asociando la feature a la definición de sitio STS y dentro de ese a la plantilla de sitio (o configuración) Team Site (#0). Si se desea asociar la feature en forma global, incluyendo Sharepoint Central Administrator, corresponde usar TemplateName="GLOBAL#0". Más información en MSDN: Asociación de características.

Localización de características

A través de un archivo de recursos se puede trabajar con la localización de aplicaciones para distintos lenguajes. Para ello es necesario construir un archivo de recursos, por ejemplo: Resources.en-US.resx (tener en cuenta que el lenguaje default se encuentra en resources.resx)

<root>

<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Holamundo" xml:space="preserve">
<value>Hi world</value>
</data>
</root>

Ahora, imaginemos que queremos localizar el título y descripción de una feature:

<Feature
Title="$Resources:HolaMundo"
Id=""
</Feature>

Para información más detallada consultar:

Hasta la próxima…

0 comentarios:

Publicar un comentario en la entrada