<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>David Martos @ SharePoint en Geeks.ms </title><link>http://geeks.ms/blogs/davidmartos/default.aspx</link><description /><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Indexación de contenidos infinita en SharePoint 2013</title><link>http://geeks.ms/blogs/davidmartos/archive/2013/02/25/indexaci-243-n-de-contenidos-infinita-en-sharepoint-2013.aspx</link><pubDate>Mon, 25 Feb 2013 12:28:56 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208665</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2013/02/25/indexaci-243-n-de-contenidos-infinita-en-sharepoint-2013.aspx#comments</comments><description>&lt;p&gt;Hoy me he encontrado con la necesidad de tener funcionando en mi entorno de desarrollo el servicio de búsquedas y, para mi sorpresa, he visto que algo no acababa de funcionar del todo bien. Después de horas de espera, la indexación de contenidos no terminaba ni parecía encontrar ningún elemento. La topología de la granja es simple y no parecía haber ningún error en los logs de SharePoint ni en el visor de sucesos. No obstante, había una imagen que no me acababa de convencer.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_5EDB3ECF.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_76264340.png" width="918" height="469" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Como podéis observar, había bastantes avisos en la configuración de la topología del servicio de búsqueda que podrían estar causando el problema. Aparentemente, o hubo algún error a la hora de ejecutar el asistente de configuración, o dicho asistente deja el servicio a medio configurar. La solución pasaba por ejecutar el siguiente script de powershell:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;$host = Get-SPEnterpriseSearchServiceInstance -Identity &amp;quot;s-ps1&amp;quot; &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Start-SPEnterpriseSearchServiceInstance -Identity $host &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;Get-SPEnterpriseSearchServiceInstance -Identity $host &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $host      &lt;br /&gt;New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $host       &lt;br /&gt;New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $host       &lt;br /&gt;New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $host -IndexPartition 0&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Y sí, antes de que me lo digáis vosotros, sé que es un error configurar una granja utilizando el asistente. En cuanto tenga por la mano AutoSPInstaller para SharePoint 2013 podré decir aquello de: Lo siento, me he equivocado, y no volverá a pasar ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208665" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/SharePoint+2013/default.aspx">SharePoint 2013</category></item><item><title>Libros de SharePoint en español</title><link>http://geeks.ms/blogs/davidmartos/archive/2013/01/22/libros-de-sharepoint-en-espa-241-ol.aspx</link><pubDate>Tue, 22 Jan 2013 20:32:46 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208362</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2013/01/22/libros-de-sharepoint-en-espa-241-ol.aspx#comments</comments><description>&lt;p&gt;Estas navidades he tenido la oportunidad, al fin, de leer dos libros que tenía pendientes en mi estantería desde hacía ya varios meses. El objetivo que me marqué al inicio de la lectura era determinar si podía utilizarlos como respuesta a una pregunta con la que me suelo encontrar bastante a menudo: ¿Cómo empiezo con SharePoint? En este artículo podréis leer mis conclusiones al respecto.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;&lt;a href="http://www.ediciones-eni.com/libros/sharepoint-foundation-2010-construir-una-intranet-colaborativa-en-pymes/.7f1affaf999ecba996e5c416c2f91cd0.html"&gt;SharePoint Foundation 2010: Construir una Intranet colaborativa en PYMES&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Sin lugar a dudas es un libro que me ha sorprendido gratamente. Imagino que por deformación profesional, cuando hablo de SharePoint siempre imagino sistemas complejos y grandes organizaciones y un libro cuyo título contenía la palabra PYME era como un ataque a mis principios. De manera escéptica comencé a leer las primeras páginas y el enfoque simplificador desde el cual trataba cada uno de los temas contenidos en el libro me llamó la atención. Si ya conoces SharePoint, has trabajado con él, y estás buscando profundizar, este libro no es para ti. Pero si estás buscando iniciarte en el tema o si tienes interés en hacer tu primera instalación de la versión gratuita de SharePoint, antes de perder horas y horas buscando información en internet te recomiendo echarle un ojo a este libro.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.ediciones-eni.com/libros/sharepoint-2010-desarrollo-en-net-para-personalizar-sharepoint/.8d49edf65ec69cd704a6b1a7f5a53540.html"&gt;SharePoint 2010: Desarrollo en .NET para personalizar SharePoint&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;A diferencia del anterior, sobre este libro ya tenía alguna que otra referencia y, por lo tanto, sabía más o menos lo que me iba a encontrar. A pesar de que creo honestamente que los autores han hecho un gran trabajo para tratar de explicar todo lo que hay que saber para desarrollar para SharePoint 2010, y a pesar de que creo que es una opción interesante a tener en cuenta, no lo recomendaría como libro para empezar en este mundo. Si no conoces SharePoint, será muy complicado que a través de este libro puedas llegar a entender cuándo y para qué necesitarás aplicar lo que en el libro se explica. Por otro lado, si conoces SharePoint pero no tienes una buena base de .NET, a mi entender te resultará complicado sacar un buen rendimiento de las explicaciones. Si conoces SharePoint, y tu base de .NET es buena, seguramente sí puedas sacar un buen rendimiento a este libro para tener, a vista de pájaro, un resumen de prácticamente todas las cosas que puedas hacer desarrollando para SharePoint. &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Resumiendo, buenos libros en castellano sobre SharePoint para ser tenidos en cuenta definitivamente a la hora de aconsejar puntos de entrada a la plataforma. Ediciones Eni ha donado a SUG.CAT un ejemplar de cada uno de estos dos libros por si alguno de vosotros quiere echarles un vistazo. Si alguien está interesado en este material, o en cualquier otro material del grupo de usuarios, que no dude en ponerse en contacto con nosotros.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208362" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/_5B00_offtopic_5D00_/default.aspx">[offtopic]</category></item><item><title>Mi primer SharePoint 2013 en minutos…</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/07/27/mi-primer-sharepoint-2013-en-minutos.aspx</link><pubDate>Fri, 27 Jul 2012 12:22:43 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206268</guid><dc:creator>David Martos</dc:creator><slash:comments>2</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/07/27/mi-primer-sharepoint-2013-en-minutos.aspx#comments</comments><description>&lt;p&gt;Como a bien seguro todos sabéis ya, &lt;strong&gt;SharePoint 2013 is coming&lt;/strong&gt; y, como no podía ser de otra manera, viene cargadito de novedades. No os voy a engañar, aunque ya he visto algunas cosas, no he podido jugar todo lo que me habría gustado, y eso va a cambiar en breve. En este primer artículo os pienso explicar el primer paso que he dado en esa dirección, por si alguno de vosotros quiere seguir mi camino. &lt;u&gt;Objetivo: poder jugar con SharePoint 2013 a la mayor brevedad posible, y con la menor cantidad de recursos disponible&lt;/u&gt;. La solución por la que yo he optado es &lt;strong&gt;CloudShare&lt;/strong&gt;.&amp;#160; Tenéis la opción de acceder a recursos de manera gratuita durante un periodo limitado de tiempo y, disponer de una máquina con SharePoint 2013 es cuestión de minutos. ¿Cuáles son los pasos que tengo que seguir para hacerlo? A continuación…&lt;/p&gt;  &lt;p&gt;Antes de que me preguntéis, Azure también lo consideré como opción. Tiene algunas cosas que me atraen más que CloudShare pero, a día de hoy, no tiene ninguna plantilla en la galería con SharePoint 2013 instalado y ahora mismo lo que quiero es jugar &lt;strong&gt;YA&lt;/strong&gt;. Con tiempo crearé una máquina limpia en Azure, instalaré SharePoint 2013, y documentaré el proceso apropiadamente en este blog, por supuesto.&lt;/p&gt;  &lt;p&gt;Si ya tenéis cuenta en CloudShare seguramente este artículo no os será de mucha utilidad. Si no es así, los pasos que necesitáis seguir para tener una máquina funcionando con SharePoint 2013 son los siguientes:&lt;/p&gt;  &lt;p&gt;Acceder a &lt;a href="http://cloudshare.com/Free-Trial-Registration"&gt;http://cloudshare.com/Free-Trial-Registration&lt;/a&gt;, rellenar y enviar el formulario que aparece. Ojo, cuando os pregunten vuestro perfil, indicad que sois mayoritariamente usuarios de SharePoint. Más adelante veréis por qué.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_075A82CB.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_52BCB740.png" width="404" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Directamente tras enviar el formulario accederéis a una pantalla desde la cual podréis crear todas las máquinas que queráis usando una lista enorme de plantillas. En este caso, escogeremos SharePoint Server 2013 y crearemos la máquina. No tardará más de 5 minutos en estar operativa. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_48F74FC8.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_6D1F3B08.png" width="404" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;En la siguiente figura veréis el por qué de la decisión de decir que sois un perfil de usuario mayoritariamente de SharePoint. Seguramente si hubieseis escogido Windows sería lo mismo pero tenemos que llevar con orgullo la pegatina de SharePoint en nuestra gorra, ¿no?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_6359D390.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_67D2E508.png" width="404" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Antes de comenzar a jugar, desplegad las opciones que aparecen al pulsar el botón &lt;strong&gt;Edit Environment&lt;/strong&gt; y pulsad el botón &lt;strong&gt;Edit hardware.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_77094DD5.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_0D5EF31B.png" width="404" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Permitidme utilizar ahora un tecnicismo: &lt;strong&gt;El burro grande, ande o no ande&lt;/strong&gt;. Si tenemos 16GB de RAM y 300 GB de disco duro, habrá que utilizarlos. Total, vais a pagar lo mismo y seguro que vuestras pruebas lo agradecen.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_51A1EB18.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_614486DA.png" width="404" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;La máquina se reiniciará en el momento que guardéis los cambios. Cuando termine de reiniciar, bastará que pulséis el botón &lt;strong&gt;View Machine&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_7EB96897.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_4053A4E4.png" width="404" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Podéis conectaros a la máquina por RDP o a través de la misma web si instaláis un complemento en el navegador. Yo os lo recomiendo, puesto que mientras estáis en la web la máquina estará disponible. En el momento que cerráis la ventana o en el momento que accedéis a través de RPD, transcurridos unos minutos la máquina entra en estado de suspensión. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_4FF640A6.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_6CFEEF6E.png" width="404" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ahora, ¡&lt;strong&gt;A JUGAR!&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206268" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/SharePoint+2013/default.aspx">SharePoint 2013</category></item><item><title>I’m back! gracias a mis lectores por esperar pacientemente. A los dos! ;)</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/07/27/i-m-back-gracias-a-mis-lectores-por-esperar-pacientemente-a-los-dos.aspx</link><pubDate>Fri, 27 Jul 2012 11:33:53 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206266</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/07/27/i-m-back-gracias-a-mis-lectores-por-esperar-pacientemente-a-los-dos.aspx#comments</comments><description>&lt;p&gt;Después de un largo tiempo casi desaparecido en las redes sociales y eventos de comunidad debido a la alta carga de trabajo y a los grandes cambios que estoy viviendo a nivel personal estos últimos meses, he pensado que ha llegado el momento de volver a poner al día mis asuntos técnicos personales comenzando, como no, por este blog al que tanto cariño le tengo y en el que tengo invertidas tantas horas.&lt;/p&gt;  &lt;p&gt;No hace falta que os diga lo fatal que me sabe haber estado así de desconectado. No sólo he dejado bastante apartado este blog, sino que también he aparecido poco por foros y eventos y tengo correos pendientes de responder de hace semanas. A todos os iré respondiendo en la medida que me sea posible y, con un poco de suerte, alguno de vosotros no habréis perdido la fe en que volvería y seguiréis esperando esa respuesta prometida. &lt;/p&gt;  &lt;p&gt;Básicamente hay dos razones para este regreso. El primero, y más importante, es que hoy he comenzado mis vacaciones. Amenazan con ser las vacaciones más largas de mi vida profesional ya que, si no pasa nada, serán un total de 4 semanas las que tengo aprovisionadas para tamaño acontecimiento (y mi récord eran 3). La segunda razón es la aparición de la beta pública de SharePoint 2013. No es ningún anuncio porque estoy convencido de que todos habéis leído ya “miles de blogs que hablan de ello” y los que me conocéis sabéis que lo mío no es una carrera de velocidad, sino un paseo de calidad. No soy periodista y para mí este blog es únicamente un humilde contenedor de historias de mi día a día (profesionales mayoritariamente), y mi día a día, a día de hoy (cuanto día en la frase) no era SharePoint 2013 con lo que no tenía sentido que hablase sobre ello.&lt;/p&gt;  &lt;p&gt;En fin, acabo este pequeño &lt;em&gt;offtopic&lt;/em&gt; pidiendo de nuevo disculpas por mi ausencia y prometiendo nuevos contenidos comenzando desde hoy mismo. A los que me leéis, gracias por esperar, y espero pagar la deuda que tengo con vosotros en los siguientes artículos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206266" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/_5B00_offtopic_5D00_/default.aspx">[offtopic]</category></item><item><title>¿Cómo que: “The system cannot find the path specified”?</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/06/07/191-c-243-mo-que-the-system-cannot-find-the-path-specified.aspx</link><pubDate>Thu, 07 Jun 2012 13:59:55 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205511</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/06/07/191-c-243-mo-que-the-system-cannot-find-the-path-specified.aspx#comments</comments><description>&lt;p&gt;Estos últimos días he estado peleando con un asunto que me sacaba completamente de mis casillas. Aquel tipo de errores que aparentemente no tiene ningún sentido ni razón de ser. El asunto era que la solución no se compilaba correctamente por este error.&lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;&amp;quot;C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj&amp;quot; (default target) (14) -&amp;gt;      &lt;br /&gt;(RestorePackages target) -&amp;gt;       &lt;br /&gt;&lt;strong&gt;&amp;#160; C:\hg\Beezy\.nuget\nuget.targets(58,9): error : The system cannot find the path specified. [C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj]&lt;/strong&gt;       &lt;br /&gt;&amp;#160; C:\hg\Beezy\.nuget\nuget.targets(58,9): error MSB3073: The command &amp;quot;&amp;quot;C:\hg\Beezy\.nuget\nuget.exe&amp;quot; install &amp;quot;C:\hg\Beezy\Domain.Tests\packages.config&amp;quot; -source &amp;quot;&amp;quot; -o &amp;quot;C:\hg\Beezy\packages&amp;quot;&amp;quot; exited with code -1. [C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Lo extraño del caso es que el fichero &lt;strong&gt;C:\hg\Beezy\Domain.Tests\Domain.Tests.csproj&lt;/strong&gt; realmente existía, y el proceso tenía acceso total al fichero. Raro. Además en todos los demás entornos, incluído el entorno de integración continua, todo funcionaba a la perfección. De todas maneras, como esto no me impedía seguir trabajando con normalidad porque el resto de proyectos compilaban, me molestaba, pero no hasta el punto de obligarme a solucionarlo en el momento.&lt;/p&gt;  &lt;p&gt;Hoy, finalmente ha habido algo que me ha obligado a tomar cartas en el asunto. He abierto un símbolo de sistema y me he encontrado con esto:&lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;Microsoft Windows [Version 6.1.7601]&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;Copyright (c) 2009 Microsoft Corporation. All rights reserved.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;&lt;strong&gt;The system cannot find the path specified.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Por aquí ya no paso, una cosa es que no me dejes compilar, pero otra cosa es que me des un error en toda la cara cuando lo único que te estoy diciendo es que abras una humilde consola de comandos. En ese momento he empezado a buscar soluciones y, después de un buen rato, he dado con este artículo:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://carol-nichols.com/2011/03/the-system-cannot-find-the-path-specified/" href="http://carol-nichols.com/2011/03/the-system-cannot-find-the-path-specified/"&gt;http://carol-nichols.com/2011/03/the-system-cannot-find-the-path-specified/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Las coincidencias en cuanto a mensaje y en cuanto a precedentes me han hecho prestarle una atención especial, hasta el punto que he visto que describía y solucionaba perfectamente mi problema. Podéis ver el artículo, que merece la pena. Yo aquí os voy a hacer un resumen del problema y os voy a dar directamente la solución:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Problema: &lt;/strong&gt;durante el proceso de instalación de Ruby en esta máquina tuve que instalar ANSICON. La instalación la realicé desde la carpeta de descargas. Hace poco, haciendo limpieza, pasé la carpeta que había descargado a una carpeta más adecuada pensando que nada pasaría.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Solución:&lt;/strong&gt; O bien vuelves a poner la carpeta donde estaba, o bien abres el registro y buscas la clave HKCU\Software\microsoft\Command Processor\AutoRun y la cambias consecuentemente.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205511" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/Visual+Studio/default.aspx">Visual Studio</category></item><item><title>Pasado, presente y futuro de los grupos de usuario</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/05/24/pasado-presente-y-futuro-de-los-grupos-de-usuario.aspx</link><pubDate>Thu, 24 May 2012 09:43:35 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205202</guid><dc:creator>David Martos</dc:creator><slash:comments>48</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/05/24/pasado-presente-y-futuro-de-los-grupos-de-usuario.aspx#comments</comments><description>&lt;p&gt;Bueno, aunque el título de este artículo queda muy bonito en realidad voy a hablar muy poco de pasado y de futuro y mucho de presente, ya que es el presente lo que ha motivado que me ponga a escribir esto. El pasado no lo conozco demasiado bien, y el futuro no lo conoce nadie, pero el presente lo resumo con esto, y omitiré nombres y empresas para que no influya en el relato:&lt;/p&gt;  &lt;p&gt;Ayer por la tarde el Grupo de Usuarios de SharePoint de Catalunya organiza un evento gratuito de 2 horas para el que, además de dos ponentes de Barcelona traemos a un ponente de lujo de Madrid. La temática y los productos cubiertos son muy interesantes y el nivel altísimo. Además, a tenor de lo que dice mi buzón de LinkedIn, hay interés en el mundo empresarial y necesidad de gente que domine estas tecnologías. Resultado: vienen 4 gatos, todos ellos compañeros de empresa de los ponentes (bueno, y una única persona de otra empresa pero que curiosamente es uno de los fundadores del grupo de usuario).&lt;/p&gt;  &lt;p&gt;Estos son los hechos. Ahora voy a exponer un posible atenuante: el evento se hacía en horario laboral (de 16:00 a 18:00). De todas maneras no creo que sea una causa aceptable porque el último evento del mismo grupo de usuarios se realizó de 18:00 a 20:00 y tuvimos un resultado similar.&lt;/p&gt;  &lt;p&gt;Y a partir de aquí empieza la parte de opinión personal. Sin querer emitir ningún juicio de valores, las causas a las que yo puedo achacar la baja asistencia al evento son las siguientes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Empresas y personas que no se han enterado del evento por falta de marketing. &lt;/li&gt;    &lt;li&gt;Empresas que no permiten a sus empleados asistir a este tipo de eventos por parecerles poco productivas. &lt;/li&gt;    &lt;li&gt;Personas que no tienen el interés suficiente por este tipo de asuntos o que no están dispuestas a destinar parte de su tiempo personal. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;El primero de los puntos seria responsabilidad nuestra directa. Hay que reconocer que ninguno de los organizadores del evento somos estrellas mediáticas y que lo único que hemos hecho para promocionar el evento son unos cuantos mensajes en Twitter, anuncios en nuestros blogs y en el grupo de LinkedIn. Es posible que no sigas ninguna de estas vías de comunicación (pero eso me llevaría al punto 3) pero lo que sí es cierto es que había 17 personas apuntadas al evento y la mayoría de estas personas no se presentaron. Sí, ya sé que esto pasa siempre, pero eso no quita que esté mal. Si llegamos a ver que ninguna persona ajena a nuestras empresas iban a venir hubiéramos hecho un evento interno y punto. O hubiéramos quedado directamente en un bar para intercambiar opiniones, ya que en general las personas que vienen a este tipo de eventos son precisamente los que menos necesitan las charlas técnicas y más necesitan la discusión en si.&lt;/p&gt;  &lt;p&gt;El segundo punto no deja de confirmar un mensaje que hace tiempo que tengo claro. Estoy viviendo y trabajando en un país en el que se le da una importancia mínima a la formación de las personas. Las mismas empresas que no permiten a sus empleados asistir a una formación gratuita de 2 horas sobre Windows 8 y SharePoint son aquellas que después les dan un proyecto que involucre alguna de estas tecnologías y mandan a la persona que tienen libre a los leones con una tarjeta en la frente que dice: Experto en Windows 8 y SharePoint. También son aquellas que mes sí mes también se ponen en contacto contigo por LinkedIn tras hacer una búsqueda del término “SharePoint” porque tienen una propuesta que seguramente será de tu interés. ¿Cómo no te va a interesar nuestra propuesta para un proyecto de 2 meses en un cliente buenísimo que quiere ponerse eso de Sharepoint? Además, seguramente después de esos 2 meses tendremos muchos más proyectos de eso de Sharepoint.&lt;/p&gt;  &lt;p&gt;El tercer punto es posiblemente el que más me molesta. Día sí día no escucho que hay mucha gente quemada con su trabajo, gente que se ha quedado en paro, gente que querría trabajar con cosas chulas y/o de una manera chula. También mucha gente que pregunta en los foros (esto me parece muy bien) y gente que te envía mails directamente con consultas (esto no es que me parezca mal, al final tienes que buscarte la vida de una manera o de otra, pero no me parece lo más adecuado). Yo me pregunto dónde está toda esa gente en momentos como éste. Señores, en estos eventos se puede aprender más o menos, pero lo que sí se puede hacer seguro es un poco de networking. Si estás buscando trabajo ya sea porque no tienes o porque no te gusta el que tienes, preséntate y comparte tus inquietudes. Si quieres conocer cosas más interesantes de las que haces, ven a escuchar lo que te podemos contar o propon otros temas. Si no pones un poco de tu parte, tampoco es normal que estés todo el día quejándote de tu situación (lo siento pero es mi opinión)&lt;/p&gt;  &lt;p&gt;Quería acabar este artículo con mis conclusiones acerca de todo esto, pero me voy a guardar mi opinión. Ayer tuve la oportunidad de discutirla delante de unas cervezas (y la cola zero de rigor) con los que siempre están ahí (gracias, por cierto… si no fuera por vosotros seguramente ya me habría rendido y me limitaría a grabar screencasts para colgarlos en el blog)&lt;/p&gt;  &lt;p&gt;Por cierto, evidentemente algunos de vosotros tendréis vuestras razones para no venir, faltaría más. Mi crítica es a nivel general y no quiero que ahora os sintáis todos ofendidos y me vengáis con: “cabrón, yo tenía una entrega ese día y no podía ir”. Los que estáis en esta situación seguro que me entendéis y no os dais por aludidos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205202" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/_5B00_offtopic_5D00_/default.aspx">[offtopic]</category></item><item><title>[EVENTO] SUG.CAT: SharePoint 2010 desde todo tipo de dispositivos</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/05/10/evento-sug-cat-sharepoint-2010-desde-todo-tipo-de-dispositivos.aspx</link><pubDate>Thu, 10 May 2012 14:35:02 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204953</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/05/10/evento-sug-cat-sharepoint-2010-desde-todo-tipo-de-dispositivos.aspx#comments</comments><description>&lt;p&gt;¿Tenéis SharePoint en vuestra organización y os están pidiendo desarrollar aplicaciones móviles que consuman sus datos y sus servicios? ¿Queréis información sobre cómo deberíais atacar este tipo de desarrollos? No os podéis perder, el próximo miércoles 23 de Mayo, de 16:00 a 18:00 en las oficinas de Microsoft Ibérica en Barcelona el evento que desde el Grupo de Usuarios de SharePoint de Catalunya (SUG.CAT) estamos preparando.&lt;/p&gt;  &lt;p&gt;Contaremos con la presencia de dos pedazo de cracks: Edin Kapic que estuvo de ponente en la última SharePoint Conference en Berlín y que últimamente no ha parado de dar charlas por media Europa sobre SharePoint y Windows 8 y Luís Ruiz Pavon, el tio más potente de .NET que yo he llegado a conocer, y que viene expresamente de Madrid a estar con nosotros y explicarnos como construir APIs REST sobre SharePoint. Yo también aprovecharé para hacer una pequeña sesión (ya me conocéis, soy como Pablo Motos del hormiguero y si no salgo a hacer el indio no me siento satisfecho)&lt;/p&gt;  &lt;p&gt;En fin, os dejo aquí el link de registro, ¡no os lo perdáis!&lt;/p&gt;  &lt;p&gt;&lt;a title="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032513734&amp;amp;Culture=es-ES" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032513734&amp;amp;Culture=es-ES"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032513734&amp;amp;Culture=es-ES&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Por cierto, después del evento tenemos pensado hacer unas SharePints donde podremos reunirnos y hablar distendidamente sobre el tema del evento y sobre cualquier otro tema que queráis.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204953" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/Eventos/default.aspx">Eventos</category></item><item><title>Disponible el material de mi sesión del GAPZ2012</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/04/24/disponible-el-material-de-mi-sesi-243-n-del-gapz2012.aspx</link><pubDate>Tue, 24 Apr 2012 18:14:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204639</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/04/24/disponible-el-material-de-mi-sesi-243-n-del-gapz2012.aspx#comments</comments><description>&lt;p&gt;El pasado s&amp;aacute;bado 21 de Abril tuve el placer de asistir como ponente al evento Geek-&amp;acirc;-Paloozaaa 2012 en Andorra. All&amp;iacute; pude compartir escenario con cracks como David Nudelman, Marc Salvador, Jose Lu&amp;iacute;s Latorre y Eduard Tom&amp;agrave;s, siempre bajo la atenta mirada del gran Llu&amp;iacute;s Franco, anfitri&amp;oacute;n de lujo y, como muestra, aqu&amp;iacute; os dejo un video de una entrevista que le hicieron.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/40775785" title="http://vimeo.com/40775785"&gt;http://vimeo.com/40775785&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pod&amp;eacute;is ver toda la informaci&amp;oacute;n del evento &lt;a href="http://www.geek-a-paloozaaa.com/"&gt;aqu&amp;iacute;&lt;/a&gt; y, si no me equivoco, en breve podr&amp;eacute;is descargar los videos de las sesiones. Estad atentos porque ir&amp;eacute; informando de m&amp;aacute;s novedades al respecto.&lt;/p&gt;
&lt;p&gt;Todos los que pudisteis asistir sab&amp;eacute;is que, por motivos de tiempo, pas&amp;eacute; por alto muchas de las &lt;em&gt;slides&lt;/em&gt; con la promesa de publicarlas lo antes posible. Como lo prometido es deuda, aqu&amp;iacute; ten&amp;eacute;is la presentaci&amp;oacute;n de mi sesi&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://skydrive.live.com/?cid=7127a829d27ab782#!/view.aspx?cid=7127A829D27AB782&amp;amp;resid=7127A829D27AB782%21727" title="https://skydrive.live.com/?cid=7127a829d27ab782#!/view.aspx?cid=7127A829D27AB782&amp;amp;resid=7127A829D27AB782%21727"&gt;https://skydrive.live.com/?cid=7127a829d27ab782#!/view.aspx?cid=7127A829D27AB782&amp;amp;resid=7127A829D27AB782%21727&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204639" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/Eventos/default.aspx">Eventos</category></item><item><title>El ‘Activity Feed’ aparece vacío</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/04/24/el-activity-feed-aparece-vac-237-o.aspx</link><pubDate>Tue, 24 Apr 2012 15:48:34 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204635</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/04/24/el-activity-feed-aparece-vac-237-o.aspx#comments</comments><description>&lt;p&gt;Hay información para aburrir acerca del servicio de perfiles de usuario de SharePoint y de las características sociales de SharePoint 2010, así que no os voy a aburrir con más sobre lo mismo. Simplemente os expondré algo&amp;#160; que me ha hecho perder la paciencia hasta límites insospechados para que, si os veis en la misma situación, no perdáis tantas horas como he perdido yo aquí.&lt;/p&gt;  &lt;p&gt;La situación es la siguiente: instalas SharePoint 2010 utilizando &lt;a href="http://autospinstaller.codeplex.com/"&gt;AutoSPInstaller&lt;/a&gt; que, todo hay que decirlo, es una herramienta fantástica que permite hacer instalaciones limpias de una manera sencilla. Todo parece funcionar a las mil maravillas pero no hay manera de que el &lt;em&gt;activity feed&lt;/em&gt; muestre ningún resultado independientemente de las acciones que efectúes. Pues bien, resulta que hay una propiedad por ahí perdida que sirve justamente para mostrar el &lt;em&gt;activity feed&lt;/em&gt; y yo, como buen developer, no voy a la Administración Central de SharePoint a no ser que sea estrictamente necesario.&lt;/p&gt;  &lt;p&gt;Para encontrar la dichosa propiedad, pulsar el enlace &lt;strong&gt;Manage service applications&lt;/strong&gt; en la sección &lt;strong&gt;Application Management&lt;/strong&gt; de la &lt;strong&gt;Administración Central de SharePoint&lt;/strong&gt;. Una vez allí entrad en la administración de la aplicación de servicio de perfiles de usuario y, dentro del apartado &lt;strong&gt;My Site Settings&lt;/strong&gt;, pulsad sobre la opción &lt;strong&gt;Setup My Sites&lt;/strong&gt;. Allí encontraréis una propiedad que tenéis que habilitar, tal y como muestro a continuación.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_7553770D.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_410F27FA.png" width="651" height="93" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204635" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category></item><item><title>Disponible el número 11 de la revista compartimos</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/03/20/disponible-el-n-250-mero-11-de-la-revista-compartimos.aspx</link><pubDate>Tue, 20 Mar 2012 13:08:30 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203921</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/03/20/disponible-el-n-250-mero-11-de-la-revista-compartimos.aspx#comments</comments><description>&lt;p&gt;Otro número más tengo el placer y el privilegio de formar parte del índice de un número de la revista CompartiMOSS, y esta vez como entrevistado. Es la primera vez que hago esto así que no me lo tengáis en cuenta :P&lt;/p&gt;  &lt;p&gt;Os dejo aquí el índice de la revista que, como veréis, viene plagado de grandes artículos.&lt;/p&gt;  &lt;p&gt;•Editorial    &lt;br /&gt;•Conexiones BCS en el servicio de perfiles (Miguel Tabera Pacheco)     &lt;br /&gt;•Combinando SharePoint y Project Server (Arnau Roca Palà, Marc Bàguena Cuéllar)     &lt;br /&gt;•Linq To SharePoint (Juan Pablo Capdevila)     &lt;br /&gt;•Sitios de Publicación de SharePoint 2010 (Santiago J. Porras Rodríguez)     &lt;br /&gt;•Creando documentos profesionales en Microsoft Word 2010 (Alejandro Garrido)     &lt;br /&gt;•Entrevista con David Martos     &lt;br /&gt;•Lista personalizada con Excel (Marcus Vinícius Bittencourt)     &lt;br /&gt;•¿Cómo tener éxito con la adopción de usuario de soluciones SharePoint? (Edin Kapic)     &lt;br /&gt;•UXDesignPoint     &lt;br /&gt;•Exposición de un sitio web con autenticación por claims usando ADFS - Parte 1 (Diego Gatti)     &lt;br /&gt;•Customización y ampliación de estadísticas de uso (Víctor Cea Espejo)     &lt;br /&gt;•Firma Electrónica sobre SharePoint: principales ventajas y aplicaciones (Miguel López)     &lt;br /&gt;•Client Object Model en SharePoint 2010 / Modificando la seguridad (Juan Pablo Pussacq Laborde)     &lt;br /&gt;•El concepto de Nube Privada (Daniel S. Levi)&lt;/p&gt;  &lt;p&gt;Si queréis descargar la revista podéis hacerlo &lt;a href="http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx"&gt;aquí&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203921" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/CompartiMOSS/default.aspx">CompartiMOSS</category></item><item><title>[EVENTO] CHARLA CON LOS EXPERTOS: TODO LO QUE SIEMPRE QUISISTE SABER SOBRE SHAREPOINT, PERO NO TE ATREVISTE A PREGUNTAR</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/03/11/evento-charla-con-los-expertos-todo-lo-que-siempre-quisiste-saber-sobre-sharepoint-pero-no-te-atreviste-a-preguntar.aspx</link><pubDate>Sun, 11 Mar 2012 10:29:14 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203794</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/03/11/evento-charla-con-los-expertos-todo-lo-que-siempre-quisiste-saber-sobre-sharepoint-pero-no-te-atreviste-a-preguntar.aspx#comments</comments><description>&lt;p&gt;El próximo miércoles, 14 de Marzo, a las 16:00 horas (GMT+1), está preparado un webcast donde intentaremos aclarar todas aquellas dudas que tengáis en relación a SharePoint. Os dejo la descripción del evento y el enlace de registro a continuación.&lt;/p&gt;  &lt;p&gt;Los grupos de usuarios de SharePoint de habla hispana os proponemos un evento online un tanto diferente: os proponemos durante aproximadamente 90 minutos charlar con los principales expertos de la plataforma en países de habla de hispana. Ven con nosotros, plantéanos tus dudas y cuestiones sobre nuestro servidor favorito y averigua todo aquello que siempre quisiste saber, pero nunca te atreviste a preguntar.    &lt;br /&gt;Entre los participantes en la charla contaremos con algunos de los mayores conocedores de la plataforma SharePoint como: Gustavo Vélez, David Martos, Ricardo Muñoz, Juan Andrés Valenzuela, Juan Carlos González, Alberto Díaz, Daniel Seara, Héctor Insua, Manuel Herrera, Haarón González Fabian Imaz, Mario Cortés Flores, Juan Pablo Pussacq Laborde.&lt;/p&gt;  &lt;p&gt;&lt;a title="https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&amp;amp;eventid=1032506778&amp;amp;flag=1" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&amp;amp;eventid=1032506778&amp;amp;flag=1"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&amp;amp;eventid=1032506778&amp;amp;flag=1&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203794" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/Eventos/default.aspx">Eventos</category></item><item><title>Características: receivers y scopes</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/03/05/caracter-237-sticas-receivers-y-scopes.aspx</link><pubDate>Mon, 05 Mar 2012 12:46:20 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203689</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/03/05/caracter-237-sticas-receivers-y-scopes.aspx#comments</comments><description>&lt;p&gt;A raíz de una consulta en los foros de SharePoint he pensado que valía la pena dedicar un rato a explicar un concepto que, pese a ser aparentemente simple, suele causar más de un problema a todo aquel que trabaja con SharePoint. La problemática radica en el concepto feature &lt;em&gt;scope&lt;/em&gt; o ámbito de la característica. Voy a intentar introducir primeramente el tema.&lt;/p&gt;  &lt;p&gt;Sabréis que SharePoint, en su versión 2007, introdujo el tema de característica o feature que podría definirse como elemento mínimo de despliegue de funcionalidad y que, en ocasiones, tienen asociado un &lt;em&gt;receiver&lt;/em&gt; que es un código manejado que se ejecuta cuando la característica se instala, se activa, se desactiva y se desinstala. Bien, resulta que las características pueden tener cuatro ámbitos diferentes en función del elemento o elementos a desplegar: &lt;strong&gt;granja, aplicación web, colección de sitios y sitio&lt;/strong&gt;. Cuando no hay receiver el asunto suele ser bastante simple ya que suele haber una única posibilidad a la hora de seleccionar el ámbito. Si, por la razón que sea, existe más de una posibilidad tampoco es problema, porque en cualquiera de esas posibilidades el elemento se desplegará correctamente o saltará un error indicando que la característica no está bien definida.&lt;/p&gt;  &lt;p&gt;El problema viene cuando tenemos un &lt;em&gt;receiver&lt;/em&gt; el código del cual estamos desarrollando nosotros, y se debe al hecho que la característica se puede definir con cualquier ámbito y somos nosotros los que tenemos que actuar en consecuencia para que nuestro código funcione de manera adecuada. Voy a poner un ejemplo muy extremo para que veáis el tipo de cosas que se pueden hacer porque el sistema lo permite, pero que no deberían hacerse salvo que sepamos exactamente por qué lo estamos haciendo de esa manera.&lt;/p&gt;  &lt;p&gt;Digamos que quiero desplegar una característica que, cuando se active, acceda al servicio de perfiles de usuario y haga un tratamiento sobre cada uno de los perfiles. Al estar tratando sobre una aplicación de servicio, lo lógico sería que su ámbito fuera aplicación web o granja (la decisión depende de la aplicación de servicio pero abordar este asunto está fuera del alcance de este artículo). Sin embargo, yo puedo decidir crear mi característica con ámbito de sitio y, en el código de activación hacer lo siguiente:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;var web = properties.Feature.Parent &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; SPWeb;&lt;br /&gt;var webApplication = web.Site.WebApplication;&lt;br /&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Ahora tendría acceso al objeto &lt;strong&gt;SPWebApplication&lt;/strong&gt; correspondiente al sitio donde estoy activando la característica. Esto no debería ser un problema pero, a la hora de la verdad, si tienes un código que está haciendo algo relacionado con el objeto &lt;strong&gt;SPWebApplication&lt;/strong&gt; es probable que lo acabes utilizando en el futuro en otro proyecto y, en general, te encontrarás con un problema relacionado porque en ese nuevo proyecto, habrás pensado de otra manera, y esta vez tu característica la habrás definido con alcance aplicación web y el código anterior compilará, funcionará aparentemente, pero dará un error de &lt;strong&gt;NullReferenceException&lt;/strong&gt; porque la primera línea de arriba devolverá un objeto nulo.&lt;/p&gt;

