<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>High Scalability</title>
	<atom:link href="http://highscalability.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://highscalability.wordpress.com</link>
	<description>Construyendo aplicaciones escalables y de alto rendimiento</description>
	<lastBuildDate>Wed, 21 Dec 2011 09:52:13 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='highscalability.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>High Scalability</title>
		<link>http://highscalability.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://highscalability.wordpress.com/osd.xml" title="High Scalability" />
	<atom:link rel='hub' href='http://highscalability.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Ventajas de la Cache de Objetos en SharePoint Server 2010</title>
		<link>http://highscalability.wordpress.com/2011/12/21/ventajas-de-la-cache-de-objetos-en-sharepoint-server-2010/</link>
		<comments>http://highscalability.wordpress.com/2011/12/21/ventajas-de-la-cache-de-objetos-en-sharepoint-server-2010/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 09:18:28 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Escalabilidad]]></category>
		<category><![CDATA[rendimiento]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[cache de objetos]]></category>
		<category><![CDATA[sharepoint server 2010]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=949</guid>
		<description><![CDATA[La cache de objeto cachea metadatos de objetos como SPList o SPWeb de forma tal que no sea necesario recuperar dicha información para cada petición de los usuarios.  Además la cache de objetos cachea los resultados obtenidos por el Content By Query Web Part de forma que tampoco sea necesaria recuperar todos los elementos por [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=949&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://highscalability.files.wordpress.com/2011/12/object-cache1.jpg"><img class="aligncenter size-medium wp-image-952" title="object cache1" src="http://highscalability.files.wordpress.com/2011/12/object-cache1.jpg?w=300&#038;h=212" alt="" width="300" height="212" /></a></p>
<p style="text-align:justify;">La cache de objeto cachea metadatos de objetos como SPList o SPWeb de forma tal que no sea necesario recuperar dicha información para cada petición de los usuarios.  Además la cache de objetos cachea los resultados obtenidos por el C<em>ontent </em><strong>By Query Web Part </strong>de forma que tampoco sea necesaria recuperar todos los elementos por cada consulta realizada por cada usuario. Como cada usuario tendrá distintos niveles de permisos para cada ítems de listas podría ocurrir que la cache de objetos contenga una cantidad de limitada de resultados dependiendo de los permisos del usuario que realiza la consulta, por ello la configuración de la cache nos permite indicar un factor multiplicador sobre el número de resultados devueltos que pueden ser mostrados al usuarios de realiza la consulta esto permite que en la cache queden almacenas una cantidad de elementos mayor en caso de que un usuarios con mayor nivel de permisos realice la misma consulta.<br />
<span id="more-949"></span><br />
Para configurar la cache de objetos en nuestra aplicación de SharePoint es necesario ir a Acciones de Sitio&gt;Configuración del sitio &gt;Cache de objetos de la colección de sitios.</p>
<p><a href="http://highscalability.files.wordpress.com/2011/12/object-cache.jpg"><img class="aligncenter size-full wp-image-950" title="object cache" src="http://highscalability.files.wordpress.com/2011/12/object-cache.jpg?w=549&#038;h=221" alt="" width="549" height="221" /></a></p>
<p style="text-align:justify;">Aquí podremos indicar el tamaño máximo de la cache, las opciones de invalidación de la cache la cual puede estar basada en una cantidad de segundo después de la cual se invalidaran todos los objetos cacheados o la opción de comprobar cambios la cual invalida los objetos que sean modificados y por último el factor multiplicador, hay que tener en cuenta al indicar este últimos que mientras mayor sea mayo memoria consumirá en nuestro servidor, el mismo puede tener un valor entre 1 y 10 siendo su valor por defecto 3.</p>
<p style="text-align:justify;">Con este último post hemos terminado esta serie de post sobre el uso de la cache en SharePoint Server 2010, con lo que hemos visto la importancia de hacer un uso correcto de la cache en sus diferentes variantes para optimizar el rendimiento y la velocidad de respuesta de nuestras aplicaciones.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/949/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/949/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/949/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=949&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/12/21/ventajas-de-la-cache-de-objetos-en-sharepoint-server-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/object-cache1.jpg?w=300" medium="image">
			<media:title type="html">object cache1</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/object-cache.jpg" medium="image">
			<media:title type="html">object cache</media:title>
		</media:content>
	</item>
		<item>
		<title>Mejora el rendimiento de tus aplicaciones SharePoint Server 2010. La OutPut Cache</title>
		<link>http://highscalability.wordpress.com/2011/12/18/mejora-el-rendimiento-de-tus-aplicaciones-sharepoint-server-2010-la-output-cache/</link>
		<comments>http://highscalability.wordpress.com/2011/12/18/mejora-el-rendimiento-de-tus-aplicaciones-sharepoint-server-2010-la-output-cache/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 21:43:12 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Escalabilidad]]></category>
		<category><![CDATA[rendimiento]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[ouput]]></category>
		<category><![CDATA[page]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=938</guid>
		<description><![CDATA[El Output cace es una características de las aplicaciones ASP:NET y por lo tanto SharePoint Server 2010 también puede hacer uso de ella para mejorar el rendimiento de nuestras aplicaciones. La Output Cache permite almacenar en el servidor las páginas que el usuario solicita ya renderizadas de forma que el servidor utiliza menos recursos de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=938&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://highscalability.files.wordpress.com/2011/12/sharepoint-cache.jpg"><img class="aligncenter size-medium wp-image-944" title="sharepoint cache" src="http://highscalability.files.wordpress.com/2011/12/sharepoint-cache.jpg?w=300&#038;h=217" alt="" width="300" height="217" /></a></p>
<p>El Output cace es una características de las aplicaciones ASP:NET y por lo tanto SharePoint Server 2010 también puede hacer uso de ella para mejorar el rendimiento de nuestras aplicaciones. La Output Cache permite almacenar en el servidor las páginas que el usuario solicita ya renderizadas de forma que el servidor utiliza menos recursos de CPU y evita realizar viajes al servidor de base de datos, esto mejora el rendimiento y la escalabilidad de las aplicaciones web que desarrollamos en SharePoint ya que además nuestra aplicación se ve menos afectada por el aumento de la cantidad de peticiones por parte de los usuarios. Todo esto a cambio del consumo de mayor cantidad de memoria y saber establecer una política de anulación de las paginas cacheadas.<br />
<span id="more-938"></span><br />
Las paginas cacheadas pueden ser anuladas de dos formas, una opción es el “Time to Live” la cual nos permite especificar un tiempo de vida de la página cacheada, una vez alcanzado este tiempo la página se descarta y cachea de nuevo en su próxima petición. La segunda opción que tenemos es el “Check for Change” que nos permite anular de la cache la página si existe algún cambio en la misma, por su puesto esta opción puede ser contraproducente en páginas que sobre las que se realizan cambios constantemente de aquí la importancia de saber escoger un equilibrio entre rendimiento y mostrar el contenido actualizado.</p>
<p><strong>Configuración de la Output cache en SharePoint </strong></p>
<p>Para configurar la output cache en nuestra aplicación de SharePoint es necesario ir a Acciones de Sitio&gt;Configuración del sitio &gt;Cache de resultados de la colección de sitios.</p>
<p><a href="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint1.jpg"><img class="aligncenter size-full wp-image-940" title="Output cache sharepoint" src="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint1.jpg?w=549&#038;h=219" alt="" width="549" height="219" /></a></p>
<p>Aquí podemos habilitar el Output chache (traducido como cache de resultados)</p>
<p>Además podemos indicar que configuración (Perfiles) de la cache de resultados queremos utilizar para el acceso anónimo y para el acceso de usuarios autentificados.</p>
<p>También podremos  indicar si habilitamos la utilización de perfiles diferentes para cada sitio de publicación y algo muy útil si habilitamos la utilización de perfiles diferentes para diferentes layout de páginas (diseños de página) de esta forma para cada layout podríamos tener distintas configuración de utilización de la cache.</p>
<p>Por defecto vienen 4 perfiles incorporados (Deshabilitado, Internet Público, Extranet,Intranet), para ver los perfiles y configurar nuevos tendremos que ir a  Acciones de Sitio&gt;Configuración del sitio &gt; Perfiles de cache de la colección de sitios.</p>
<p><a href="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint-2.jpg"><img class="aligncenter size-full wp-image-941" title="Output cache sharepoint 2" src="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint-2.jpg?w=549&#038;h=169" alt="" width="549" height="169" /></a></p>
<p><a href="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint-3.jpg"><img class="aligncenter size-full wp-image-942" title="Output cache sharepoint 3" src="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint-3.jpg?w=549&#038;h=511" alt="" width="549" height="511" /></a></p>
<p>Entre las opciones que podemos configurar veremos la <strong>Duración</strong> que permite indicar el tiempo del “Time to Live”, el <strong>Buscar Cambios</strong> que permite habilitar el “Check for Change”  y además las opciones <strong>Varia por</strong> que nos permite anular de la cache la página cuando cambien un parámetro de encabezado http, los derechos del usuario que hace la petición, o la variación de los parámetros personalizados (Por ejemplo el navegador utilizando la palabra Browser).</p>
<p>Es importante tomar en cuanto que la opción <strong>Varia por </strong>produce una nueva copia de la página en la cache del servidor pudiendo tener varias versiones de la misma página cacheada, así por ejemplo si especificáramos en la opción <strong>Variar por parámetro personalizado</strong> “Browser” tendríamos una versión de la página por cada navegador diferente que hiciera una petición de la página, esto puede significar un alto consumo de memoria si tomamos en cuenta todas la cantidad de cruces disponibles entre las opciones <strong>Varia por </strong>donde<strong> </strong>por cada combinación se estará creando un versión de la página que durara hasta que se alcance el tiempo definido en el TTL.</p>
<p><strong>Configuración del Output Cache en layouts</strong></p>
<p>Para configurar la output cache en nuestros diseños de página es necesario ir a Acciones de Sitio&gt;Configuración del sitio &gt;Paginas Maestras y diseños de página. Una vez en la galería solo es necesario ubicar nuestro diseño de página y editar sus propiedades donde podremos elegir los perfiles que queremos utilizar tanto para los usuarios anónimos como para los usuarios autentificados.</p>
<p><a href="http://highscalability.files.wordpress.com/2011/12/output-cache-layout.jpg"><img class="aligncenter size-full wp-image-943" title="Output cache Layout" src="http://highscalability.files.wordpress.com/2011/12/output-cache-layout.jpg?w=549&#038;h=548" alt="" width="549" height="548" /></a></p>
<p>Finalmente algunas consideraciones acerca del Output cache:</p>
<p>-El contenido con posibilidad de acceso anónimo es cacheado mucho más rápido debido a que no es necesario que el servidor frontal realice peticiones a la base de datos para validar los permisos de la página.</p>
<p>-Funciona solo para las páginas de publicación.</p>
<p>-Puede ser configurada por colección de sitios, sitio y page layout</p>
<p>-Cada versión de página cacheada ocupa 2* (Peso de la página en Kb)+ 32 Kb</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/938/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/938/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/938/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/938/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/938/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/938/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/938/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/938/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/938/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/938/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/938/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/938/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/938/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/938/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=938&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/12/18/mejora-el-rendimiento-de-tus-aplicaciones-sharepoint-server-2010-la-output-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/sharepoint-cache.jpg?w=300" medium="image">
			<media:title type="html">sharepoint cache</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint1.jpg" medium="image">
			<media:title type="html">Output cache sharepoint</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint-2.jpg" medium="image">
			<media:title type="html">Output cache sharepoint 2</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/output-cache-sharepoint-3.jpg" medium="image">
			<media:title type="html">Output cache sharepoint 3</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/output-cache-layout.jpg" medium="image">
			<media:title type="html">Output cache Layout</media:title>
		</media:content>
	</item>
		<item>
		<title>Planea mejor tu arquitectura, conoce como funciona la Cache en SharePoint Server 2010</title>
		<link>http://highscalability.wordpress.com/2011/12/14/planea-mejor-tu-arquitectura-conoce-como-funciona-la-cache-en-sharepoint-server-2010/</link>
		<comments>http://highscalability.wordpress.com/2011/12/14/planea-mejor-tu-arquitectura-conoce-como-funciona-la-cache-en-sharepoint-server-2010/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 20:10:44 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Escalabilidad]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[blob]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[rendimiento]]></category>
		<category><![CDATA[sharepoint 2010]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=923</guid>
		<description><![CDATA[SharePoint utiliza varias técnicas para realizar el cacheado de objetos y así reducir las idas y vueltas entre los servidores frontales y los servidores de base de datos.  En este primero artículo hablaremos sobre el BLOB Cache que es un sistema utilizado por SharePoint para almacenar en el servidor frontal una copia de datos u [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=923&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/12/sharepoint-performance.jpg"><img class="aligncenter size-medium wp-image-930" title="Sharepoint performance" src="http://highscalability.files.wordpress.com/2011/12/sharepoint-performance.jpg?w=300&#038;h=199" alt="" width="300" height="199" /></a></p>
<p style="text-align:justify;">SharePoint utiliza varias técnicas para realizar el cacheado de objetos y así reducir las idas y vueltas entre los servidores frontales y los servidores de base de datos.  En este primero artículo hablaremos sobre el BLOB Cache que es un sistema utilizado por SharePoint para almacenar en el servidor frontal una copia de datos u objetos que son requeridos por los usuarios y sus peticiones http y por lo tanto evitar los viajes de ida y vuelta hacia el servidor de base de datos evitando la latencia y consumo de recursos de red que esto implica.</p>
<p style="text-align:justify;">El BLOB Cache funciona en cada uno de los servidores frontales de una granja de SharePoint y crea copias de recursos utilizados por las páginas web solicitadas como archivos CSS, JavaScript e imágenes de esta forma si estos archivos no existen en la cache SharePoint va por ellos al servidor de base de datos si los mismos se encuentra almacenados en bibliotecas pero una vez cacheados los objetos en las sucesivas peticiones de los usuarios estos objetos son servidos directamente desde el servidor frontal sin tener que realizar viajes al servidor de SQL Server.  Como dije antes esto ocurre siempre que los archivos (CSS, JavaScript, imágenes, archivos multimedia, etc) estén almacenados en una biblioteca sin embargo si los archivos están por ejemplo en la carpeta _layout estos puedes ser servidos directamente desde el servidor frontal, sin embargo desplegar los archivos en la carpeta _layout impide la actualización del contenido por parte de los usuarios y por otra parte hace necesario la actualización  en cada servidor frontal. Aquí podemos ver que siempre los activos que queramos desplegar no requieran de la actualización o aprobación del usuario deberíamos desplegarlos en por ejemplo el directorio _layout y así evitar leer de la base de datos.</p>
<p><span id="more-923"></span></p>
<p style="text-align:justify;">Una desventaja del BLOB Cache es que la primera vez que un contenido necesita ser buscado en el servidor de base de datos para cachearlo esta ida y vuelta al servidor tardara mucho más (alrededor de 5 veces más) de lo que tardaría sino estuviera habilitado el BLOB Cache, esto se debe a que esta primera vez SharePoint necesita obtener toda la información referida a la seguridad del objeto que va a cachear y así controlar el acceso al mismo.  Por esta razón no es buena idea utilizar BLOB Cache sobre objetos que se actualicen con demasiada frecuencia ya que terminaría siendo bastante contraproducente a nivel de rendimiento.</p>
<p style="text-align:justify;">Veamos algunos detalles en cuanto al BLOB Cache:</p>
<ul>
<li>
<div style="text-align:justify;">Los archivos se guardan en disco pero SharePoint mantienen en RAM un índice a los archivos cacheados</div>
</li>
<li>
<div style="text-align:justify;">El BLOB Cache se puede configurar para tipos de archivos en concreto</div>
</li>
<li>
<div style="text-align:justify;">El BLOB Cache se configura para cada aplicación web</div>
</li>
<li>
<div style="text-align:justify;">Por defecto el servidor frontal revisa cada 5 minutos si existe algún cambio en los archivos cacheados, si existen cambios descarta los archivos y los cachea en la próxima petición.</div>
</li>
<li>
<div style="text-align:justify;">En algunos casos la devolución de archivos más pequeños podría tardar más que la de archivos de mayor tamaño debido a que para archivos grandes SharePoint empieza a devolver el contenido a medida que va leyendo del servidor SQL Server, esto es muy útil en el consumo de videos, sin embargo no hace los mismo para archivos pequeños.</div>
</li>
<li>
<div style="text-align:justify;">Se usan 800 bytes de RAM por objeto cacheado, importante a considerar para que nuestra aplicación escale eficientemente.</div>
</li>
<li>
<div style="text-align:justify;">Se puede evitar la tardanza de la primero consulta al servidor  SQL Server configurando la biblioteca con la propiedad <strong>AllowEveryoneViewItems </strong>igual a<strong><em> </em></strong><strong>True</strong><strong>. </strong>Las carpetas Images y Site Collection Images ya vienen configuradas de esta manera de esta forma el servidor frontal no necesita obtener toda la información referente a la seguridad de los objetos ya que son visibles para todos los usuarios.</div>
</li>
</ul>
<p style="text-align:justify;">Por defecto el BLOB Cache viene deshabilitado pero se puede habilitar a través del web config incluyendo:</p>
<pre style="text-align:justify;"><strong>&lt;BlobCache location="&lt;location&gt;" path="&lt;files to be cached&gt;" maxSize="10" enabled="true" /&gt;</strong></pre>
<p style="text-align:justify;">Ejemplo:</p>
<pre style="text-align:justify;"><strong>&lt;BlobCache location="C:\BlobCache\14" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$" maxSize="10" enabled="true" /&gt;</strong></pre>
<p style="text-align:justify;"><strong> </strong> Para borrar la cache podemos ejecutar el siguiente comando de PowerShell</p>
<pre style="text-align:justify;"><strong>$webApp = Get-SPWebApplication "&lt;http://your web application url&gt;"</strong></pre>
<pre style="text-align:justify;"><strong>[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp)</strong></pre>
<p style="text-align:justify;">Por ultimo dejo algunos enlaces a la msdn donde pueden obtener mayor información sobre la configuración y arquitectura de la BLOB Cache.</p>
<p style="text-align:justify;"> <a href="http://msdn.microsoft.com/es-es/library/aa604896.aspx">Plan for caching and performance (SharePoint Server 2010)</a></p>
<p style="text-align:justify;"><a href="http://msdn.microsoft.com/es-es/library/aa604896.aspx">Almacenamiento en memoria caché basada en disco de objetos binarios grandes</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/923/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/923/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/923/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/923/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/923/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/923/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/923/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/923/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/923/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/923/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/923/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/923/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/923/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/923/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=923&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/12/14/planea-mejor-tu-arquitectura-conoce-como-funciona-la-cache-en-sharepoint-server-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/12/sharepoint-performance.jpg?w=300" medium="image">
			<media:title type="html">Sharepoint performance</media:title>
		</media:content>
	</item>
		<item>
		<title>SPS 2010: Puntos en configuración de cuotas y bloqueos</title>
		<link>http://highscalability.wordpress.com/2011/10/26/sps2010-puntos-en-configuracion-de-cuotas-y-bloqueos/</link>
		<comments>http://highscalability.wordpress.com/2011/10/26/sps2010-puntos-en-configuracion-de-cuotas-y-bloqueos/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 08:18:35 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[bloqueos]]></category>
		<category><![CDATA[cuotas]]></category>
		<category><![CDATA[points]]></category>
		<category><![CDATA[puntos]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=901</guid>
		<description><![CDATA[Cuando configuramos las cuotas y bloqueos para las aplicaciones web desde la administración de central de SharePoint esta no solo nos permite limitar la máxima cantidad de almacenamiento que puede consumir la aplicación web, sino que además no permite configurar a través de un sistema de puntos la máxima cantidad de recursos que pueden consumir [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=901&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://highscalability.files.wordpress.com/2011/10/cuotas-y-bloqueos1.jpg"><img class="aligncenter size-full wp-image-913" title="cuotas y bloqueos" src="http://highscalability.files.wordpress.com/2011/10/cuotas-y-bloqueos1.jpg?w=549" alt=""   /></a><a href="http://highscalability.files.wordpress.com/2011/10/cuotas-y-bloqueos.jpg"><br />
</a></p>
<p>Cuando configuramos las cuotas y bloqueos para las aplicaciones web desde la administración de central de SharePoint esta no solo nos permite limitar la máxima cantidad de almacenamiento que puede consumir la aplicación web, sino que además no permite configurar a través de un sistema de puntos la máxima cantidad de recursos que pueden consumir las soluciones  de espacio aislado. Si vamos a la administración central a la sección de Configurar cuotas y bloqueos veremos que por defecto las soluciones  de espacio  aislado están limitadas al consumo de 300 puntos, la gran duda surge en saber cómo funciona el sistema de puntos para poder indicar mejor la cantidad de puntos que deseamos asociar a la plantilla de cuota para limitar las soluciones de espacio aislado. Para determinar esto pego el texto que podemos encontrar en la <a href="http://msdn.microsoft.com/es-es/library/gg615462.aspx">msdn </a>donde se nos explica que el sistema de puntos está basado en la monitorización  de 15 recursos  como por ejemplo la cantidad de excepciones no manejadas que se producen, la cantidad de ciclos de CPU, el porcentaje de tiempo del procesador etc.</p>
<p>Para cada uno de estos 15 recursos existe un umbral que se deberá alcanzar (medido en las unidades según correspondan al tipo de medición) para anotar un punto a la cantidad de recursos consumidos, así y según la tabla de abajo si se alcanzaran 50 excepciones no manejadas se sumaría un punto al total de puntos por día para esa aplicación web. Apoyándonos en esto podemos realizar un mejor análisis del límite que debemos configurar para las cuotas de bloqueos de nuestras aplicaciones web.<br />
<span id="more-901"></span><br />
En la siguiente tabla se enumeran los 15 recursos del sistema que se supervisan.</p>
<ul>
<li>La columna Umbral mínimo especifica la cantidad mínima predeterminada del recurso que se debe alcanzar antes de que se agregue al total acumulado. En esta columna, <strong>0</strong> significa que se agrega cualquier cantidad, por pequeña que sea.</li>
<li>La columna Límite absoluto especifica la cantidad predeterminada que activará una terminación inmediata del proceso. Tenga en cuenta que hay un <strong>1</strong> en esta columna para algunos recursos. Esto significa que incluso una única instancia del recurso desencadena una terminación inmediata del proceso.</li>
<li>La columna Recursos por punto especifica, de forma predeterminada, la cantidad del recurso que hará que se sume un punto adicional al total de Por día o por colección de sitios.</li>
</ul>
<p><a href="http://highscalability.files.wordpress.com/2011/10/cuotas-y-bloqueos-2.png"><img class="aligncenter size-full wp-image-911" title="cuotas y bloqueos 2" src="http://highscalability.files.wordpress.com/2011/10/cuotas-y-bloqueos-2.png?w=549" alt=""   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/901/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/901/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/901/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/901/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/901/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/901/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/901/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/901/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=901&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/10/26/sps2010-puntos-en-configuracion-de-cuotas-y-bloqueos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/10/cuotas-y-bloqueos1.jpg" medium="image">
			<media:title type="html">cuotas y bloqueos</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/10/cuotas-y-bloqueos-2.png" medium="image">
			<media:title type="html">cuotas y bloqueos 2</media:title>
		</media:content>
	</item>
		<item>
		<title>Creación de rutas administradas en SPS 2010</title>
		<link>http://highscalability.wordpress.com/2011/10/22/creacion-de-rutas-administradas-en-sps-2010/</link>
		<comments>http://highscalability.wordpress.com/2011/10/22/creacion-de-rutas-administradas-en-sps-2010/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 20:36:41 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Inclusión de caracteres comodín]]></category>
		<category><![CDATA[Inclusión explicita]]></category>
		<category><![CDATA[rutas administradas]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=892</guid>
		<description><![CDATA[Las rutas administradas en SharePoint Server 2010 nos permiten definir las rutas dentro de la URL de un sitio web que administrara SharePoint. Para hacernos mejor una idea una ruta administrada que viene por defecto en sharePoint es la ruta /sitios (/sites) esta aparece cada vez que queremos crear una colección de sitios. Así como [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=892&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p id="internal-source-marker_0.06306264110665982" style="text-align:justify;" dir="ltr">Las rutas administradas en SharePoint Server 2010 nos permiten definir las rutas dentro de la URL de un sitio web que administrara SharePoint. Para hacernos mejor una idea una ruta administrada que viene por defecto en sharePoint es la ruta /sitios (/sites) esta aparece cada vez que queremos crear una colección de sitios. Así como esta definida la ruta /sitios podemos definir nuevas, para ello basta con ir en la administración central a Administrar aplicaciones web, seleccionar la aplicación web sobre la queremos crear la ruta administrada y seleccionar en la ribbon la opción Rutas Administradas.</p>
<p style="text-align:justify;" dir="ltr">Al agregar una nueva ruta como por ejemplo /rrhh podremos indicar el tipo que podrá ser Inclusión de caracteres comodín o Inclusión explicita, la diferencia entre las dos opciones radica en que con inclusión explicita no se podrán crear nuevas rutas por debajo de la que hemos definido por lo que solo se podrá crear una colección de sitios el la ruta definida, ejemplo miserver/rrhh pero no se permitirá miserver/rrhh/nuevaruta, lo contrario ocurre con el tipo de Inclusión de caracteres comodín. Veamos como luce esto al crear una colección de sitios.</p>
<p dir="ltr"><a href="http://highscalability.files.wordpress.com/2011/10/rutas-administradas.jpg"><img class="aligncenter size-full wp-image-893" title="rutas administradas" src="http://highscalability.files.wordpress.com/2011/10/rutas-administradas.jpg?w=549" alt=""   /></a></p>
<p dir="ltr">Al crear una colección de sitios en una ruta de tipo Inclusión de caracteres comodín</p>
<p dir="ltr"><a href="http://highscalability.files.wordpress.com/2011/10/rutas-administradas-4.png"><img class="aligncenter size-full wp-image-894" title="rutas administradas 4" src="http://highscalability.files.wordpress.com/2011/10/rutas-administradas-4.png?w=549" alt=""   /></a></p>
<p dir="ltr">Al crear una colección de sitios en una ruta de tipo Inclusión explicita</p>
<p dir="ltr"><a href="http://highscalability.files.wordpress.com/2011/10/rutas-administradas-3.png"><img class="aligncenter size-full wp-image-895" title="rutas administradas 3" src="http://highscalability.files.wordpress.com/2011/10/rutas-administradas-3.png?w=549" alt=""   /></a></p>
<p dir="ltr">Lo más común es utilizar el  tipo Inclusión de caracteres comodín sobre todo si se ha habilitado la opción de creación de sitios sin intervención del administrador.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/892/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=892&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/10/22/creacion-de-rutas-administradas-en-sps-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/10/rutas-administradas.jpg" medium="image">
			<media:title type="html">rutas administradas</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/10/rutas-administradas-4.png" medium="image">
			<media:title type="html">rutas administradas 4</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/10/rutas-administradas-3.png" medium="image">
			<media:title type="html">rutas administradas 3</media:title>
		</media:content>
	</item>
		<item>
		<title>Como validar si un usuario de SharePoint pertenece a un grupo del directorio activo que está dentro de un grupo de SharePoint.</title>
		<link>http://highscalability.wordpress.com/2011/10/08/como-validar-si-un-usuario-de-sharepoint-pertenece-a-un-grupo-del-directorio-activo-que-esta-dentro-de-un-grupo-de-sharepoint/</link>
		<comments>http://highscalability.wordpress.com/2011/10/08/como-validar-si-un-usuario-de-sharepoint-pertenece-a-un-grupo-del-directorio-activo-que-esta-dentro-de-un-grupo-de-sharepoint/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 11:21:31 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[directorio activo]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=885</guid>
		<description><![CDATA[En algunos casos tendremos la necesidad de validar si un usuario que accede a una aplicación de SharePoint pertenece o no a un perfil en específico, esta tarea se vuelve más compleja cuando no agregamos a los perfiles de SharePoint usuarios directamente sino grupos del directorio activo lo cual es bastante común, pues con el [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=885&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/10/active-directory.jpg"><img class="aligncenter size-full wp-image-886" title="active directory" src="http://highscalability.files.wordpress.com/2011/10/active-directory.jpg?w=549" alt=""   /></a><br />
En algunos casos tendremos la necesidad de validar si un usuario que accede a una aplicación de SharePoint pertenece o no a un perfil en específico, esta tarea se vuelve más compleja cuando no agregamos a los perfiles de SharePoint usuarios directamente sino grupos del directorio activo lo cual es bastante común, pues con el método que dejo más abajo se puede validar si un usuario tiene un perfil en concreto ya sea que este otorgado directamente al incluirlo en un perfil en la aplicación o que pertenezca a un grupo de directorio activo que está incluido en algún perfil.</p>
<p><!--Seguir leyendo--><br />
<span style="color:#339966;">public bool UsuarioTienePermisos(string url, string nombregrupo, string NombreUsuario)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> bool reachedMax = false;</span><br />
<span style="color:#339966;"> bool TienePermisos= false;</span><br />
<span style="color:#339966;"> SPSecurity.RunWithElevatedPrivileges(delegate</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> try</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> using (SPSite site = new SPSite(url))</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> using (SPWeb web = site.OpenWeb())</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> SPGroup grupo = site.RootWeb.SiteGroups[NombreUsuario];</span><br />
<span style="color:#339966;"> foreach (SPUser usuario in grupo.Users)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> if (!usuario.IsDomainGroup)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> if (user.LoginName.ToUpper().Equals(NombreUsuario))</span><br />
<span style="color:#339966;"> {</span></p>
<p><span style="color:#339966;">TienePermisos = true;</span><br />
<span style="color:#339966;"> return;</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> else</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> if (IsUserInADGroup(web, usuario.LoginName,</span><br />
<span style="color:#339966;"> NombreUsuario, out reachedMax))</span><br />
<span style="color:#339966;"> { TienePermisos = true;</span><br />
<span style="color:#339966;"> return;</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> catch (Exception ex)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> });</span><br />
<span style="color:#339966;"> return TienePermisos ;</span><br />
<span style="color:#339966;"> } private static bool ValidarUsuarioDirectoiroActivo(SPWeb web, string nombregrupo,</span><br />
<span style="color:#339966;"> string nombreUsuario, out bool reachedMax)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> SPPrincipalInfo[] principals =</span><br />
<span style="color:#339966;"> SPUtility.GetPrincipalsInGroup(web, nombregrupo, 500, out reachedMax);</span></p>
<p><span style="color:#339966;">if (principals == null || principals.Length == 0)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> return false;</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> else</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> foreach (SPPrincipalInfo principal in principals)</span><br />
<span style="color:#339966;"> {</span></p>
<p><span style="color:#339966;">if (!principal.IsSharePointGroup &amp;&amp; principal.PrincipalType</span><br />
<span style="color:#339966;"> != SPPrincipalType.SecurityGroup &amp;&amp;</span><br />
<span style="color:#339966;"> principal.DisplayName.ToUpper() != &#8220;SYSTEM ACCOUNT&#8221;)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> if (principal.LoginName.ToUpper() == nombreUsuario.ToUpper())</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> return true;</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> else if (principal.PrincipalType == SPPrincipalType.SecurityGroup)</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> if (ValidarUsuarioDirectoiroActivo(web, principal.LoginName, nombreUsuario, out reachedMax))</span><br />
<span style="color:#339966;"> {</span><br />
<span style="color:#339966;"> return true;</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> return false;</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span><br />
<span style="color:#339966;"> }</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/885/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/885/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/885/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/885/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/885/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/885/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/885/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/885/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/885/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/885/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/885/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/885/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/885/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/885/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=885&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/10/08/como-validar-si-un-usuario-de-sharepoint-pertenece-a-un-grupo-del-directorio-activo-que-esta-dentro-de-un-grupo-de-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/10/active-directory.jpg" medium="image">
			<media:title type="html">active directory</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Cuál es tu modelo de negocios de SharePoint?</title>
		<link>http://highscalability.wordpress.com/2011/08/23/%c2%bfcual-es-tu-modelo-de-negocios-de-sharepoint/</link>
		<comments>http://highscalability.wordpress.com/2011/08/23/%c2%bfcual-es-tu-modelo-de-negocios-de-sharepoint/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 13:40:41 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Gestión de Proyectos]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[business model]]></category>
		<category><![CDATA[modelo de negocio]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=874</guid>
		<description><![CDATA[Una interesante presentación que nos guía hacia como generar un modelo de negocios basado en SharePoint, pero que en realidad se puede aplicar a la generación de cualquier modelo de negocios que se pretenda implementar a través de una solución tecnológica. La herramienta que utilizan para crear el modelo de negocios la pueden descargar de aqui. What&#8217;s Your SharePoint Business Model? View more presentations from [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=874&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Una interesante presentación que nos guía hacia como generar un modelo de negocios basado en SharePoint, pero que en realidad se puede aplicar a la generación de cualquier modelo de negocios que se pretenda implementar a través de una solución tecnológica.</p>
<p>La herramienta que utilizan para crear el modelo de negocios la pueden descargar de <a href="http://www.businessmodelgeneration.com/canvas">aqui</a>.</p>
<div id="__ss_8823607" style="width:425px;"><strong><a title="What's Your SharePoint Business Model?" href="http://www.slideshare.net/benmcmann1/share-point-businessmodel" target="_blank">What&#8217;s Your SharePoint Business Model?</a></strong><iframe src='http://www.slideshare.net/slideshow/embed_code/8823607' width='425' height='348' scrolling='no'></iframe></p>
<div style="padding:5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/benmcmann1" target="_blank">Ben McMann</a></div>
</div>
<div style="padding:5px 0 12px;">Visto originalmente en <a href="https://www.nothingbutsharepoint.com/sites/eusp/Pages/The-Softer-Side-of-SharePoint-Whats-Your-SharePoint-Business-Model.aspx">nothingbutsharepoint</a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/874/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=874&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/08/23/%c2%bfcual-es-tu-modelo-de-negocios-de-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>
	</item>
		<item>
		<title>Como crear un plan de mantenimiento para tus bases de datos usando SSIS o SSMS.</title>
		<link>http://highscalability.wordpress.com/2011/08/15/como-crear-un-plan-de-mantenimiento-para-tus-bases-de-datos-usando-ssis-o-ssms/</link>
		<comments>http://highscalability.wordpress.com/2011/08/15/como-crear-un-plan-de-mantenimiento-para-tus-bases-de-datos-usando-ssis-o-ssms/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 11:18:21 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[SqlServer]]></category>
		<category><![CDATA[Check Database Integrity]]></category>
		<category><![CDATA[crm]]></category>
		<category><![CDATA[History Cleanup]]></category>
		<category><![CDATA[Maintenance Cleanup]]></category>
		<category><![CDATA[maintenance plan]]></category>
		<category><![CDATA[plan de mantenimiento]]></category>
		<category><![CDATA[Rebuild Index]]></category>
		<category><![CDATA[Reorganized Index]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Shrink Database]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[Update Statistic]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=851</guid>
		<description><![CDATA[SQL Server nos permite crear un plan de mantenimiento de nuestras bases de datos de forma muy sencilla sin embargo es poco común que existan en la mayoría de los entornos sencillamente por desconocimiento técnicos de los administradores de sistemas o por no saber cómo nuestras bases de datos se ven afectadas a medida que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=851&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/maintenance.jpg"><img class="aligncenter size-full wp-image-871" title="maintenance" src="http://highscalability.files.wordpress.com/2011/08/maintenance.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">SQL Server nos permite crear un plan de mantenimiento de nuestras bases de datos de forma muy sencilla sin embargo es poco común que existan en la mayoría de los entornos sencillamente por desconocimiento técnicos de los administradores de sistemas o por no saber cómo nuestras bases de datos se ven afectadas a medida que se realizan operaciones sobre ella lo cual reduce el rendimiento y a su vez los tiempo de respuesta en operaciones CRUD y especialmente en las consultas. Una vez más, más allá de que el usuario tenga que esperar un segundo más en una consulta se trata de como la disminución del rendimiento de nuestras aplicaciones afecta de forma global el desempeño de nuestra aplicación, cuanto tiempo (horas o minutos laborables) nos hace perder y los costos económicos asociados a ello, cuanto espacio estamos ocupando de manera innecesaria en nuestros servidores y cuál sería el costo económico de perder parte de nuestros datos en caso de un fallo grave en nuestros discos.</p>
<p style="text-align:justify;">Sea que tengas una aplicación SharePoint, Dynamic CRM, Dynamic NAV, un aplicación hecha a medida, etc. vas a necesitar de un plan de mantenimiento ya que todas estas aplicaciones se ven afectadas de la misma manera. De una manera muy resumida el problema está cuando empezamos a agregar y eliminar información a nuestra base de datos, esto produce que aumente el porcentaje de fragmentación de la base de datos y de los índices por lo que la ruta que consideraba el SQL server era la mejora para realizar determinada consulta ya no lo es, para ello SQL server se basa en plan de ejecución que en base a ciertas estadísticas le permiten saber cuál es la mejor forma de atacar un consulta, pero estas estadísticas si no se actualizan en base al estado actual de la base de datos van quedando obsoletas y mientras mas desfragmentación exista mas cuesta realizar operaciones de escritura.</p>
<p><span id="more-851"></span></p>
<p style="text-align:justify;">Con un poco de análisis de nuestras necesidades podemos llevar a cabo un plan de mantenimiento en pocos minutos. Veamos cómo hacerlo en SSMS.</p>
<p style="text-align:justify;">En SQL Server Managment Studio  podremos ver la carpeta Managment y dentro de ella Maintenance Plans, para usar el ayudante seleccionamos Maintenance Plans Wizard</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento1.jpg"><img class="aligncenter size-full wp-image-852" title="Planmantenimiento1" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento1.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Hacemos clic en Next<br />
<a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento2.jpg"><img class="aligncenter size-full wp-image-853" title="Planmantenimiento2" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento2.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Le damos un nombre a nuestro plan de mantenimiento ya que podremos crear tantos como queramos para distintas base de datos o conjunto de ellas.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento3.jpg"><img class="aligncenter size-full wp-image-854" title="Planmantenimiento3" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento3.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Escogemos las tareas de mantenimiento que queremos realizar.</p>
<p><strong>Shrink Database</strong>: reduce espacio de la base de datos y los archivos de log.</p>
<p><strong>Update Statistic:</strong> asegura que el optimizador de consultas tiene la información actualizada acerca de la distribución de los datos en la base de datos, esto permite que el optimizador realice mejores cálculos acerca de cómo realizar alguna consulta.</p>
<p><strong>Reorganized Index:</strong> desfragmenta y comprime los índices físicos (Clustered Index) y no físicos.</p>
<p><strong>Rebuild Index:</strong> reconstruye las paginas índices permitiendo la reorganización de los datos y búsquedas más rápidas.</p>
<p><strong>Check Database Integrity:</strong> confirma la integridad de los datos y índices de la base de datos.</p>
<p><strong>History Cleanup:</strong> elimina información histórica sobre copias de respaldos y restauraciones.</p>
<p><strong>Maintenance Cleanup:</strong> elimina archivos dejados por la ejecución de los planes de mantenimiento.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento4.jpg"><img class="aligncenter size-full wp-image-855" title="Planmantenimiento4" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento4.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Escogemos el orden en que se ejecutan las tareas.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento5.jpg"><img class="aligncenter size-full wp-image-856" title="Planmantenimiento5" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento5.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Para cada tarea se nos pedira que escojamos la base de datos, podemos escoger una, varias o todas.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento6.jpg"><img class="aligncenter size-full wp-image-857" title="Planmantenimiento6" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento6.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Para cada tarea sera necesario escoger las opciones que correspondan.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento7.jpg"><img class="aligncenter size-full wp-image-858" title="Planmantenimiento7" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento7.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Después de configurar todas las tareas se creara el plan de ejecucion.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento8.jpg"><img class="aligncenter size-full wp-image-859" title="Planmantenimiento8" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento8.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Podremos ver en el diseñador el plan de mantenimiento que hemos creado.<br />
<a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento9.jpg"><img class="aligncenter size-full wp-image-860" title="Planmantenimiento9" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento9.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">En la parte superior del diseñador en el icono con forma de calendario podemos configurar la programación de un nuestro plan de mantenimiento.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento10.jpg"><img class="aligncenter size-full wp-image-861" title="Planmantenimiento10" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento10.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento11.jpg"><img class="aligncenter size-full wp-image-862" title="Planmantenimiento11" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento11.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Finalmente lo mismo que hemos realizado con el SSMS lo podemos realizar con SQL Server Integration Services y el SQL Server Business Intelligence  Development Studio.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento15.jpg"><img class="aligncenter size-full wp-image-863" title="Planmantenimiento15" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento15.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Cuando creemos un proyecto podremos ver que en las herramientas tenemos una sección dedicada a tareas del plan de mantenimiento. Solo es necesario arrastrar las tareas que queremos ejecutar.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento12.jpg"><img class="aligncenter size-full wp-image-864" title="Planmantenimiento12" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento12.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento13.jpg"><img class="aligncenter size-full wp-image-865" title="Planmantenimiento13" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento13.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Si hace clic derecho&gt; Editar sobre cualquier tarea la podemos configura exactamente igual como lo hacíamos con SSMS.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/planmantenimiento14.jpg"><img class="aligncenter size-full wp-image-866" title="Planmantenimiento14" src="http://highscalability.files.wordpress.com/2011/08/planmantenimiento14.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Con esto generaremos un paquete de SSIS que podremos ejecutar cada vez que queramos.</p>
<p>Como hemos visto crear un plan de mantenimiento es relativamente sencillo, obviamente cada escenario necesitara de realizar una análisis de cuáles son nuestras necesidades y como puede impactar el plan de mantenimiento a nuestra aplicación sobre todo si estamos hablamos de producto out of the box.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms189953.aspx">Más información en la MSDN</a></p>
<p>En este blog ya hemos tratado como mejorar el rendimiento de <a href="http://highscalability.wordpress.com/category/sqlserver/">SQL Server</a> en los siguientes post:</p>
<h2 id="post-54"><a title="Vínculo Permanente: Cuellos de botella en SqlServer" href="http://highscalability.wordpress.com/2009/09/05/cuellos-de-botella-en-sqlserver/" rel="bookmark">Cuellos de botella en SqlServer</a></h2>
<h2 id="post-232"></h2>
<h2><a title="Vínculo Permanente: Mantener las estadísticas actualizadas en Sql Server." href="http://highscalability.wordpress.com/2010/01/29/mantener-las-estadisticas-actualizadas-en-sql-server/" rel="bookmark">Mantener las estadísticas actualizadas en Sql Server.</a></h2>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/851/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/851/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/851/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/851/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/851/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/851/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/851/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/851/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/851/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/851/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/851/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/851/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/851/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/851/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=851&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/08/15/como-crear-un-plan-de-mantenimiento-para-tus-bases-de-datos-usando-ssis-o-ssms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/maintenance.jpg" medium="image">
			<media:title type="html">maintenance</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento1.jpg" medium="image">
			<media:title type="html">Planmantenimiento1</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento2.jpg" medium="image">
			<media:title type="html">Planmantenimiento2</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento3.jpg" medium="image">
			<media:title type="html">Planmantenimiento3</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento4.jpg" medium="image">
			<media:title type="html">Planmantenimiento4</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento5.jpg" medium="image">
			<media:title type="html">Planmantenimiento5</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento6.jpg" medium="image">
			<media:title type="html">Planmantenimiento6</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento7.jpg" medium="image">
			<media:title type="html">Planmantenimiento7</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento8.jpg" medium="image">
			<media:title type="html">Planmantenimiento8</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento9.jpg" medium="image">
			<media:title type="html">Planmantenimiento9</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento10.jpg" medium="image">
			<media:title type="html">Planmantenimiento10</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento11.jpg" medium="image">
			<media:title type="html">Planmantenimiento11</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento15.jpg" medium="image">
			<media:title type="html">Planmantenimiento15</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento12.jpg" medium="image">
			<media:title type="html">Planmantenimiento12</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento13.jpg" medium="image">
			<media:title type="html">Planmantenimiento13</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/planmantenimiento14.jpg" medium="image">
			<media:title type="html">Planmantenimiento14</media:title>
		</media:content>
	</item>
		<item>
		<title>Retorno de la inversión en los proyectos software</title>
		<link>http://highscalability.wordpress.com/2011/08/09/retorno-de-la-inversion-en-los-proyectos-software/</link>
		<comments>http://highscalability.wordpress.com/2011/08/09/retorno-de-la-inversion-en-los-proyectos-software/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 00:26:40 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Gestión de Proyectos]]></category>
		<category><![CDATA[costo]]></category>
		<category><![CDATA[inversion]]></category>
		<category><![CDATA[net present value]]></category>
		<category><![CDATA[proyectos]]></category>
		<category><![CDATA[return of invesment]]></category>
		<category><![CDATA[riesgo]]></category>
		<category><![CDATA[roi]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=847</guid>
		<description><![CDATA[Aunque parece obvio que antes de realizar cualquier inversión es necesario realizar un análisis de que tan fructífera pueda ser dicha inversión o si efectivamente nos traerá beneficio y no pérdidas cada vez es más común que las empresas (inclusive grandes empresas) compren software o inviertan en proyectos de software sin hacer un verdadero análisis [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=847&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">
<p style="text-align:justify;">
<a href="http://highscalability.files.wordpress.com/2011/08/roi.jpg"><img class="aligncenter size-full wp-image-849" title="roi" src="http://highscalability.files.wordpress.com/2011/08/roi.jpg?w=549" alt=""   /></a>Aunque parece obvio que antes de realizar cualquier inversión es necesario realizar un análisis de que tan fructífera pueda ser dicha inversión o si efectivamente nos traerá beneficio y no pérdidas cada vez es más común que las empresas (inclusive grandes empresas) compren software o inviertan en proyectos de software sin hacer un verdadero análisis de cuánto dinero les hará ganar dicha inversión o de cuanto les hará ahorrar, también resulta curioso que muchas empresas consultoras (casi todas) venden proyectos de software realizando propuesta que tampoco dejan claro cuál será el beneficio económico real de la empresa en caso de llevar el proyecto acabo.</p>
<p><span id="more-847"></span><br />
Ahora bien más allá de la incompetencia de algunos jefes de finanzas y tecnológicos de muchas empresas, cualquier inversión grande en proyectos de software debe estar respaldada por el desarrollo de un modelo del retorno de la inversión que justifique el proyecto. Para esto lo primero que hay que hacer es determinar el beneficio que recibiremos por llevar a cabo nuestro proyecto.<br />
En el caso de los proyectos de software los beneficios pueden están enmarcados en las siguientes categorías:</p>
<p style="text-align:justify;">
<strong>Reducir costos laborales:</strong> sencillamente si podemos hacer lo mismo con menos personas podemos reducir costos de manera directa o reubicar a dichas personas en otras áreas donde puedan generar valor.<br />
<strong>Reducir errores</strong>: los errores generalmente tienen un coste económico, reduciendo los errores minimizamos este coste y además reducimos gastos en realizar test de calidad o revisar que el trabajo realizado cumpla con ciertas características.<br />
<strong>Incrementar las ganancias:</strong> un proyecto por ejemplo nos podría ayudar a vender más, posicionar mejor nuestra marca o tener mayor visibilidad. Un claro ejemplo es la implementación de un CRM con Microsoft Dynamic o una extranet para crear vínculos con nuestros clientes.<br />
<strong>Mejorar el acceso a la información:</strong> es bien sabido que la información es la base para la toma de decisiones, contar con la información necesaria y el momento preciso puede ayudar a los directivos de una empresa a tomar decisiones que ayuden generar mayores ingresos o a reducir cotos. En un mundo donde la información se genera cada segundo y se va transformando en corto tiempo es necesario estar informado de cómo va tu negocio, aquí entran en juego muchas aplicaciones de inteligencia de negocios (SQL Analysis services, SharePoint performance point service, Power Pivot, etc)<br />
<strong>Incrementar la productividad:</strong> si podemos realizar lo mismo con menos esfuerzo estamos siendo más productivos, esto casi siempre va atado a ahorro de dinero. Por ejemplo cuando tardan los empleados de una empresa al día buscando información necesaria para llevar a cabo su trabajo, ¿En cuanto podríamos reducir este tiempo implementando un portal de búsquedas corporativas con SharePoint y cuantos ahorraríamos al año?</p>
<p style="text-align:justify;">Ahora bien hasta ahora solo hemos hablado de los beneficios pero cualquier proyecto trae consigo costos asociados al mismo, a parte del costo inicial del proyecto en sí, entre ellos tenemos:<br />
<strong>Costo de licencias:</strong> es importante que sepamos gestionar el costo de las licencias basándonos en un arquitectura de software y hardware bien definida y las posibilidades de crecimiento de la aplicación.<br />
<strong>Costos de mantenimiento</strong>: cualquier proyecto de software necesitara personas que sean capaces de mantener la aplicación tanto a nivel de software como a nivel de infraestructura, personas que administren los distintos servidores , resuelvan incidencias, etc. Es necesario tener en cuanto nos va a costar mantener nuestros aplicativos según la tecnología que escojamos también encontraremos distintos precios para personal de soporte, es bien sabido que es mucho más rentable contratar a un experto en Windows Server 2008 que a un experto en Red Hat.<br />
<strong>Hardware:</strong> muchas veces se lleva gran parte de los costos, pero recordemos que siempre podemos reducir la cantidad de equipos físicos implantando tecnologías de virtualización, en los costos de hardware están involucrados la compra de servidores, equipos de red, etc.</p>
<p style="text-align:justify;"><strong>Modelo de ROI</strong></p>
<p style="text-align:justify;">Una vez hayamos identificado los beneficios económicos que traería la implementación de un nuevo software y el costo de llevarlo a cabo y sus costos asociados debemos desarrollar nuestro modelo de ROI para cual debemos de tener en cuenta lo siguiente:<br />
<strong>La vida útil del software:</strong> una aplicación es evidente que no nos puede durar para siempre, aunque muchos jefes de finanzas quisiera que fuera así, pasada una cierta cantidad de años puede ser que la tecnología tienda a volverse obsoleta o que las necesidades de la compañía hayan cambiado, de todas formas la vida útil de un software suele estar entre los 5 y los 8 años. Es esencial que sepamos cual será la vida útil del aplicativo que queremos desarrollar porque para cada año de vida tendremos que calcular los beneficios (Cash in)y los gastos que nos generara (Cash out).<br />
<strong>Depreciación:</strong> al igual que casi cualquier cosa el software suele ir perdiendo valor a medida que pasa el tiempo.<br />
<strong>Risk-free interest rate:</strong> es la tasa que se podría obtener anualmente del dinero que se pretende invertir si se pusiera en un banco o en otras inversiones con cero riesgo, si el % de retorno de nuestra inversión no está por encima de esta tasa obviamente no vale la pena llevar a cabo el proyecto.<br />
<strong>Cualificación de riesgo:</strong> se refiere a las probabilidades de conseguir los beneficios que se han planteado en el modelo.</p>
<p style="text-align:justify;"><strong>Ejemplo de un modelo ROI</strong></p>
<table width="400" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="98"><strong>Año</strong></td>
<td valign="top" width="100"><strong>Cash Out</strong></td>
<td valign="top" width="99"><strong>Cash In</strong></td>
<td valign="top" width="101"><strong>Cash Flow</strong></td>
</tr>
<tr>
<td valign="top" width="97">0</td>
<td valign="top" width="100">-100,000</td>
<td valign="top" width="99">0</td>
<td valign="top" width="102">-100,000</td>
</tr>
<tr>
<td valign="top" width="97">1</td>
<td valign="top" width="100">-20,000</td>
<td valign="top" width="99">40,000</td>
<td valign="top" width="102">20,000</td>
</tr>
<tr>
<td valign="top" width="97">2</td>
<td valign="top" width="100">-20,000</td>
<td valign="top" width="99">60,000</td>
<td valign="top" width="102">40,000</td>
</tr>
<tr>
<td valign="top" width="97">3</td>
<td valign="top" width="100">-20,000</td>
<td valign="top" width="99">80,000</td>
<td valign="top" width="103">60,000</td>
</tr>
<tr>
<td valign="top" width="97"><strong>Total</strong></td>
<td valign="top" width="100"><strong>-160,000</strong></td>
<td valign="top" width="99"><strong>180,000</strong></td>
<td valign="top" width="103"><strong>20,000</strong></td>
</tr>
</tbody>
</table>
<p style="text-align:justify;">Esto significa que hemos convertido 100 mil en 120 mil lo cual sería el valor presente de nuestra inversión (PV) y el valor presente neto seria 20 mil (NPV).<br />
Esto monto no es del todo real ya que en necesario aplicar el discount rate el cual estará basado en Risk-free rate y el porcentaje de riego del proyecto. Generalmente el discount rate es fijado por los departamentos financieros de las empresas.</p>
<p style="text-align:justify;">
Para aplicar el discount rate a nuestro NPV antes calculado y obtener un valor más realista hay que aplicar la siguiente formula.</p>
<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/npv.png"><img class="aligncenter size-full wp-image-848" title="npv" src="http://highscalability.files.wordpress.com/2011/08/npv.png?w=549" alt=""   /></a><br />
Seguramente el cálculo del ROI podemos hacerlo tan complejo como queramos pero lo que no deberíamos es dejarlo a un lado tanto si queremos plantearnos llevar a cabo un proyecto de software como si estamos interesados en presentar una propuesta tecnología a algún cliente. Además si tenemos claros las ganancias que supondrán el terminar a cabo el proyecto todas las partes interesadas estarán más involucradas en el éxito del mismo.</p>
<p>Si quieren ampliar sus conocimientos en esta área una buena forma de empezar es a través del Microsoft REJ Framework un marco de trabajo permite evaluar a las organizaciones el valor de las inversiones que pretenden realizar en el área de IT.</p>
<p style="text-align:justify;">Fuentes:</p>
<p style="text-align:justify;"><a href="http://office.microsoft.com/en-us/access-help/use-roi-analysis-for-business-software-investments-HA001199974.aspx">Microsoft</a></p>
<p style="text-align:justify;">
<p style="text-align:justify;"><a href="http://www.cleverworkarounds.com">cleverworkarounds</a></p>
<p style="text-align:justify;"><a href="http://download.microsoft.com/download/4/1/8/4182bb1a-5980-425a-a646-f347b32e39f0/consulting_rej.pdf">REJ</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/847/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/847/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/847/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/847/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/847/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/847/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/847/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/847/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/847/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/847/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/847/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/847/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/847/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/847/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=847&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/08/09/retorno-de-la-inversion-en-los-proyectos-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/roi.jpg" medium="image">
			<media:title type="html">roi</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/npv.png" medium="image">
			<media:title type="html">npv</media:title>
		</media:content>
	</item>
		<item>
		<title>Mostrar el nombre del documento en lugar del título en las búsquedas de SharePoint</title>
		<link>http://highscalability.wordpress.com/2011/08/05/mostrar-el-nombre-del-documento-en-lugar-del-titulo-en-las-busquedas-de-sharepoint/</link>
		<comments>http://highscalability.wordpress.com/2011/08/05/mostrar-el-nombre-del-documento-en-lugar-del-titulo-en-las-busquedas-de-sharepoint/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 23:09:36 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Busquedas]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[busquedas]]></category>
		<category><![CDATA[document]]></category>
		<category><![CDATA[filename]]></category>
		<category><![CDATA[nombre]]></category>
		<category><![CDATA[propiedad administrda]]></category>
		<category><![CDATA[rastreo]]></category>
		<category><![CDATA[resultados]]></category>
		<category><![CDATA[title]]></category>
		<category><![CDATA[titulo]]></category>

		<guid isPermaLink="false">http://highscalability.wordpress.com/?p=843</guid>
		<description><![CDATA[Por alguna razón, supongo que justificada, los ingenieros de Microsoft decidieron que al realizar una búsqueda en SharePoint el título del resultado para el caso de los documentos sea el Titulo del mismo el cual obtiene de la primera página del documento, obviamente en esto están involucrados varios condicionales a la hora de mostrar el [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=843&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><a href="http://highscalability.files.wordpress.com/2011/08/search-documents.jpg"><img class="aligncenter size-full wp-image-844" title="search-documents" src="http://highscalability.files.wordpress.com/2011/08/search-documents.jpg?w=549" alt=""   /></a></p>
<p style="text-align:justify;">Por alguna razón, supongo que justificada, los ingenieros de Microsoft decidieron que al realizar una búsqueda en SharePoint el título del resultado para el caso de los documentos sea el Titulo del mismo el cual obtiene de la primera página del documento, obviamente en esto están involucrados varios condicionales a la hora de mostrar el título u otra propiedad de rastreo, pero al menos en los documentos de office es muy común que ocurra.</p>
<p style="text-align:justify;">Un problema algo común es que se carguen documentos a una librería de SharePoint  con diferentes nombres  pero que por tener el mismo título en la portada SharePoint al realizar una búsqueda asuma que son duplicados y no aparezcan en los resultados de búsquedas al menos que seleccionamos la opción de ver duplicados. Por esta razón y otras más podría ser conveniente que SharePoint en los resultados de búsqueda nos devuelva como título el nombre del documento y no el título que ha interpretado de la información de la primera página.</p>
<p style="text-align:justify;">Como hacemos esto:</p>
<p style="text-align:justify;">Lo primero es ubicar la <a href="http://highscalability.wordpress.com/2011/05/27/creacion-de-propiedades-administradas-en-sharepoint-server-2010/">propiedad administrada</a> isDocument y asegurarnos que está configurada para ser utilizada en ámbitos.</p>
<p><span id="more-843"></span></p>
<p style="text-align:justify;">Luego tenemos que hacer algunos ligeros cambios en el xsl que formatea los resultados de las búsquedas, ya hablamos de cómo hacer esto en <a href="http://highscalability.wordpress.com/2011/04/20/personalizar-la-pagina-de-resultados-de-sharepoint-para-mostrar-propiedades-administradas/">un antiguo post</a>.</p>
<p style="text-align:justify;"> Para este caso en el xsl vamos hasta donde dice:</p>
<p><span style="color:#339966;">&lt;div class=&#8221;srch-Title2&#8243;&gt;&gt;</span></p>
<p><span style="color:#339966;">  &lt;div class=&#8221;srch-Title3&#8243;&gt;</span></p>
<p>A partir de aquí se empieza a dar formato al título del resultado de búsqueda.</p>
<p>Ahora debemos sutituir:</p>
<p><span style="color:#339966;">&lt;xsl:choose&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;xsl:when test=&#8221;hithighlightedproperties/HHTitle[. != '']&#8220;&gt;</span></p>
<p><span style="color:#339966;">                                        &lt;xsl:call-template name=&#8221;HitHighlighting&#8221;&gt;</span></p>
<p><span style="color:#339966;">                                               &lt;xsl:with-param name=&#8221;hh&#8221; select=&#8221;hithighlightedproperties/HHTitle&#8221; /&gt;</span></p>
<p><span style="color:#339966;">                                        &lt;/xsl:call-template&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;/xsl:when&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;xsl:otherwise&gt;</span></p>
<p><span style="color:#339966;">                                        &lt;xsl:value-of select=&#8221;title&#8221;/&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;/xsl:otherwise&gt;</span></p>
<p><span style="color:#339966;">                           &lt;/xsl:choose&gt;</span></p>
<p>Por:</p>
<p><span style="color:#339966;">&lt;xsl:if test=&#8221;isdocument = &#8216;True&#8217;&#8221;&gt;</span></p>
<p><span style="color:#339966;">                           &lt;xsl:value-of select=&#8221;filename&#8221;/&gt;</span></p>
<p><span style="color:#339966;">                    &lt;/xsl:if&gt;</span></p>
<p><span style="color:#339966;">                    &lt;xsl:if test=&#8221;isdocument = &#8216;False&#8217;&#8221;&gt;</span></p>
<p><span style="color:#339966;">                           &lt;xsl:choose&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;xsl:when test=&#8221;hithighlightedproperties/HHTitle[. != '']&#8220;&gt;</span></p>
<p><span style="color:#339966;">                                        &lt;xsl:call-template name=&#8221;HitHighlighting&#8221;&gt;</span></p>
<p><span style="color:#339966;">                                               &lt;xsl:with-param name=&#8221;hh&#8221; select=&#8221;hithighlightedproperties/HHTitle&#8221; /&gt;</span></p>
<p><span style="color:#339966;">                                        &lt;/xsl:call-template&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;/xsl:when&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;xsl:otherwise&gt;</span></p>
<p><span style="color:#339966;">                                        &lt;xsl:value-of select=&#8221;title&#8221;/&gt;</span></p>
<p><span style="color:#339966;">                                  &lt;/xsl:otherwise&gt;</span></p>
<p><span style="color:#339966;">                           &lt;/xsl:choose&gt;</span></p>
<p><span style="color:#339966;">                    &lt;/xsl:if&gt;</span></p>
<p>En resumen comprobamos si el resultado es un documento, si es así hacemos que muestre el nombre (FileName) de lo contrario se comporta como hasta ahora lo ha venido haciendo mostrando la propiedad administrada title.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highscalability.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highscalability.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highscalability.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highscalability.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highscalability.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highscalability.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highscalability.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highscalability.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highscalability.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highscalability.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highscalability.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highscalability.wordpress.com/843/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highscalability.wordpress.com/843/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highscalability.wordpress.com/843/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highscalability.wordpress.com&amp;blog=9234515&amp;post=843&amp;subd=highscalability&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highscalability.wordpress.com/2011/08/05/mostrar-el-nombre-del-documento-en-lugar-del-titulo-en-las-busquedas-de-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4dcc6ba597772952bb29a6b4b17b9b67?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex</media:title>
		</media:content>

		<media:content url="http://highscalability.files.wordpress.com/2011/08/search-documents.jpg" medium="image">
			<media:title type="html">search-documents</media:title>
		</media:content>
	</item>
	</channel>
</rss>