&lt;p&gt;Si queréis dejar vuestro &lt;em&gt;receiver&lt;/em&gt; totalmente protegido de cara a futuras reutilizaciones deberíais tratar las cuatro posibilidades que se os pueden llegar a dar. La idea sería obtener el tipo del objeto &lt;strong&gt;properties.Feature.Parent&lt;/strong&gt; del ejemplo anterior y, en base al resultado, ejecutar un código u otro, o incluso devolver un error controlado y evitar el &lt;strong&gt;NullReferenceException&lt;/strong&gt; que, si bien da toda la información, no va a ayudar a aquella persona que quiere reutilizar vuestro receiver.&lt;/p&gt;

&lt;p&gt;En cualquier caso es importante intentar siempre escoger el ámbito más correcto para vuestra característica y, en ese caso, dependerá del código que vayáis a escribir. Si veis que vuestro código hace algo como lo de arriba, muy probablemente hayáis decidido mal y el ámbito correcto debería ser aplicación web. La idea es plantearse cual va a ser el objeto que va a recibir tratamiento por parte de nuestro código y establecerlo como el Parent de la característica a crear.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203689" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>MVP Summit 2012</title><link>http://geeks.ms/blogs/davidmartos/archive/2012/03/03/mvp-summit-2012.aspx</link><pubDate>Sat, 03 Mar 2012 00:06:59 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:203652</guid><dc:creator>David Martos</dc:creator><slash:comments>1</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2012/03/03/mvp-summit-2012.aspx#comments</comments><description>&lt;p&gt;Por segundo año consecutivo he tenido el placer y el privilegio de venir a Seattle para asistir al MVP Summit. Ahora que ha acabado, y recogiendo ya las cosas para volver a casa, puedo deciros que he vuelto a disfrutar como un enano del acontecimiento. Ya no sólo por el hecho de estar en el campus y por poder ver información interesante de primera mano, sino sobretodo por la posibilidad de reencontrarme con mucha gente y conocer a personas realmente interesantes.&lt;/p&gt;  &lt;p&gt;Para que os hagáis una idea de la magnitud del evento, aquí os dejo una foto donde aparecemos la mayoría de los asistentes al Summit. La foto se tomó en el estadio de fútbol de Seattle.&lt;/p&gt;  &lt;p&gt;&lt;iframe height="300" src="http://photosynth.net/embed.aspx?cid=37d2fb67-a580-427e-a63d-22d57b32f259&amp;amp;delayLoad=true&amp;amp;slideShowPlaying=false" frameborder="0" width="500"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;Si no lo podéis ver bien en esta página, podéis visitar el siguiente enlace:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://photosynth.net/view.aspx?cid=37d2fb67-a580-427e-a63d-22d57b32f259" href="http://photosynth.net/view.aspx?cid=37d2fb67-a580-427e-a63d-22d57b32f259"&gt;http://photosynth.net/view.aspx?cid=37d2fb67-a580-427e-a63d-22d57b32f259&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez acabado, prometo ponerme al día con este blog que tan abandonado tengo. De momento ya os habréis dado cuenta de que estoy cambiando el aspecto poco a poco (dadme tiempo que ya sabéis que no me llevo muy bien con el HTML y con el CSS). Sé que tengo pendientes varios artículos sobre ALM y también alguna que otra cosita que introduje en su momento pero que acabó quedándose en el tintero. Si no hay nada que lo impida, durante este mes acabaré alguna de las cosas que tengo a medias y lo publicaré.&lt;/p&gt;  &lt;p&gt;Seguimos…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=203652" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/_5B00_offtopic_5D00_/default.aspx">[offtopic]</category></item><item><title>[offtopic] Beezy y Papa Noel</title><link>http://geeks.ms/blogs/davidmartos/archive/2011/12/21/offtopic-beezy-y-papa-noel.aspx</link><pubDate>Wed, 21 Dec 2011 17:18:36 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202271</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2011/12/21/offtopic-beezy-y-papa-noel.aspx#comments</comments><description>&lt;p&gt;Ya me ha tocado hablar de Beezy en este mismo espacio unas cuantas veces (aunque muchas de las veces no mencione directamente el producto, siempre está detrás de lo que vengo haciendo estos últimos meses). El caso es que estas son sus primeras navidades. Bueno, en realidad podríamos decir que son las segundas porque a estas alturas del año pasado el concepto ya se estaba trabajando y teníamos algunas cosas desarrolladas, pero la verdad es que realidad estas son las primeras navidades en las que Beezy está funcionando al 100%. Tanto es así que el mismísimo Papa Noel se ha decidido a usarlo para optimizar su productividad con el trabajo que se le viene encima en los próximos días.&lt;/p&gt;  &lt;p&gt;Aquí os dejo un video para que lo veáis en funcionamiento. Espero que a vosotros también os saque una sonrisa como nos la ha sacado a los miembros del equipo de desarrollo cuando lo hemos visto.&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:fe94855d-a841-4ecb-bd2f-d8f6b42596f2" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=TWQUH0QqeGQ" target="_new"&gt;&lt;img src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/videoa414e9450a04_5F00_5AC5CC68.jpg" style="border-style:none;" alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;Beezy y Papa Noel&lt;/div&gt;&lt;/div&gt;  &lt;p&gt;Y de regalo, aquí tenéis algo que espero que os saque aún más sonrisas que el video anterior.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sendables.jibjab.com/view/D73s6y9TmMHuH4Yb"&gt;http://sendables.jibjab.com/view/D73s6y9TmMHuH4Yb&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202271" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/_5B00_offtopic_5D00_/default.aspx">[offtopic]</category></item><item><title>Número 10 de la revista compartimos</title><link>http://geeks.ms/blogs/davidmartos/archive/2011/12/20/n-250-mero-10-de-la-revista-compartimos.aspx</link><pubDate>Tue, 20 Dec 2011 08:10:18 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202257</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2011/12/20/n-250-mero-10-de-la-revista-compartimos.aspx#comments</comments><description>&lt;p&gt;Hoy ha sido publicado el &lt;a href="http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx"&gt;número 10 de CompartiMOSS&lt;/a&gt;, la revista de referencia del mundo SharePoint en habla hispana. Este mes el número viene cargadito con todos estos artículos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Editorial &lt;/li&gt;    &lt;li&gt;Cómo crear una página de error personalizada en SharePoint 2010 (Luis Máñez) &lt;/li&gt;    &lt;li&gt;Aplicando buenas prácticas a una solución SandBoxed que despliega noticias gráficas (Juan Manuel Herrera) &lt;/li&gt;    &lt;li&gt;SharePoint Governance - I (Randy Williams - Roberto Delgado) &lt;/li&gt;    &lt;li&gt;Como remplazar controles delegados en sitios de SharePoint 2010 (Juan Carlos González Martín) &lt;/li&gt;    &lt;li&gt;Datos externos desde Office365 (Mario Cortés Flores) &lt;/li&gt;    &lt;li&gt;Gestión de documentos para ISO 9001 con SharePoint 2010 (Juan Emilio Martinez) &lt;/li&gt;    &lt;li&gt;Entrevista con Daniel Seara &lt;/li&gt;    &lt;li&gt;Timer Jobs en SharePoint 2010 (Carlos Ariel Dantiags) &lt;/li&gt;    &lt;li&gt;NPS ENGINE, herramienta de Diseño de Procesos para SharePoint &lt;/li&gt;    &lt;li&gt;el caso de los Centros Tecnológicos de Microsoft (MTC) (Roberto Delgado) &lt;/li&gt;    &lt;li&gt;CUDISS - SharePoint BI para hospitales (Luis Máñez) &lt;/li&gt;    &lt;li&gt;SSD: El Síndrome de la SharePoint Dependencia (Juan Pablo Pussacq Laborde) &lt;/li&gt;    &lt;li&gt;Sitios web públicos en Office 365 (Alberto Diaz Martin) &lt;/li&gt;    &lt;li&gt;Aprovisionamiento de Páginas Wiki en SharePoint 2010 (David Martos) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Como podéis leer, tengo el placer y el privilegio (aunque por las fechas que son tendría que decir me llena de orgullo y satisfacción) de formar parte del índice de este número con un artículo en el que hablo de aprovisionamiento de páginas Wiki en SharePoint 2010 y del que podéis encontrar el código relacionado en &lt;a href="http://spwikiprovisioning.codeplex.com"&gt;http://spwikiprovisioning.codeplex.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Por si no escribo más este año (algunos ya sabéis que estoy pendiente del teléfono para desaparecer una temporadita) desearos a todos unas felices fiestas y una gran entrada de año. Sed buenos y no hagáis nada que yo haría, ¿o era al revés? #whatever&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202257" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/CompartiMOSS/default.aspx">CompartiMOSS</category></item><item><title>La característica de dependencia 'PublishingSite' no se activa en este ámbito.</title><link>http://geeks.ms/blogs/davidmartos/archive/2011/12/19/la-caracter-237-stica-de-dependencia-publishingsite-no-se-activa-en-este-225-mbito.aspx</link><pubDate>Mon, 19 Dec 2011 16:27:39 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202214</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2011/12/19/la-caracter-237-stica-de-dependencia-publishingsite-no-se-activa-en-este-225-mbito.aspx#comments</comments><description>&lt;p&gt;Siguiendo con el anterior artículo en relación a la creación de sitios de alto nivel en Office365 y a raíz de la pregunta de un lector que necesitaba crear sitios con las características de publicación habilitadas, os doy un pequeño truco que os puede ser de utilidad. Resulta que si a la hora de crear la plantilla de sitio, éste tenía habilitadas dichas características, a la hora de activar la solución previamente exportada en un nuevo sitio nos encontraremos con un error similar al siguiente:&lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;La característica de dependencia &amp;#39;PublishingSite&amp;#39; (Id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) para la característica &amp;#39;xxx_Feature3&amp;#39; (Id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) no se activa en este ámbito.&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;La causa de este error radica en que al crear la plantilla de sitio, SharePoint detecta que la característica de publicación de ámbito ‘sitio’ tiene una dependencia en la característica de publicación de ámbito ‘colección de sitios’ y así lo marca en el paquete de despliegue. No obstante, el fichero &lt;strong&gt;onet.xml&lt;/strong&gt; que genera para nuestra plantilla ya incorpora la activación de ambas características, con lo que el error no debería aparecer. Aquí pongo un warning muy importante: &lt;u&gt;lo que voy a hacer a partir de ahora lo podéis hacer siempre que entendáis el motivo de lo que estáis haciendo, ya que en ciertas circunstancias podéis provocar efectos muy negativos.&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Para solucionar el error bastará con importar el fichero wsp que habéis exportado anteriormente desde Visual Studio mediante la plantilla de proyecto &lt;strong&gt;Import SharePoint Solution Package&lt;/strong&gt;. Una vez allí será necesario hacer doble click en aquella característica que nos está indicando el sistema (xxx_Feature3 en el ejemplo de arriba) y acceder al final de la pantalla, ahí donde están las &lt;strong&gt;Feature Activation Dependencies&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_153B50B5.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_04DFD8FC.png" width="572" height="161" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Bastará con eliminar la dependencia y generar de nuevo la solución para resolver el problema anterior.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202214" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/Office365/default.aspx">Office365</category></item><item><title>Como crear sitios personalizados de primer nivel en Office365</title><link>http://geeks.ms/blogs/davidmartos/archive/2011/12/19/como-crear-sitios-personalizados-de-primer-nivel-en-office365.aspx</link><pubDate>Mon, 19 Dec 2011 14:57:52 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:202212</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2011/12/19/como-crear-sitios-personalizados-de-primer-nivel-en-office365.aspx#comments</comments><description>&lt;p&gt;Desplegar soluciones en Office365 (SharePoint Online) supone normalmente muchos más quebraderos de cabeza que hacerlo sobre SharePoint &lt;em&gt;on-premises&lt;/em&gt;. Esto, evidentemente, es debido a las restricciones de seguridad que supone disponer de una solución hospedada en una granja compartida por miles de organizaciones.&lt;/p&gt;  &lt;p&gt;Uno de los escenarios típicos de desarrollo o personalización en Office365 es el que se conoce comunmente como “ad-hoc”.&amp;#160; En ese escenario un administrador crea un sitio vacío y, desde el nuevo sitio, los usuarios que tengan los permisos necesarios crean todos aquellos elementos que consideran necesarios. Cuando nuestros requerimientos van un poco más allá y necesitamos aprovisionar diferentes sitios con una estructura común la cosa se complica un poco, como veremos a continuación.&lt;/p&gt;  &lt;p&gt;El principal problema radica en la imposibilidad de subir soluciones de tipo granja, y en el hecho que las definiciones de sitio únicamente pueden incluirse en soluciones de este tipo. Una aproximación a las definiciones de sitio son las plantillas de sitio, pero éstas se despliegan normalmente sobre colecciones de sitios existentes. ¿Qué pasa si necesitamos crear sitios de primer nivel? La respuesta es más simple de lo que parece.&lt;/p&gt;  &lt;p&gt;Lo primero que deberemos hacer es crear el sitio tal y como lo queremos desplegar y, una vez lo tengamos, guardarlo como plantilla accediendo a la administración del sitio y pulsando sobre &lt;strong&gt;Save site as template&lt;/strong&gt; dentro del apartado &lt;strong&gt;Site Actions&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_02EC472A.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_7369355A.png" width="477" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;El sistema solicitará un título y un nombre de fichero para la plantilla que queremos guardar. Una vez hecho esto podremos pulsar en el enlace &lt;strong&gt;Solutions&lt;/strong&gt; dentro del apartado &lt;strong&gt;Galleries &lt;/strong&gt;de la administración del sitio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_1E612360.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_010BCB96.png" width="340" height="186" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;En la galería encontraremos la plantilla que acabamos de guardar. Lo que haremos es pulsar sobre la plantilla y guardarla en algún rincón de nuestro disco duro.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_7E8299D7.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_51F969F1.png" width="629" height="227" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Si no queremos (o no necesitamos) hacer ningún cambio sobre la plantilla antes de desplegarla simplemente iremos a la administración de Office365 y crearemos una nueva colección de sitios privada.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_3D277171.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_66BB3CA4.png" width="331" height="172" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;A la hora de seleccionar la plantilla escogeremos seleccionar una plantilla más adelante, dentro de la sección &lt;strong&gt;Personalizado&lt;/strong&gt; .&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_5D7F0163.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/davidmartos/image_5F00_thumb_5F00_6A0CAE7F.png" width="430" height="275" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;De esta manera, una vez finalizado el proceso de creación de sitio podremos ir a la galería de soluciones, añadir la solución que hemos creado previamente y activarla. Finalmente, cuando intentemos acceder al sitio por primera vez veremos que en la sección &lt;strong&gt;Personalizado&lt;/strong&gt; nos aparece la plantilla de sitio que creamos al inicio.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=202212" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/Office365/default.aspx">Office365</category></item><item><title>SharePoint 2010 y ALM (II)</title><link>http://geeks.ms/blogs/davidmartos/archive/2011/12/05/sharepoint-2010-y-alm-ii.aspx</link><pubDate>Mon, 05 Dec 2011 10:51:52 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:201998</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2011/12/05/sharepoint-2010-y-alm-ii.aspx#comments</comments><description>&lt;p&gt;Hace unas semanas &lt;a href="http://david-martos.blogspot.com/2011/10/sharepoint-2010-y-alm-es-posible.html"&gt;comencé&lt;/a&gt; una serie de artículos sobre ALM y SharePoint 2010. Después de haber realizado tres eventos presenciales al respecto y de haber recogido vuestro feedback en relación a los puntos que más os interesaban sigo con la lista de artículos que tenía prevista.&lt;/p&gt;  &lt;p&gt;Como os decía en la primera entrada introductoria, dos de los elementos fundamentales a tener en cuenta a la hora de plantearnos la gestión del ciclo de vida de nuestras aplicaciones son los procesos que llevaremos a cabo y las herramientas que utilizaremos para hacerlo. En este segundo artículo quiero reflexionar, precisamente, de las herramientas que nos pueden ayudar en el camino para mejorar la calidad de nuestros proyectos sobre SharePoint 2010.&lt;/p&gt;  &lt;p&gt;El primer nombre de nos tiene que venir a la cabeza cuando hablamos de ALM y de SharePoint 2010 es Team Foundation Server. Es un producto de Microsoft, al igual que SharePoint, y seguramente será el que mejor se integre con esta plataforma. Además es una suite completa que nos va a ayudar en todas las fases del desarrollo, desde la gestión inicial de los requerimientos a la gestión de las incidencias que aparezcan. Por otro lado, tenemos que tener en cuenta que es una herramienta con un coste elevado, que no quiere decir que sea un producto caro. Como siempre dependerá de si necesitamos o no todo lo que el producto nos ofrece y de si el producto cubre o no todas nuestras necesidades. Tened también en cuenta que cada criterio que escojamos para elegir una herramienta u otra tendrá una importancia determinada y una valoración relativa. Un ejemplo ilustrativo es el coste. No podemos centrarnos únicamente en lo que cuestan las licencias del software que vamos a utilizar, sino el tiempo que vamos a invertir en implementarla y lo que nos va a costar encontrar gente capacitada para hacerlo.&lt;/p&gt;  &lt;p&gt;En mi opinión, la herramienta que escojamos será lo de menos, siempre y cuando cumplamos el objetivo de gestionar adecuadamente el ciclo de vida de nuestras aplicaciones. No hay una verdad absoluta que indique que tienes que elegir una herramienta determinada cuando se cumplen ciertas condiciones. En nuestro caso particular, tuvimos en cuenta los conocimientos del equipo técnico de diferentes herramientas y al final decidimos no utilizar TFS por las siguientes razones:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Nuestro equipo técnico tenía más experiencia en otras herramientas&lt;/li&gt;    &lt;li&gt;El coste de la herramienta era demasiado elevado para asumirlo&lt;/li&gt;    &lt;li&gt;Necesitamos desarrollar aplicaciones para otros dispositivos como iPhone o Blackberry&lt;/li&gt;    &lt;li&gt;Necesitabamos tener todo montado en un corto espacio de tiempo&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;A partir de este momento hablaré, por lo tanto, de otras herramientas. En cualquier caso, en ningún momento desaconsejo el uso de TFS. Es más, si no conocéis otra alternativa que os satisfaga, siempre sería una opción recomendable. De hecho, si estáis interesados, os recomiento unos &lt;a href="http://www.sharepointnutsandbolts.com/search/label/Continuous%20Integration"&gt;artículos&lt;/a&gt; de Chris o&amp;#39;Brien que os darán muchas pistas sobre cómo comenzar (&lt;a href="http://www.sharepointnutsandbolts.com/search/label/Continuous%20Integration)"&gt;)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Dicho esto, y para daros algún nombre, antes de descartar TFS tuvimos que buscar alternativas que nos permitieran gestionar el ciclo de vida de nuestras aplicaciones. Según el area de actuación, escogimos estas herramientas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pruebas unitarias y de aceptación: NUnit y NCover&lt;/li&gt;    &lt;li&gt;Pruebas de aceptación: Cucumber y Capybara&lt;/li&gt;    &lt;li&gt;Build Server: Jenkins y MSBuild&lt;/li&gt;    &lt;li&gt;Gestión de requerimientos y de incidencias: Beezy&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Como tampoco pretendo escribir la biblia del ALM, sino incidir en aquellos puntos de dolor a la hora de trabajar con SharePoint 2010, los siguientes artículos los destinaré a cubrir aquellas áreas que más nos van a ayudar a mejorar la calidad de nuestros proyectos SharePoint. De aquí a final de año escribiré sobre los siguientes temas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pruebas unitarias&lt;/li&gt;    &lt;li&gt;Pruebas de aceptación&lt;/li&gt;    &lt;li&gt;Automatización del despliegue&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Si, además de estos tres puntos, estáis interesados en algo concreto sobre lo que habéis visto en las sesiones que he ido haciendo, no dudéis en ponerme un comentario y haré todo lo posible por escribir también algo al respecto.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201998" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/ALM/default.aspx">ALM</category></item><item><title>Ojo al modificar tu servicio WCF…</title><link>http://geeks.ms/blogs/davidmartos/archive/2011/11/30/ojo-al-modificar-tu-servicio-wcf.aspx</link><pubDate>Wed, 30 Nov 2011 12:27:13 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:201938</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2011/11/30/ojo-al-modificar-tu-servicio-wcf.aspx#comments</comments><description>&lt;p&gt;Hoy he pasado un mal rato intentando solucionar un problema que, al final, era más simple de lo que parecía. Resulta que para cambiar una pequeña funcionalidad tuve que añadir un parámetro a uno de los métodos de un servicio WCF. El cambio vendría ser de lo siguiente:&lt;/p&gt;  &lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;[OperationContract,&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;WebGet(UriTemplate = &lt;span style="color:#006080;"&gt;&amp;quot;/MyMethod?parameter1={parameter1}&amp;quot;&lt;/span&gt;,&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;       ResponseFormat = WebMessageFormat.Json)]&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; MyMethod(&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; parameter1);&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;A lo siguiente:&lt;/p&gt;

&lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;[OperationContract,&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;WebGet(UriTemplate = &lt;span style="color:#006080;"&gt;&amp;quot;/MyMethod?parameter1={parameter1}&amp;quot;&lt;/span&gt;,&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;       ResponseFormat = WebMessageFormat.Json)]&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; MyMethod(&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; parameter1, &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; parameter2);&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Bueno, pues que sepáis que hacer esto hacía que cualquier otro método de mi servicio dejara de funcionar con un error 401 (cortesía de SharePoint). Tras depurar el error vi que en realidad la causa de mi problema era que el método está declarado como GET y que en el UriTemplate no estaba especificando mi nuevo parámetro. Al final el método debería quedar así:&lt;/p&gt;

&lt;div style="border-bottom:silver 1px solid;text-align:left;border-left:silver 1px solid;padding-bottom:4px;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;padding-left:4px;width:97.5%;padding-right:4px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;border-top:silver 1px solid;cursor:text;border-right:silver 1px solid;padding-top:4px;" id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;[OperationContract,&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;WebGet(UriTemplate = &lt;span style="color:#006080;"&gt;&amp;quot;/MyMethod?parameter1={parameter1}&amp;amp;parameter2={parameter2}&amp;quot;&lt;/span&gt;,&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:white;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;       ResponseFormat = WebMessageFormat.Json)]&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;background-color:#f4f4f4;margin:0em;border-left-style:none;padding-left:0px;width:100%;padding-right:0px;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;border-top-style:none;color:black;border-right-style:none;font-size:8pt;overflow:visible;padding-top:0px;"&gt;&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; MyMethod(&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; parameter1, &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; parameter2);&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Sí, lo sé, es una chorrada de artículo y no sólo no aporto nada sino que os he hecho perder el tiempo a la mayoría, pero de alguna manera tenía que expulsar la mala leche que me ha entrado al descubrir el motivo de que mi sitio hubiera dejado de funcionar.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201938" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/wcf/default.aspx">wcf</category></item><item><title>[EVENTO] SharePoint 2010 y ALM ¿Es posible?</title><link>http://geeks.ms/blogs/davidmartos/archive/2011/11/28/evento-sharepoint-2010-y-alm-191-es-posible.aspx</link><pubDate>Mon, 28 Nov 2011 21:45:32 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:201913</guid><dc:creator>David Martos</dc:creator><slash:comments>0</slash:comments><comments>http://geeks.ms/blogs/davidmartos/archive/2011/11/28/evento-sharepoint-2010-y-alm-191-es-posible.aspx#comments</comments><description>&lt;p&gt;Antes de que lo digáis, no, no es un dejavú. Será el tercer evento relacionado con SharePoint 2010 y ALM en muy poco tiempo, pero es un tema que merece la pena y seguiré insistiendo tanto como pueda en su importancia. Después de haber hecho un evento presencial en Barcelona y otro presencial en Andorra, le ha llegado el momento a la gente del SUGES (Grupo de Usuarios de SharePoint de España) para aguantarme una hora y media hablando de conceptos tales como calidad de software, pruebas unitarias y de integración, tests de aceptación o integración contínua y, evidentemente, siempre desde el punto de vista del profesional del mundo del SharePoint.&lt;/p&gt;  &lt;p&gt;Sé que mezclar ambos mundos no es tarea sencilla, y sé que muchos de vosotros tendríais mucho que decir al respecto, tanto si trabajáis con SharePoint como si no, así que espero que se presente tanta gente como sea posible y me déis caña hasta en el carné de identidad.&lt;/p&gt;  &lt;p&gt;Decir también que dejé parada la serie de artículos que tengo preparada relacionados con esta temática, justamente esperando a estos tres eventos, con la intención de recoger vuestro feedback y, sobretodo, vuestras dudas. Os invito, por tanto, a que vengáis y me expongáis aquellas cuestiones que más despierten vuestro interés. Además de responder todas las dudas que me sea posible, prometo escribir tantos artículos específicos como sea necesario para resolver todas las cuestiones que se abran.&lt;/p&gt;  &lt;p&gt;Os dejo &lt;a href="http://geeks.ms/blogs/ciin/archive/2011/11/28/evento-alm-y-sharepoint-191-es-posible.aspx"&gt;aquí&lt;/a&gt; más información del evento así como los links de registro.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=201913" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/davidmartos/archive/tags/Eventos/default.aspx">Eventos</category></item></channel></rss>