<?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>Blog del CIIN</title><link>http://geeks.ms/blogs/ciin/default.aspx</link><description>Blog del Centro de Innovación en Integración de Cantabria</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>SharePoint 2010 y Azure: Integración con el Windows Azure Data Market (II)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/25/sharepoint-2010-y-azure-integraci-243-n-con-el-windows-azure-data-market-ii.aspx</link><pubDate>Fri, 25 May 2012 12:05:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205264</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205264</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/25/sharepoint-2010-y-azure-integraci-243-n-con-el-windows-azure-data-market-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Siguiendo con la serie de posts sobre &lt;a href="http://geeks.ms/blogs/ciin/archive/2012/05/24/sharepoint-2010-y-azure-integraci-243-n-con-el-windows-azure-data-market-i.aspx"&gt;como integrar Windows Azure Data Market y SharePoint 2010&lt;/a&gt;, en esta ocasi&amp;oacute;n vamos a ver como podemos realizar dicha integraci&amp;oacute;n a trav&amp;eacute;s de un Business Data Connectivity Model o simplemente un conector de BCS (Business Connectivity Services) que crearemos en Visual Studio 11 Beta (VS 11 Beta) y que luego desplegaremos en nuestro ambiente de SharePoint. Empecemos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Lo primero que tenemos que hacer como siempre es conocer la forma que tenemos de integrar la fuente de datos del Windows Azure Data Market. En mi caso, voy a trabajar con el set de datos 2006 &amp;ndash; 2008 Crime in the United States que se puede integrar de forma muy sencilla en nuestras aplicaciones sin m&amp;aacute;s que a&amp;ntilde;adir una referencia al correspondiente servicio que en este caso es: &lt;em&gt;&lt;a href="https://api.datamarket.azure.com/data.gov/Crimes/"&gt;https://api.datamarket.azure.com/data.gov/Crimes/&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Como siempre, antes de ponernos a&amp;nbsp; hacer nada podemos jugar con el set de datos directamente desde el Data Market.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;En VS 11 Beta creamos un proyecto de tipo SharePoint 2010 Project al que a&amp;ntilde;adimos un elemento de tipo Business Data Connectivity Model que pasaremos a parametrizar a continuaci&amp;oacute;n. Este modelo tendr&amp;aacute; una &amp;uacute;nica entidad, Crime, que nos permitir&amp;aacute; acceder a la informaci&amp;oacute;n de los cr&amp;iacute;menes que expone el servicio.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;table align="center" width="750" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image.png"&gt;&lt;img height="130" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_thumb.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_3.png"&gt;&lt;img height="130" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_thumb_3.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_4.png"&gt;&lt;img height="139" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_thumb_4.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;En lugar de trabajar con el dise&amp;ntilde;ador del Business Data Connectivity Model, vamos a agregar en primer lugar la l&amp;oacute;gica necesaria para acceder a los datos del servicio. Para ello, a&amp;ntilde;adimos en primer lugar una referencia al citado servicio en nuestro proyecto. Tendremos que a&amp;ntilde;adir adem&amp;aacute;s una referencia a System.Data.Services.Client.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;A partir de aqu&amp;iacute;, en el explorador de soluciones vamos a preparar las dos clases que se crean al a&amp;ntilde;adir el elemento de tipo Business Data Connectivity Model al proyecto: Entity1 y Entity1Service. La primera clase modela la entidad tipo que nos permite integrar los datos del servicio en SharePoint a trav&amp;eacute;s de una serie de propiedades. La segunda, contiene los m&amp;eacute;todos que permiten trabajar con entidades de tipo Entity1.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;En mi caso, he renombrado Entity1 a Crime y le he a&amp;ntilde;adido las siguientes propiedades que luego se mapear&amp;aacute;n a propiedades del set de datos expuestos por el servicio:&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;cursor:text;border:silver 1px solid;padding:4px;"&gt;
&lt;div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;
&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Crime&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;//TODO: Implement additional properties here. The property Message is just a sample how a property could look like.&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; ID { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; State { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; City { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; Year { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; Population { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; Burglary { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; LarcenyTheft { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; MotorVehicleTheft { get; set; }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;A continuaci&amp;oacute;n iremos por la clase Entity1Service que en este caso renombramos a CrimeService. En la misma a&amp;ntilde;adimos referencias a System.Net, System.Data.Services.Clien y al servicio de Windows Azure Data Market. &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;A&amp;ntilde;adimos a la clase un m&amp;eacute;todo que nos permita devolver un proxy al servicio. Como veis, simplemente se trata de devolver dicho proxy y adem&amp;aacute;s lidiar con no tener problemas de conexi&amp;oacute;n por SSL usando para ello ServicePointManager y confiando en certificados del Windows Azure Data Market. Este proxy nos permitir&amp;aacute; acceder a los datos del servicio.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;cursor:text;border:silver 1px solid;padding:4px;"&gt;
&lt;div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;
&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; datagovCrimesContainer GetProxy()&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     ServicePointManager.ServerCertificateValidationCallback =&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;         ((sender, certificate, chain, sslPolicyErrors) =&amp;gt; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;             certificate.Subject.Contains(&lt;span style="color:#006080;"&gt;&amp;quot;datamarket&amp;quot;&lt;/span&gt;));&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;     Uri serviceUri =&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Uri(&lt;span style="color:#006080;"&gt;&amp;quot;https://api.datamarket.azure.com/Data.ashx/data.gov/Crimes&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;     datagovCrimesContainer proxy =&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; datagovCrimesContainer(serviceUri);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;     proxy.Credentials =&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; NetworkCredential(&lt;span style="color:#006080;"&gt;&amp;quot;Yor Data Market Account&amp;quot;&lt;/span&gt;,&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;             &lt;span style="color:#006080;"&gt;&amp;quot;Your Data Market Key&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; proxy;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Esta clase al menos tiene que implementar dos m&amp;eacute;todos:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Uno de tipo &amp;ldquo;Specific finder&amp;rdquo; que devuelva una entidad de tipo Crime en base a un par&amp;aacute;metro como por ejemplo puede ser un identificador. En este caso, el m&amp;eacute;todo en cuesti&amp;oacute;n se ha renombrado a ReadCrime. C&amp;oacute;mo veis, a partir de un identificador y el proxy podemos acceder f&amp;aacute;cilmente a un registro expuesto por el servicio y devolverlo.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;cursor:text;border:silver 1px solid;padding:4px;"&gt;
&lt;div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;
&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; Crime ReadCrime(&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; id)&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     datagovCrimesContainer proxy = GetProxy();&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;     var results = from stat &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; proxy.CityCrime&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;                   &lt;span style="color:#0000ff;"&gt;where&lt;/span&gt; stat.ROWID == id&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;                   select stat;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;     Crime currentStat = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Crime();&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;     currentStat.ID = results.Single().ROWID;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;     currentStat.City = results.Single().City;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;     currentStat.State = results.Single().State;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;     currentStat.Year = results.Single().Year;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt;     currentStat.Population = results.Single().Population;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum16" style="color:#606060;"&gt;  16:&lt;/span&gt;     currentStat.Burglary = results.Single().Burglary;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum17" style="color:#606060;"&gt;  17:&lt;/span&gt;     currentStat.LarcenyTheft = results.Single().LarcenyTheft;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum18" style="color:#606060;"&gt;  18:&lt;/span&gt;     currentStat.MotorVehicleTheft = results.Single().MotorVehicleTheft;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum19" style="color:#606060;"&gt;  19:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum20" style="color:#606060;"&gt;  20:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; currentStat;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum21" style="color:#606060;"&gt;  21:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Uno de tipo &amp;ldquo;finder&amp;rdquo; que nos devuelva una colecci&amp;oacute;n de objetos de tipo Crime. En este caso se ha renombrado el m&amp;eacute;todo a ReadCrimes(). Como antes, a partir del proxy es sencillo obtener una colecci&amp;oacute;n de objetos CityCrime expuestos por el servicio que luego usaremos para devolver la colecci&amp;oacute;n de objetos de tipo Crime.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div id="codeSnippetWrapper" style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:20px 0px 10px;width:97.5%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;max-height:200px;font-size:8pt;overflow:auto;cursor:text;border:silver 1px solid;padding:4px;"&gt;
&lt;div id="codeSnippet" style="text-align:left;line-height:12pt;background-color:#f4f4f4;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;
&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum1" style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; IEnumerable&amp;lt;Crime&amp;gt; ReadCrimes()&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum2" style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum3" style="color:#606060;"&gt;   3:&lt;/span&gt;     List&amp;lt;Crime&amp;gt; queryResults = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; List&amp;lt;Crime&amp;gt;();&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum4" style="color:#606060;"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum5" style="color:#606060;"&gt;   5:&lt;/span&gt;     datagovCrimesContainer proxy = GetProxy();&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum6" style="color:#606060;"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum7" style="color:#606060;"&gt;   7:&lt;/span&gt;     IEnumerable&amp;lt;CityCrime&amp;gt; crimes = &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum8" style="color:#606060;"&gt;   8:&lt;/span&gt;         proxy.CityCrime.Where(c =&amp;gt; c.State ==&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum9" style="color:#606060;"&gt;   9:&lt;/span&gt;                &lt;span style="color:#006080;"&gt;&amp;quot;Washington&amp;quot;&lt;/span&gt; &amp;amp;&amp;amp; (c.Year == 2008 || c.Year == 2007));&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum10" style="color:#606060;"&gt;  10:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum11" style="color:#606060;"&gt;  11:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;//Procesando el set de datos devuelto&lt;/span&gt;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum12" style="color:#606060;"&gt;  12:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (var c &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; crimes)&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum13" style="color:#606060;"&gt;  13:&lt;/span&gt;     {&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum14" style="color:#606060;"&gt;  14:&lt;/span&gt;         Crime cr = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Crime();&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum15" style="color:#606060;"&gt;  15:&lt;/span&gt;         cr.ID = c.ROWID;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum16" style="color:#606060;"&gt;  16:&lt;/span&gt;         cr.City = c.City;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum17" style="color:#606060;"&gt;  17:&lt;/span&gt;         cr.State = c.State;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum18" style="color:#606060;"&gt;  18:&lt;/span&gt;         cr.Year = c.Year;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum19" style="color:#606060;"&gt;  19:&lt;/span&gt;         cr.Population = c.Population;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum20" style="color:#606060;"&gt;  20:&lt;/span&gt;         cr.Burglary = c.Burglary;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum21" style="color:#606060;"&gt;  21:&lt;/span&gt;         cr.LarcenyTheft = c.LarcenyTheft;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum22" style="color:#606060;"&gt;  22:&lt;/span&gt;         cr.MotorVehicleTheft = c.MotorVehicleTheft;&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum23" style="color:#606060;"&gt;  23:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum24" style="color:#606060;"&gt;  24:&lt;/span&gt;         queryResults.Add(cr);&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum25" style="color:#606060;"&gt;  25:&lt;/span&gt;     }&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum26" style="color:#606060;"&gt;  26:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:white;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum27" style="color:#606060;"&gt;  27:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; queryResults.ToList();&lt;/pre&gt;

&lt;pre style="text-align:left;line-height:12pt;background-color:#f4f4f4;margin:0em;width:100%;font-family:&amp;#39;Courier New&amp;#39;, courier, monospace;direction:ltr;color:black;font-size:8pt;overflow:visible;border-style:none;padding:0px;"&gt;&lt;span id="lnum28" style="color:#606060;"&gt;  28:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;A partir de aqu&amp;iacute;, de vuelta al explorador del modelo de BDC tenemos que configurar adecuadamente la entidad Crime para que se usen estos m&amp;eacute;todos y tenga los miembros correspondientes de acuerdo a la definici&amp;oacute;n de la clase. Este trabajo lo haremos en el dise&amp;ntilde;ador del modelo y el explorador.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;En el dise&amp;ntilde;ador configuraremos el nombre de la entidad y de los m&amp;eacute;todos expuestos. Mientras que en el explorador del modelo configuraremos adecuadamente los par&amp;aacute;metros de entrada y de salida de cada uno de estos m&amp;eacute;todos. &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Una vez creado el conector, simplemente lo desplegamos y en nuestro sitio de SharePoint creamos la correspondiente lista externa que mostrar&amp;aacute; los datos expuestos por el servicio.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;table align="center" width="750" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_5.png"&gt;&lt;img height="158" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_thumb_5.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_6.png"&gt;&lt;img height="244" width="123" src="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_thumb_6.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_7.png"&gt;&lt;img height="121" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_1495A/image_thumb_7.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Y hasta aqu&amp;iacute; llega este segundo post sobre la integraci&amp;oacute;n de SharePoint 2010 y el Windows Azure Data Market.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205264" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint 2010 y Azure: Integración con el Windows Azure Data Market (I)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/24/sharepoint-2010-y-azure-integraci-243-n-con-el-windows-azure-data-market-i.aspx</link><pubDate>Thu, 24 May 2012 15:46:32 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205247</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205247</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/24/sharepoint-2010-y-azure-integraci-243-n-con-el-windows-azure-data-market-i.aspx#comments</comments><description>&lt;p align="justify"&gt;Otro gran punto de integración entre SharePoint 2010 y Windows Azure es a través del Windows Azure Data Market de manera que podemos acceder a datos publicados utilizando artefactos de SharePoint como pueden ser WebParts o conectores de BCS. En este primer post os voy a mostrar como podemos usar Bing Translator, que ya está incluido en el Windows Azure Data Market, para poder realizar traducciones en una WebPart. Comencemos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;En primer lugar, necesitamos estar suscritos al Windows Azure Data Market y añadir a nuestras fuentes de datos Microsoft Translator.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Una vez agregada, podemos realizar alguna prueba de consulta y además tomar nota de ciertas Urls importantes de uso del servicio como:&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;Url raíz del servicio: &lt;a href="https://api.datamarket.azure.com/Bing/MicrosoftTranslator/"&gt;https://api.datamarket.azure.com/Bing/MicrosoftTranslator/&lt;/a&gt;&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;Url para una consulta: &lt;a href="https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/Translate?Text=%27perro%27&amp;amp;To=%27en%27&amp;amp;From=%27es%27&amp;amp;$top=100"&gt;https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/Translate?Text=%27perro%27&amp;amp;To=%27en%27&amp;amp;From=%27es%27&amp;amp;$top=100&lt;/a&gt;.&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A partir de aquí, en Visual Studio 11 Beta creamos un proyecto de tipo SharePoint 2010 Project al que le agramamos un&amp;#160; elemento de tipo Visual WebPart que configuramos para poder modelar la solución básica de traducción.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image_thumb.png" width="244" height="130" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image_3.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image_thumb_3.png" width="244" height="130" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image_4.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image_thumb_4.png" width="244" height="140" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p align="justify"&gt;Partimos del &lt;a&gt;ejemplo de uso de Microsoft Translator&lt;/a&gt; que pasa por descargarse &lt;a href="https://datamarket.azure.com/dataset/explore/getproxy/1899a118-d202-492c-aa16-ba21c33c06cb"&gt;el proxy C#&lt;/a&gt; disponible en la página de detalle de Microsoft Translator en el Data Market. A partir de aquí, ya estamos listos para codificar de acuerdo a los siguientes pasos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Agregar referencia a System.Data.Services.Client puesto que los datos del Data Market los consultaremos a través de servicios REST.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Añadir directivas using a System.Data.Services.Client, System.Net y el espacio de nombres del proxy que nos hemos bajado (Microsoft en este caso).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Especificar la cuenta y clave de uso del Azure Data Market.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Evitar el infame error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel, date una vuelta por este enlace para saber de que &lt;a href="http://stackoverflow.com/questions/703272/could-not-establish-trust-relationship-for-ssl-tls-secure-channel-soap"&gt;estamos hablando&lt;/a&gt;. Como veis, en mi caso y dado que esto son pruebas uso SharePointManager para saltarme problemas de certificados y dar por válidos los certificados usados por el Azurre Data Market. Si quieres específicamente confiar únicamente en los certificados del Windows Azure Data Market, basta con cambiar que se confía en todos los certificados (valor true) por certificate.Subject.Contains(&amp;quot;datamarket&amp;quot;).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Creamos una instancia del objeto TranslatorContainer definido en el proxy y que nos permite realizar la consulta de traducción.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Especificamos la url del servicio de Microsoft Translator y las credenciales de acceso al Windows Azure Data Market.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A partir de aquí especificamos que queremos traducir, el idioma de destino y el de origen…realizamos la traducción y procesamos los resultados.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&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;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;try&lt;/span&gt;&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:#606060;" id="lnum2"&gt;   2:&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;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.txtTranslation.Text = &lt;span style="color:#006080;"&gt;&amp;quot;&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:#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:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// tUri del Servicio &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;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;     Uri uServiceRootUri =&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:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;                    &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Uri(&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;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;                        &lt;span style="color:#006080;"&gt;&amp;quot;https://api.datamarket.azure.com/Bing/MicrosoftTranslator/&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:#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:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;//  Claves de acceso&lt;/span&gt;&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:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sAccountUser = &lt;span style="color:#006080;"&gt;&amp;quot;TuCuenta&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;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; sAccountKey = &lt;span style="color:#006080;"&gt;&amp;quot;TuClave&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:#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:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// Objeto Translator Container&lt;/span&gt;&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:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;     ServicePointManager.ServerCertificateValidationCallback =&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;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;         ((MySender, certificate, chain, sslPolicyErrors) =&amp;gt; &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;); &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:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;     TranslatorContainer tc = &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;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; TranslatorContainer(uServiceRootUri);&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:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// Credenciales de acceso &lt;/span&gt;&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:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;     tc.Credentials = &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;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; NetworkCredential(sAccountUser,sAccountKey); &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:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;//*****************************************&lt;/span&gt;&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:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;//A traducir&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;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;//*****************************************&lt;/span&gt;&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:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// Generamos la consulta &lt;/span&gt;&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:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;     var translationQuery = &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;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt;         tc.Translate(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.txtWordToTranslate.Text,&lt;span style="color:#006080;"&gt;&amp;quot;en&amp;quot;&lt;/span&gt;,&lt;span style="color:#006080;"&gt;&amp;quot;es&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:#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:#606060;" id="lnum30"&gt;  30:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum31"&gt;  31:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// Ejecutamos la consulta&lt;/span&gt;&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:#606060;" id="lnum32"&gt;  32:&lt;/span&gt;     var translationResults = translationQuery.Execute();&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;&lt;span style="color:#606060;" id="lnum33"&gt;  33:&lt;/span&gt;&amp;#160; &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:#606060;" id="lnum34"&gt;  34:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// Procesamos los resultados&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;&lt;span style="color:#606060;" id="lnum35"&gt;  35:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (translationResults!=&lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)&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:#606060;" id="lnum36"&gt;  36:&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;&lt;span style="color:#606060;" id="lnum37"&gt;  37:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (var item &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; translationResults)&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:#606060;" id="lnum38"&gt;  38:&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;&lt;span style="color:#606060;" id="lnum39"&gt;  39:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.txtTranslation.Text += item.Text;&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:#606060;" id="lnum40"&gt;  40:&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;&lt;span style="color:#606060;" id="lnum41"&gt;  41:&lt;/span&gt;     }                &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:#606060;" id="lnum42"&gt;  42:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum43"&gt;  43:&lt;/span&gt; }&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:#606060;" id="lnum44"&gt;  44:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;catch&lt;/span&gt; (Exception ex)&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;&lt;span style="color:#606060;" id="lnum45"&gt;  45:&lt;/span&gt; {&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:#606060;" id="lnum46"&gt;  46:&lt;/span&gt;&amp;#160; &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;&lt;span style="color:#606060;" id="lnum47"&gt;  47:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.lblError.Text = &lt;span style="color:#006080;"&gt;&amp;quot;Error: &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:#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:#606060;" id="lnum48"&gt;  48:&lt;/span&gt;         ex.Message;&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;&lt;span style="color:#606060;" id="lnum49"&gt;  49:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Y finalmente la prueba del algodón:&lt;/p&gt;

&lt;p align="center"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image_5.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-Azure-Integracin-con-e_10313/image_thumb_5.png" width="244" height="66" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Otros posts sobre la integración de SharePoint y Azure:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/09/13/sharepoint-2010-amp-azure-integraci-243-n-de-servicios-mediante-bcs-ii.aspx"&gt;SharePoint 2010 &amp;amp; Azure: Integración de servicios mediante BCS (II)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/08/25/sharepoint-2010-amp-azure-integraci-243-n-de-servicios-mediante-bcs-i.aspx"&gt;SharePoint 2010 &amp;amp; Azure: Integración de servicios mediante BCS (I)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/06/13/sharepoint-2010-amp-office-365-integraci-243-n-con-windows-azure-v-237-a-jquery-i.aspx"&gt;SharePoint 2010 &amp;amp; Office 365: Integración con Windows Azure vía jQuery (I)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/06/07/sharepoint-amp-azure-alternativas-de-integraci-243-n-iv.aspx"&gt;SharePoint &amp;amp; Azure: Alternativas de integración (IV)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/05/29/sharepoint-amp-azure-alternativas-de-integraci-243-n-iii.aspx"&gt;SharePoint &amp;amp; Azure: Alternativas de integración (III)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/05/21/sharepoint-amp-azure-alternativas-de-integraci-243-n-ii.aspx"&gt;SharePoint &amp;amp; Azure: Alternativas de integración (II)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/05/10/sharepoint-amp-azure-alternativas-de-integraci-243-n-i.aspx"&gt;SharePoint &amp;amp; Azure: Alternativas de integración (I)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/02/28/sharepoint-2010-ejemplos-de-integraci-243-n-con-windows-azure-i.aspx"&gt;SharePoint 2010: Ejemplos de integración con Windows Azure (I)!&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205247" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/Windows+Azure/default.aspx">Windows Azure</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint 2010: Tipos de campo soportados como “Projected Fields” al relacionar listas!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/23/sharepoint-2010-tipos-de-campo-soportados-como-projected-fields-al-relacionar-listas.aspx</link><pubDate>Wed, 23 May 2012 21:22:05 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205195</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205195</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/23/sharepoint-2010-tipos-de-campo-soportados-como-projected-fields-al-relacionar-listas.aspx#comments</comments><description>&lt;p align="justify"&gt;Cómo sabéis, en SharePoint 2010 (como en la versión predecesora) es posible relacionar dos listas a través de columnas de tipo búsqueda (Lookup). La novedad que incorporó SharePoint 2010 es que además de relacionar dos listas mediante un campo de búsqueda definido en la lista padre que apunte a una columna de la lista hija, podemos traer columnas adicionales de la lista hija a través de la &lt;a href="http://msdn.microsoft.com/en-us/library/ee535502.aspx"&gt;característica de campos proyectados&lt;/a&gt;. Ahora bien, hay que tener en cuenta que no todos los campos definidos en la lista hija pueden ser campos proyectados…en concreto, los siguientes tipo de campos se soportan como proyectados al relacionar dos listas y por ende se pueden usar en consultas CAML definidas a las dos listas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Calculated (treated as plain text). &lt;/li&gt;    &lt;li&gt;ContentTypeId. &lt;/li&gt;    &lt;li&gt;Counter. &lt;/li&gt;    &lt;li&gt;Currency. &lt;/li&gt;    &lt;li&gt;DateTime. &lt;/li&gt;    &lt;li&gt;Guid. &lt;/li&gt;    &lt;li&gt;Integer. &lt;/li&gt;    &lt;li&gt;Note (one-line only). &lt;/li&gt;    &lt;li&gt;Number. &lt;/li&gt;    &lt;li&gt;Text. &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Por último, os recomiendo que reviséis la sección de la &lt;a href="http://msdn.microsoft.com/en-us/library/ff921345"&gt;SharePoint Guidance&lt;/a&gt; en la que se tratan estos temas y en los que se resumen de forma muy esquematizada:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Como relacionar dos listas mediante campos de lookup.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Como se define un campo de lookup en SharePoint 2010.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="677" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="374"&gt;&lt;img title="Ff798514.84ceee0b-1351-487a-a0b6-e10050bb1998(en-us,PandP.10).png" alt="Ff798514.84ceee0b-1351-487a-a0b6-e10050bb1998(en-us,PandP.10).png" src="http://i.msdn.microsoft.com/dynimg/IC423567.png" width="240" height="83" /&gt;&lt;/td&gt;          &lt;td valign="top" width="301"&gt;&lt;img title="Ff798514.ae9fd5b2-ccab-481f-84e2-56d0efeac718(en-us,PandP.10).png" alt="Ff798514.ae9fd5b2-ccab-481f-84e2-56d0efeac718(en-us,PandP.10).png" src="http://i.msdn.microsoft.com/dynimg/IC416779.png" width="240" height="171" /&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;Referencias:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff798514.aspx"&gt;List Relationships in SharePoint 2010&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee539975.aspx"&gt;List Joins and Projections&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205195" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint Online: Microsoft incrementa “y bastante” el número de usuarios externos que se pueden invitar!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/23/sharepoint-online-microsoft-incrementa-y-bastante-el-n-250-mero-de-usuarios-externos-que-se-pueden-invitar.aspx</link><pubDate>Wed, 23 May 2012 08:24:42 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205187</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205187</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/23/sharepoint-online-microsoft-incrementa-y-bastante-el-n-250-mero-de-usuarios-externos-que-se-pueden-invitar.aspx#comments</comments><description>&lt;p align="justify"&gt;SharePoint Online (SPO) en Office 365 permite modelar escenarios Extranet en los que puedan colaborar usuarios externos a partir de la característica de “Invitar a usuarios externos” disponible tanto para planes P como para planes E. Hasta ahora esta característica tenía unas limitaciones que Microsoft ha decidido mejorar ya que:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;En planes P sólo se podía invitar hasta 50 usuarios externos, y si necesitabas invitar a más usuarios externos no te quedaba otra que cambiar a un plan de tipo E.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;En planes E, se incluía en el precio la invitación a 50 usuarios externos y si necesitabas más podías adquirir paquetes adicionales de invitaciones a 50 usuarios externos.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Por suerte, y como se comenta en &lt;a href="http://thecloudmouth.com/2012/05/23/microsoft-increases-partner-access-licenses-for-sharepoint-online/"&gt;este enlace&lt;/a&gt;, estos límites se han extendido ampliamente de manera que en planes P se pueden invitar hasta a 500 usuarios externos y en planes E ya no hay límite…simplemente genial.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Microsoft-incrementa-y_92D0/image.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.ciin.es/imagenes/SharePoint-Online-Microsoft-incrementa-y_92D0/image_thumb.png" width="644" height="476" /&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=205187" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/Office+365/default.aspx">Office 365</category></item><item><title>SharePoint 2010: Cómo crear un flujo re-utilizable de forma global!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/22/sharepoint-2010-c-243-mo-crear-un-flujo-re-utilizable-de-forma-global.aspx</link><pubDate>Tue, 22 May 2012 09:30:39 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205161</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205161</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/22/sharepoint-2010-c-243-mo-crear-un-flujo-re-utilizable-de-forma-global.aspx#comments</comments><description>&lt;p align="justify"&gt;Como sabéis, con SharePoint 2010 contamos con la posibilidad de crear flujos de trabajo re-utilizables en SharePoint Designer 2010 (SPD 2010), es decir, flujos que no están “atados” a una lista concreta o incluso a un tipo de contenido concreto de manera que el flujo puede ser re-utilizado en todo el sitio vinculándolo a cualquier lista o tipo de contenido del mismo. Una pregunta que puede surgir es si es posible re-utilizar este flujo en otros sitios, la respuesta es que inicialmente no, pero podemos configurarlo para que sea globalmente re-utilizable:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Abrimos un sitio cualquiera con SPD 2010 y nos vamos a la sección de flujos de trabajo. Pulsamos la opción de la Ribbon que nos permite crear un flujo de trabajo re-utilizable.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;En la pantalla inicial de definición del flujo, especificamos un nombre y descripción para el mismo. En principio, no lo vinculamos a un tipo de contenido concreto.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;En el diseñador de flujos, modelamos un sencillo flujo de trabajo.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image_thumb.png" width="244" height="79" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image_3.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image_thumb_3.png" width="244" height="170" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image_4.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image_thumb_4.png" width="244" height="127" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Guardamos el flujo y para publicarlo de forma global, no tenemos más que usar la opción correspondiente de la Ribbon (“Publish Globally”), de manera que se muestra un mensaje informativo indicando que el flujo se publicará en el catálogo de flujos globales de nuestro despliegue de SharePoint de manera que podremos utilizarlo en otros sitios.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Comprobamos que efectivamente el flujo aparece en otro sitio.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="677" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="374"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image12.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://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image12_thumb.png" width="244" height="103" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="301"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image_5.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://www.ciin.es/imagenes/SharePoint-2010-Cmo-crear-un-flujo-re-ut_7FF7/image_thumb_5.png" width="244" height="80" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205161" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint 2010 &amp; SharePoint Online: Como automatizar el despliegue de una aplicación de Access Services (II)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/21/sharepoint-2010-amp-sharepoint-online-como-automatizar-el-despliegue-de-una-aplicaci-243-n-de-access-services-ii.aspx</link><pubDate>Mon, 21 May 2012 06:34:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205142</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205142</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/21/sharepoint-2010-amp-sharepoint-online-como-automatizar-el-despliegue-de-una-aplicaci-243-n-de-access-services-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Siguiendo con la serie de posts sobre &lt;a href="http://geeks.ms/blogs/ciin/archive/2012/05/18/sharepoint-2010-amp-sharepoint-online-como-automatizar-el-despliegue-de-una-aplicaci-243-n-de-access-services-i.aspx"&gt;como automatizar el despliegue de una aplicaci&amp;oacute;n Access Services en SharePoint OnPremise u Online (SPO),&lt;/a&gt; en esta ocasi&amp;oacute;n vamos a empatar el resultado del partido y casi a ganarlo ya que una vez que os muestre el camino alternativo de publicaci&amp;oacute;n, es muy f&amp;aacute;cil pensar en como mediante el modelo de objetos automatizar al m&amp;aacute;ximo el despliegue de una aplicaci&amp;oacute;n de Access Services. Empecemos pues.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Lo primero que tenemos que hacer es crear una aplicaci&amp;oacute;n Access 2010 Web o bien partir de una existente.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;En mi caso, he creado una nueva aplicaci&amp;oacute;n usando como base la plantilla Charitable Contributions.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Una vez que hemos realizado todas las personalizaciones e implementaciones de nuestra aplicaci&amp;oacute;n Access Web, empieza la &amp;ldquo;fiesta&amp;rdquo; para la publicaci&amp;oacute;n alternativa de la misma en los servicios de Access. Lo que tenemos que hacer es guardar la aplicaci&amp;oacute;n como plantilla de tipo &amp;ldquo;Database template&amp;rdquo; (ACCDT) a trav&amp;eacute;s de la opci&amp;oacute;n &amp;ldquo;Save &amp;amp; Publish&amp;rdquo;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;table align="center" width="750" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image.png"&gt;&lt;img height="125" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_3.png"&gt;&lt;img height="124" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_3.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_4.png"&gt;&lt;img height="104" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_4.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;De esta forma se abre una ventana en la que especificaremos los datos de la plantilla ACCDT a generar.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Una vez especificados estos datos, pulsamos &amp;ldquo;OK&amp;rdquo; y nos quedamos con la ruta d&amp;oacute;nde se guarda la plantilla.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Nos vamos a un sitio de SharePoint OnPremise o SPO y cargamos la plantilla en la galer&amp;iacute;a de soluciones. Activamos la plantilla.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;table align="center" width="750" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_5.png"&gt;&lt;img height="244" width="175" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_5.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_6.png"&gt;&lt;img height="45" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_6.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_7.png"&gt;&lt;img height="97" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_7.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Una vez activada, nos vamos a Acciones del sitio &amp;ndash;&amp;gt; Crear y buscamos nuestra plantilla (cuidado con el idioma). Configuramos los par&amp;aacute;metros de creaci&amp;oacute;n del nuevo sitio y pulsamos &amp;ldquo;Crear&amp;rdquo;.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;En mi caso, la prueba la he hecho en SPO y el proceso a finalizado con un error no especificado, pero creando el nuevo sitio por lo que deduzco que se ha debido dar alg&amp;uacute;n Time Out en el proceso de creaci&amp;oacute;n&amp;hellip;pero el resultado es qu&amp;eacute; la aplicaci&amp;oacute;n se crea, por lo que JC empata el partido.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Por supuesto, la aplicaci&amp;oacute;n est&amp;aacute; completamente operativa.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;table align="center" width="750" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_8.png"&gt;&lt;img height="154" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_8.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_9.png"&gt;&lt;img height="113" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_9.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_10.png"&gt;&lt;img height="122" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010--SharePoint-Online-Como-_8BD0/image_thumb_10.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Referencia:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.slideshare.net/patenik2/access-services-in-sharepoint-2010-all-you-need-to-know" title="http://www.slideshare.net/patenik2/access-services-in-sharepoint-2010-all-you-need-to-know"&gt;http://www.slideshare.net/patenik2/access-services-in-sharepoint-2010-all-you-need-to-know&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205142" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/Office+365/default.aspx">Office 365</category></item><item><title>SharePoint Online: Cómo registrar un manejador de eventos contra una lista personalizada (II)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/20/sharepoint-online-c-243-mo-registrar-un-manejador-de-eventos-contra-una-lista-personalizada-ii.aspx</link><pubDate>Sun, 20 May 2012 16:21:04 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205135</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205135</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/20/sharepoint-online-c-243-mo-registrar-un-manejador-de-eventos-contra-una-lista-personalizada-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Siguiendo con la serie de posts sobre como registrar un manejador de eventos contra una lista personalizada de SharePoint Online (SPO), en esta ocasión toca ver la aproximación programática a través del modelo de objetos de SharePoint:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Una vez creado el manejador en VS 11 Beta, tenemos que averiguar la información del ensamblado correspondiente ya que la necesitaremos para registrar el manejador a la lista mediante el modelo de objetos. Para obtener esta información, simplemente usamos la utilidad Strong Name de VS 11 Beta que nos la vuelca en la ventana de salida.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A continuación, para registrar el manejador de eventos en la lista mediante el modelo de objetos tenemos que recurrir a un Feature Event Receiver…y es aquí dónde nos esperan las malas noticias: no es posible registrar el manejador de eventos mediante el modelo de objetos cuando se trata de una solución de tipo Sandbox…básicamente el método Add() que necesitamos para añadir el manejador a la colección de manejadores de la lista en cuestión no está disponible.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="677" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="374"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Cmo-registrar-un-manej_F0DF/image.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://www.ciin.es/imagenes/SharePoint-Online-Cmo-registrar-un-manej_F0DF/image_thumb.png" width="244" height="141" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="301"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Cmo-registrar-un-manej_F0DF/image_3.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://www.ciin.es/imagenes/SharePoint-Online-Cmo-registrar-un-manej_F0DF/image_thumb_3.png" width="244" height="153" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p&gt;&lt;strong&gt;Referencias:&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ff407249.aspx" href="http://msdn.microsoft.com/en-us/library/ff407249.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff407249.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceiverdefinition.aspx" href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceiverdefinition.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceiverdefinition.aspx&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205135" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/Office+365/default.aspx">Office 365</category></item><item><title>WebCast: Estaré hablando sobre SharePoint Foundation para la comunidad IT Pro!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/19/webcast-estar-233-hablando-sobre-sharepoint-foundation-para-la-comunidad-it-pro.aspx</link><pubDate>Sat, 19 May 2012 18:10:22 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205134</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205134</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/19/webcast-estar-233-hablando-sobre-sharepoint-foundation-para-la-comunidad-it-pro.aspx#comments</comments><description>&lt;p align="justify"&gt;Pues eso, el próximo 21 de junio y gracias a la invitación de la &lt;a href="http://blogs.itpro.es/"&gt;comunidad IT Pro de España&lt;/a&gt; estaré hablando sobre SharePoint Foundation a nivel de posibilidades y de arquitectura de la plataforma. Los detalles completos del WebCast los podéis encontrar &lt;a href="http://blogs.itpro.es/eventos/2012/05/18/webcast-sharepoint-foundation-2010-la-piedra-angular-para-la-colaboracin-comunicacin-y-gestin-de-una-organizacin/"&gt;en este enlace&lt;/a&gt;. Podéis inscribiros al WebCast a través de &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032514076&amp;amp;Culture=es-ES"&gt;este otro enlace&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ciin.es/imagenes/0023b245ffab_BF19/20120621-Banner-Sharepoint-Fundation.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="20120621 Banner Sharepoint Fundation" border="0" alt="20120621 Banner Sharepoint Fundation" src="http://www.ciin.es/imagenes/0023b245ffab_BF19/20120621-Banner-Sharepoint-Fundation_thumb.png" width="642" height="287" /&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=205134" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/Eventos/default.aspx">Eventos</category></item><item><title>SharePoint Online: Cómo registrar un manejador de eventos contra una lista personalizada (I)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/18/sharepoint-online-c-243-mo-registrar-un-manejador-de-eventos-contra-una-lista-personalizada-i.aspx</link><pubDate>Fri, 18 May 2012 18:43:53 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205123</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205123</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/18/sharepoint-online-c-243-mo-registrar-un-manejador-de-eventos-contra-una-lista-personalizada-i.aspx#comments</comments><description>&lt;p align="justify"&gt;A raíz de una cuestión relativa a manejadores de eventos en SharePoint Online (SPO), me he encontrado con la sorpresa de qué cuando creas un manejador para una lista de tipo personalizada este no se registra por defecto y por lo tanto no funciona. El manejador en sí se despliega de forma correcta a través de la correspondiente solución Sandbox, pero a la hora de verlo en acción nada de nada…ante este comportamiento, cabían dos posibles respuestas:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;En primer lugar, no es posible registrar de forma declarativa un manejador de eventos para una lista personalizada de SPO…lo cuál me extrañaba.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;En segundo lugar, este registro igual sólo se puede hacer de forma programática con un manejador de característica por ejemplo.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Ante estas dudas, tocaba hacer las correspondientes pruebas…la primera ver si el registro declarativo nos deja alguna opción para agregar un manejador a una lista personalizada y la respuesta es qué sí…el truco pasa por usar el atributo ListUrl en lugar del ListTemplateId de forma que nos aseguremos que el manejador se registra y además lo hace para una lista concreta…y efectivamente, así es:&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;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#800000;"&gt;xml&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;version&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt;?&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Elements&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;   &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Receivers&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;ListUrl&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Lists/SPCustomList&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;       &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Receiver&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;CustomListERItemAdding&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;ItemAdding&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Type&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;$SharePoint.Project.AssemblyFullName$&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Assembly&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Class&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;SPOERPOC.CustomListER.CustomListER&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Class&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;SequenceNumber&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;10000&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;SequenceNumber&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;       &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Receiver&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;   &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Receivers&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum12"&gt;  12:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Elements&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p align="justify"&gt;La segunda aproximación, pero ya en otro post, pasa por realizar el registro de forma programática en la lista en cuestión. Finalmente, os dejo otros posts relacionados con este tema:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/06/20/sharepoint-2010-como-registrar-un-manejador-de-eventos.aspx"&gt;SharePoint 2010: Como registrar un manejador de eventos!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/03/11/sharepoint-2010-c-243-mo-registrar-un-manejador-de-eventos-en-una-250-nica-lista-ii.aspx"&gt;SharePoint 2010: Cómo registrar un manejador de eventos en una única lista (II)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/03/10/sharepoint-2010-c-243-mo-registrar-un-manejador-de-eventos-en-una-250-nica-lista-i.aspx"&gt;SharePoint 2010: Cómo registrar un manejador de eventos en una única lista (I)!&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205123" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/Office+365/default.aspx">Office 365</category></item><item><title>SharePoint 2010 &amp; SharePoint Online: Como automatizar el despliegue de una aplicación de Access Services (I)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/18/sharepoint-2010-amp-sharepoint-online-como-automatizar-el-despliegue-de-una-aplicaci-243-n-de-access-services-i.aspx</link><pubDate>Fri, 18 May 2012 07:25:42 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205097</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205097</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/18/sharepoint-2010-amp-sharepoint-online-como-automatizar-el-despliegue-de-una-aplicaci-243-n-de-access-services-i.aspx#comments</comments><description>&lt;p align="justify"&gt;Pues esta es la cuestión que se me vino a la cabeza cuando pensé en Access 2010 y los servicios de Access como una buena solución para crear aplicaciones sencillas con un look &amp;amp; feel atractivo y la funcionalidad deseada, todo sobre SharePoint pero sin parecerlo. Lo primero que me vino a la cabeza de cara a automatizar el despliegue de una aplicación Access 2010 desplegada en SharePoint fue la de aprovechar que dado un sitio de SharePoint, es posible guardarlo como plantilla de manera que se genera el correspondiente .wsp que contiene un Web Template:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Navegamos hasta la aplicación en cuestión (en el ejemplo, la aplicación de gestión de campañas que forma parte de la demo de Fabrikan para SharePoint Online).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Nos vamos a la configuración del sitio y a la opción de guardar el sitio como plantilla. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A continuación simplemente especificamos el nombre del archivo .wsp a generar y de la plantilla (Nota: No os olvidéis de marcar el check de incluir contenido).&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb.png" width="244" height="117" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_3.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb_3.png" width="244" height="87" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_4.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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb_4.png" width="244" height="97" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Si todo va bien, el proceso de guardado concluirá con éxito y podremos ir a la galería de soluciones de la colección de sitios para descargarnos el .wsp generado.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Nos lo descargamos y lo cargamos en una galería de soluciones de otra colección de sitios. Por supuesto, activamos la solución.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Procedemos a crear un nuevo sitio en base a esta plantilla que aparece entre las plantillas de sitio disponibles.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_5.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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb_5.png" width="244" height="132" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_6.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb_6.png" width="244" height="126" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_7.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb_7.png" width="244" height="154" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Y aquí empiezan los problemas…primer petardazo indicando que alguna característica que está incluida en la definición no está activa…la identifico y la activo, pero sigue dando errores por lo que desisto de intentar crear el sitio (la solución pasaría por importar el WSP en Visual Studio 2010 y hacer limpieza de aquellas características que se han incluido en la definición y que no son necesarias).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Pero no todo está perdido, lo que hago para probar si es posible desplegar la aplicación con un .wsp es crearme una aplicación Access Web en Access 2010 y la publico esta vez en una colección de sitios cuyo sitio raíz se ha creado con la plantilla Blank Site. En este caso, al usar la plantilla generada para crear un nuevo sitio ya no hay errores, pero el sitio generado es completamente inútil….y esto fue porque olvide marcar el check de incluir contenido al guardar el sitio como plantilla.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Repito los pasos, pero generando la plantilla de sitio de forma que se incluya el contenido. Al crear el sitio en base a la plantilla parece que este empiza a mostrarse de forma correcta hasta que da el infame error que aparece en la última captura de pantalla y que no se soluciona&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb_8.png" width="244" height="155" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image_thumb_9.png" width="244" height="73" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image24.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://www.ciin.es/imagenes/SharePoint-2010-Como-automatizar-el-desp_CA81/image24_thumb.png" width="244" height="91" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;p align="justify"&gt;Por lo tanto, Servicios de Access 1 – JC 0, veremos si soy capaz de averiguar que hace por debajo el proceso de publicación desde Access 2010 para ver si es posible realizar la automatización que os comentaba…pero esto ya os lo contaré (si es que es posible) en otro post.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205097" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint Online: Como publicar un calendario privado en mi sitio público!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/17/sharepoint-online-como-publicar-un-calendario-privado-en-mi-sitio-p-250-blico.aspx</link><pubDate>Thu, 17 May 2012 06:25:02 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205065</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205065</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/17/sharepoint-online-como-publicar-un-calendario-privado-en-mi-sitio-p-250-blico.aspx#comments</comments><description>&lt;p align="justify"&gt;Hace un tiempo publicada como dado un sitio público de SharePoint Online (SPO) en Office 365, &lt;a href="http://geeks.ms/blogs/ciin/archive/2012/03/19/sharepoint-online-como-permitir-que-usuarios-an-243-nimos-escriban-en-una-lista-que-requiere-autenticaci-243-n.aspx"&gt;podemos habilitar el acceso anónimo en listas que requieran autenticación&lt;/a&gt; sin más que crear un manejador de eventos que realizase todo el trabajo de permitir que estos usuarios anónimos pudiesen trabajar en estas listas de la misma forma que un usuario con los privilegios adecuado. Lo qué me lleva al título de este artículo y la consiguiente pregunta: ¿se puede publicar un calendario privado de SPO en un sitio público de &lt;a href="http://www.builditon365.com/Pages/EmbedCalendarO365Website.aspx"&gt;forma similar a lo que se puede hacer con calendarios de Exchange&lt;/a&gt;? La respuesta es qué depende de en qué nivel esté ese calendario:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Si es un calendario creado bajo el sitio público, entonces podemos usar la aproximación comentada de habilitar el acceso a usuarios anónimo vía rotura de permisos ya que tenemos acceso anónimo a nivel de colección de sitios.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Si es un calendario creado bajo un sitio privado, no podremos usar esta aproximación ya que aunque podemos romper permisos, domina la configuración de la colección de sitios raíz que en este caso no tiene habilitado el acceso anónimo.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-publicar-un-calen_8D53/image.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://www.ciin.es/imagenes/SharePoint-Online-Como-publicar-un-calen_8D53/image_thumb.png" width="244" height="177" /&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=205065" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/Office+365/default.aspx">Office 365</category></item><item><title>SharePoint 2010: Opciones para migrar carpetas públicas de Exchange (I)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/16/sharepoint-2010-opciones-para-migrar-carpetas-p-250-blicas-de-exchange-i.aspx</link><pubDate>Wed, 16 May 2012 10:45:07 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205050</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205050</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/16/sharepoint-2010-opciones-para-migrar-carpetas-p-250-blicas-de-exchange-i.aspx#comments</comments><description>&lt;p align="justify"&gt;Desde que SharePoint 2007 vio la luz, todo el mundo decía que además de todas sus bondades y capacidades, venía a sustituir las carpetas públicas de Exchange que por entonces, y también ahora, se siguen usando de forma intensiva para almacenar información de una organización. El caso es que, con SharePoint 2010 a punto de dar la señal de salida a una nueva versión de producto, resulta que las carpetas públicas de Exchange se siguen usando y mucho por lo que cuando se habla de sustituirlas por SharePoint aparece en escena una palabra que hace que te entren sudores fríos: “migración”. A la vista de esto, la pregunta es: ¿Qué posibilidades tengo para migrar carpetas públicas de Exchange a SharePoint 2010?&lt;/p&gt;  &lt;p&gt;Aproximación manual:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://amradmin.wordpress.com/2010/11/18/45/" href="http://amradmin.wordpress.com/2010/11/18/45/"&gt;http://amradmin.wordpress.com/2010/11/18/45/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.messageops.com/manually-migrating-public-folder-content-to-sharepoint-online" href="http://www.messageops.com/manually-migrating-public-folder-content-to-sharepoint-online"&gt;http://www.messageops.com/manually-migrating-public-folder-content-to-sharepoint-online&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Aproximación mediante desarrollo que implicaría necesariamente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Crear una aplicación a nivel de Exchange o de Outlook que a través del modelo de objetos en cliente o los servicios web de SharePoint permitiese realizar el volcado de los contenidos de las carpetas públicas en bibliotecas y listas de SharePoint.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Herramientas de terceros:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;AvePoint (DocAve Public Folder Migrator):      &lt;ul&gt;       &lt;li&gt;&lt;a title="http://eu.avepoint.com/exchange-public-folder-to-sharepoint-migration-docave/?gclid=CJ-v2LCTgrACFY5pfAodCxWgDw" href="http://eu.avepoint.com/exchange-public-folder-to-sharepoint-migration-docave/?gclid=CJ-v2LCTgrACFY5pfAodCxWgDw"&gt;http://eu.avepoint.com/exchange-public-folder-to-sharepoint-migration-docave/?gclid=CJ-v2LCTgrACFY5pfAodCxWgDw&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;MetaVis:      &lt;ul&gt;       &lt;li&gt;&lt;a title="http://www.metavistech.com/" href="http://www.metavistech.com/"&gt;http://www.metavistech.com/&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a title="http://www.metavistech.com/solutions/public-folders-migration" href="http://www.metavistech.com/solutions/public-folders-migration"&gt;http://www.metavistech.com/solutions/public-folders-migration&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Quest:      &lt;ul&gt;       &lt;li&gt;&lt;a title="http://www.quest.com/public-folder-migrator-for-sharepoint/" href="http://www.quest.com/public-folder-migrator-for-sharepoint/"&gt;http://www.quest.com/public-folder-migrator-for-sharepoint/&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=NoLLZy5aJCY"&gt;Demo de uso del migrador de Quest&lt;/a&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Metalogix:      &lt;ul&gt;       &lt;li&gt;&lt;a title="http://www.metalogix.com/Products/Migration-Manager-for-SharePoint/Public-Folder-Edition.aspx" href="http://www.metalogix.com/Products/Migration-Manager-for-SharePoint/Public-Folder-Edition.aspx"&gt;http://www.metalogix.com/Products/Migration-Manager-for-SharePoint/Public-Folder-Edition.aspx&lt;/a&gt;&amp;#160; &lt;/li&gt;        &lt;li&gt;&lt;a title="http://www.cmswire.com/cms/information-management/metalogix-release-migrates-exchange-public-folders-to-sharepoint-014267.php" href="http://www.cmswire.com/cms/information-management/metalogix-release-migrates-exchange-public-folders-to-sharepoint-014267.php"&gt;http://www.cmswire.com/cms/information-management/metalogix-release-migrates-exchange-public-folders-to-sharepoint-014267.php&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a title="Migrating Exchange Public Folders to SharePoint with Metalogix" href="http://www.google.es/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;frm=1&amp;amp;source=web&amp;amp;cd=19&amp;amp;ved=0CKcBEBYwCDgK&amp;amp;url=http%3A%2F%2Fwww.metalogix.com%2FLibraries%2FProduct_Collateral%2FMigrating_Exchange_Public_Folders_to_SharePoint_with_Metalogix_Migration_Manager_for_Exchange_Public_Folders.sflb.ashx&amp;amp;ei=PFqyT7HjJtK78gOh4fXNDw&amp;amp;usg=AFQjCNG-1RU39Ni76qMuNccNkLkla2JQmQ&amp;amp;sig2=Wk_0nsEOoevs6-sY0f2JkA"&gt;Migrating Exchange Public Folders to SharePoint with Metalogix&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Si nos vamos a la opción de usar herramientas de terceros, aparte de hacer pruebas con sus versiones trial, sería recomendable que dispusiese de capacidades como:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Soporte para migraciones en masa de carpetas públicas.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Soporte para migraciones de archivos .PST.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Permita mapear elementos de las carpetas públicas a elementos propios de SharePoint:&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Migraciones granulares, posibilitando la migración a nivel de elemento.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Posibilidad de mapeo de metadatos, es decir, recoger metadatos de los elementos en carpetas públicas y mapearlos con metadatos de tipos de contenido.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;Migración no intrusiva, es decir, que el número de componentes o elementos a introducir en el entorno de SharePoint sea el mínimo imprescindible. &lt;/li&gt;    &lt;li&gt;… &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Otros recursos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=337" href="http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=337"&gt;http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=337&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://www.slideshare.net/hawaiianmetal/integrating-sharepoint-with-exchange" href="http://www.slideshare.net/hawaiianmetal/integrating-sharepoint-with-exchange"&gt;http://www.slideshare.net/hawaiianmetal/integrating-sharepoint-with-exchange&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205050" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint 2010 y SSRS 2012: Trabajo con suscripciones y alertas (III)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/15/sharepoint-2010-y-ssrs-2012-trabajo-con-suscripciones-y-alertas-iii.aspx</link><pubDate>Tue, 15 May 2012 06:32:00 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205033</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205033</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/15/sharepoint-2010-y-ssrs-2012-trabajo-con-suscripciones-y-alertas-iii.aspx#comments</comments><description>&lt;p align="justify"&gt;Siguiendo con la serie de posts sobre trabajo con suscripciones y alertas cuando tenemos una integraci&amp;oacute;n entre SharePoint 2010 y SSRS 2012, en esta ocasi&amp;oacute;n vamos a ver como configurar alertas personalizadas para un informe de manera que cuando haya un cambio en los datos del mismo nos llegue el correspondiente aviso. Pero antes, os recuerdo los art&amp;iacute;culos previos de la serie:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2012/02/18/sharepoint-2010-y-ssrs-2012-trabajo-con-suscripciones-y-alertas-i.aspx"&gt;SharePoint 2010 y SSRS 2012: Trabajo con suscripciones y alertas (I)!&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2012/05/13/sharepoint-2010-y-ssrs-2012-trabajo-con-suscripciones-y-alertas-ii.aspx"&gt;SharePoint 2010 y SSRS 2012: Trabajo con suscripciones y alertas (II)!&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;Para carear una alerta que se dispare ante cambio de datos de un cierto informe:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;En el visor de informe, pulsamos sobre Actions &amp;ndash;&amp;gt; New Data Alert. &lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;De esta forma, se muestra una ventana que es una aplicaci&amp;oacute;n Silverlight que nos permite configurar las alertas.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Para configurar una alerta, tenemos que seleccionar una regi&amp;oacute;n de datos v&amp;aacute;lida del informe y a continuaci&amp;oacute;n definir la condici&amp;oacute;n de generaci&amp;oacute;n de la misma. Por ejemplo, que la informaci&amp;oacute;n de una cierta caja de texto tenga un valor superior a un cierto valor fijo. A continuaci&amp;oacute;n configuramos la frecuencia de envio de la alerta, la direcci&amp;oacute;n de env&amp;iacute;o de la alerta, el asunto y una descripci&amp;oacute;n para la alerta.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;table align="center" width="750" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image.png"&gt;&lt;img height="117" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_thumb.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_3.png"&gt;&lt;img height="188" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_thumb_3.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_4.png"&gt;&lt;img height="187" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_thumb_4.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Para visualizar las alertas de un cierto informe, nos vamos a la biblioteca d&amp;oacute;nde est&amp;aacute; almacenado y a trav&amp;eacute;s del men&amp;uacute; contextual pulsamos sobre la opci&amp;oacute;n de administraci&amp;oacute;n de alertas del informe.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;A continuaci&amp;oacute;n se mostrar&amp;aacute;n el listado de alertas disponibles para dicho informe.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div align="center"&gt;
&lt;table align="center" width="750" cellpadding="2" cellspacing="0" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_5.png"&gt;&lt;img height="130" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_thumb_5.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_6.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width="250" valign="top"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_6.png"&gt;&lt;img height="44" width="244" src="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_thumb_6.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_C531/image_7.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205033" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SQL+Server+Reporting+Services/default.aspx">SQL Server Reporting Services</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint 2010: Actualización de características (III)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/14/sharepoint-2010-actualizaci-243-n-de-caracter-237-sticas-iii.aspx</link><pubDate>Mon, 14 May 2012 15:56:12 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:205016</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=205016</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/14/sharepoint-2010-actualizaci-243-n-de-caracter-237-sticas-iii.aspx#comments</comments><description>&lt;p align="justify"&gt;Como ya se ha comentado en artículos previos, SharePoint 2010 introduce un nuevo tipo de evento que permite realizar cierto trabajo cuando estamos actualizando una característica. Se trata el FeatureUpgrading que nos permite actualizar una característica existente vía código. Por ejemplo, imaginemos que estamos desplegando una nueva versión de una WebPart que recoge los datos introducidos por el usuario y los almacena en una lista, pero que esa lista necesita de ciertas modificaciones a través del modelo de objetos…pues bien, las podríamos realizar a través de sobrescribir el&amp;#160; manejador FeatureUpgrading de la Feature tal y como se detalle en la correspondiente &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfeaturereceiver.featureupgrading.aspx"&gt;sección de MSDN.&lt;/a&gt; Además, esa actualización podremos realizarla ante ciertas especificaciones que podremos configurar en la definición de la feature mediante la acción de una sección UpgradeActions en la que podremos especificar &amp;lt;CustomUpgradeActions&amp;gt; y párametros dentro de las mismas que serán las que marquen como realizar las actualizaciones:&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;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &amp;lt;UpgradeActions&amp;gt;&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:#606060;" id="lnum2"&gt;   2:&lt;/span&gt;   &amp;lt;CustomUpgradeAction Name=&lt;span style="color:#006080;"&gt;&amp;quot;MiCustmUpgradeAction&amp;quot;&lt;/span&gt;&amp;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;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     &amp;lt;Parameters&amp;gt;&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:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;         &amp;lt;Parameter Name=&lt;span style="color:#006080;"&gt;&amp;quot;Parameter1&amp;quot;&lt;/span&gt;&amp;gt;True&amp;lt;/Parameter&amp;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;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;         &amp;lt;Parameter Name=&lt;span style="color:#006080;"&gt;&amp;quot;Parameter2&amp;quot;&lt;/span&gt;&amp;gt;False&amp;lt;/Parameter&amp;gt;&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:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;     &amp;lt;/Parameters&amp;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;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;   &amp;lt;/CustomUpgradeAction&amp;gt;&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:#606060;" id="lnum8"&gt;   8:&lt;/span&gt; &amp;lt;/UpgradeActions&amp;gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p align="justify"&gt;En este otro artículo de MSDN tenéis un &lt;a href="http://msdn.microsoft.com/en-us/library/ee538968%28office.14%29.aspx"&gt;How-To más completo sobre FeatureUpgrading&lt;/a&gt;. Finalmente os dejo la referencia a los artículos previos publicados sobre este tema:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/03/28/sharepoint-2010-actualizaci-243-n-de-caracter-237-sticas-i.aspx"&gt;SharePoint 2010: Actualización de características (I)!&lt;/a&gt;&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/11/12/sharepoint-2010-actualizaci-243-n-de-caracter-237-sticas-ii.aspx"&gt;SharePoint 2010: Actualización de características (II)!&lt;/a&gt;&lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=205016" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>Evento: Soluciones de Microsoft SharePoint, Infraestructura, Flujo de trabajo &amp; Governance!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/13/evento-soluciones-de-microsoft-sharepoint-infraestructura-flujo-de-trabajo-amp-governance.aspx</link><pubDate>Sun, 13 May 2012 17:53:11 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204999</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=204999</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/13/evento-soluciones-de-microsoft-sharepoint-infraestructura-flujo-de-trabajo-amp-governance.aspx#comments</comments><description>&lt;p align="justify"&gt;El próximo 6 de junio tendré la oportunidad de participar de la mano de AvePoint, Microsoft y otros partners relevantes del mundo de SharePoint en un evento que tendrá lugar en Madrid y que se enmarca dentro de una gira que se realizará a nivel europeo pasando por varias ciudades. Junto con el amigo Mario Cortes impartiremos la sesión titulada &lt;strong&gt;SharePoint 2010: La plataforma clave para la toma de decisiones empresariales&lt;/strong&gt;. Y la agenda prevista es la siguiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;9:00: Registro y Café&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;9:30: Introducción Oscar Mozo Rivera ,Microsoft Ibérica.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;10:00: SharePoint 2010: La plataforma clave para la toma de decisiones empresariales (Juan Carlos González &amp;amp; Mario Cortés). &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;10:30: Entender los factores claves para gestionar efectivamente su plataforma de SharePoint (Roberto Vázquez Delgado,AvePoint).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;11:00: Pausa de café. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;11:30: Captura y reconocimiento en SharePoint (Miguel Blanc &amp;amp; Gianina Ciccimarra, ABBYY).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;11:50: Automatización de Procesos en SharePoint. Igor Jericevich, K2.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;12:45: Planificando Microsoft® SharePoint® Governance: Factores determinantes para implementar un efectivo plan de Governance en SharePoint (Roberto Vázquez Delgado, AvePoint).&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;13:15: Almuerzo &amp;amp; Networking.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Esperamos verte por el evento cuya inscripción puedes realizar en &lt;a href="http://eu.avepoint.com/sharepoint-solutions-roadshow/?elq=0fb253a542574c6c95da46f9b7089300&amp;amp;elqCampaignId="&gt;este enlace&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://www.ciin.es/imagenes/Evento-SOLUCIONES-DE-MICROSOFT-SHAREPOIN_790C/image.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.ciin.es/imagenes/Evento-SOLUCIONES-DE-MICROSOFT-SHAREPOIN_790C/image_thumb.png" width="235" height="244" /&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=204999" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint 2010 y SSRS 2012: Trabajo con suscripciones y alertas (II)</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/13/sharepoint-2010-y-ssrs-2012-trabajo-con-suscripciones-y-alertas-ii.aspx</link><pubDate>Sun, 13 May 2012 11:29:38 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204996</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=204996</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/13/sharepoint-2010-y-ssrs-2012-trabajo-con-suscripciones-y-alertas-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Siguiendo con la serie de posts sobre &lt;a href="http://geeks.ms/blogs/ciin/archive/2012/02/18/sharepoint-2010-y-ssrs-2012-trabajo-con-suscripciones-y-alertas-i.aspx"&gt;como trabajar con alertas y suscripciones cuando tenemos una integración de SharePoint 2010 y SSRS 2012&lt;/a&gt;, en esta ocasión vamos a crear de forma efectiva una suscripción:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Lo primero que tenemos que hacer es configurar el informe para el que queremos crear una suscripción para que utilice una cuenta de ejecución almacenada en BD. Accedemos a la lista de informes y editamos el informe en cuestión con Report Builder 3.0.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Dentro de Report Builder 3.0, editamos la fuente de datos utilizada y la configuramos para que use un login de SQL Server en lugar de autenticación Windows. Guardamos los cambios en el informe.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;De vuelta al informe ejecutándose en un sitio de SharePoint, para crear una suscripción o una alerta no tenemos más que pulsar &lt;strong&gt;&lt;em&gt;Actions –&amp;gt; Subscribe&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb.png" width="244" height="129" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_3.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb_3.png" width="244" height="192" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_4.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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb_4.png" width="244" height="115" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;En la página que se muestra a continuación podremos crear la suscripción. Lo primero que tenemos que elegir es el tipo de entrega del informe que se genere en la suscripción. Como vemos, tenemos cuatro tipos de entrega: Windows File Share, E-Mail, SharePoint Document Library y Null Delivery Provider.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;En este caso, elegimos E-Mail como tipo de entrega y configuramos los parámetros para que el informe que se genere en un cierto formato sea entregado en un buzón de correo. Cómo veis, tenemos bastantes parámetros con los que jugar: dirección a la que enviar el informe generado, el asunto, el formato de entrega, etc.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Lo siguiente que tenemos que hacer es configurar cuando entregar el informe generado de acuerdo a una cierta programación. &lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_5.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb_5.png" width="173" height="83" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_6.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb_6.png" width="244" height="185" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_7.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb_7.png" width="244" height="138" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Si todo se ha configurado de forma correcta, veremos la nueva suscripción añadida en el listado de suscripciones.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Y comprobaremos que el informe se recibe de forma correcta en el buzón de correo electrónico especificado.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="677" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="374"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb_8.png" width="244" height="46" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="301"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-2010-y-SSRS-2010-Trabajo-con-_AAEE/image_thumb_9.png" width="244" height="83" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204996" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SQL+Server+Reporting+Services/default.aspx">SQL Server Reporting Services</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category></item><item><title>SharePoint 2010: ¿Se pueden crear subsites a partir de un Web Template?</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/12/sharepoint-2010-191-se-pueden-crear-subsites-a-partir-de-un-web-template.aspx</link><pubDate>Sat, 12 May 2012 07:56:21 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204984</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=204984</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/12/sharepoint-2010-191-se-pueden-crear-subsites-a-partir-de-un-web-template.aspx#comments</comments><description>&lt;p align="justify"&gt;Este tema salió el otro día en una conversación que tuve con el &lt;a href="http://geeks.ms/blogs/mcortes/"&gt;amigo Mario&lt;/a&gt; y mi respuesta fue que casi seguro que no aunque con algún que otro “truco” se podría conseguir como por ejemplo con un &lt;a href="http://msdn.microsoft.com/en-us/library/ms412285.aspx"&gt;Feature Event Receiver&lt;/a&gt; como se explica en &lt;a href="http://sharepoint.stackexchange.com/questions/24313/define-subsites-in-webtemplate"&gt;este enlace&lt;/a&gt; o con una aplicación de consola usando el modelo de objetos completo de SharePoint si podemos ejecutarla en el servidor o el modelo de objetos en cliente si esto no es posible. También tenemos que tener cuidado con la naturaleza de la solución en el caso del Feature Event Receiver ya que si se trata de una solución de tipo Sandbox y tenemos que crear subsitios “muy pesados” podemos incurrir en timeouts. Finalmente os dejo algunas referencias a tener en cuenta cuando trabajemos con Web Templates:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Posibilidades para realizar el aprovisionamiento de sitios:      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2010/11/28/sharepoint-2010-posibilidades-para-realizar-el-aprovisionamiento-de-sitios.aspx"&gt;SharePoint 2010: Posibilidades para realizar el aprovisionamiento de sitios!&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Web Templates vs Site Definitions:      &lt;ul&gt;       &lt;li&gt;&lt;a title="http://sharepointchick.com/archive/0001/01/01/site-definitions-vs.-webtemplates.aspx" href="http://sharepointchick.com/archive/0001/01/01/site-definitions-vs.-webtemplates.aspx"&gt;http://sharepointchick.com/archive/0001/01/01/site-definitions-vs.-webtemplates.aspx&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms434313.aspx" href="http://msdn.microsoft.com/en-us/library/ms434313.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms434313.aspx&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Esquema Web Template: &lt;a title="http://msdn.microsoft.com/en-us/library/ff408392.aspx" href="http://msdn.microsoft.com/en-us/library/ff408392.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff408392.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Esquema de ONET.xml: &lt;a title="http://msdn.microsoft.com/en-us/library/ms474369.aspx" href="http://msdn.microsoft.com/en-us/library/ms474369.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms474369.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-2010-Se-pueden-crear-subsites_F538/SharePoint2010_thumb.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="SharePoint2010_thumb" border="0" alt="SharePoint2010_thumb" src="http://www.ciin.es/imagenes/SharePoint-2010-Se-pueden-crear-subsites_F538/SharePoint2010_thumb_thumb.png" width="244" height="220" /&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=204984" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SharePoint Online: Como crear una Custom action para crear un documento en línea (II)!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/11/sharepoint-online-como-crear-una-custom-action-para-crear-un-documento-en-l-237-nea-ii.aspx</link><pubDate>Fri, 11 May 2012 12:16:49 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204965</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=204965</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/11/sharepoint-online-como-crear-una-custom-action-para-crear-un-documento-en-l-237-nea-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Siguiendo con la serie de &lt;a href="http://geeks.ms/blogs/ciin/archive/2012/05/09/sharepoint-online-como-crear-una-custom-action-para-crear-un-documento-en-l-237-nea-i.aspx"&gt;posts sobre como crear una Custom action para crear un documento en línea&lt;/a&gt; usando las Office Web Applications en SharePoint Online (SPO), en esta ocasión vamos a ver la aproximación de como crearla por medio de Visual Studio 11 Beta (VS 11 Beta). Para ello:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;En VS 11 Beta creamos un proyecto de tipo SharePoint 2010 Project.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Especificamos la Url de un sitio local de SharePoint 2010 y elegimos como tipo de despliegue “Deploy asa sandboxed solution”.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Añadimos al proyecto un elemento de tipo “Module”.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div align="center"&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb.png" width="244" height="150" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_3.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb_3.png" width="244" height="193" /&gt;&lt;/a&gt;&lt;/td&gt;          &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_4.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb_4.png" width="244" height="150" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;Este elemento de tipo “Module” es el que usaremos para provisionar la imagen asociada a la custom action a desplegar. &lt;/li&gt; &lt;/ul&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;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#800000;"&gt;xml&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;version&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt;?&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Elements&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;   &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Module&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Name&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;SPOCustomActionResources&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;   &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;File&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Path&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;SPOCustomActionResources\WordImage.png&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;Url&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;SPOCustomActionResources/WordImage.png&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/&amp;gt;&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;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Module&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Elements&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;Añadimos al proyecto un elemento de tipo “Empty element” que usaremos para configurar la custom action a añadir.&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;La estructura de nuestra solución debería quedar como se muestra en el explorador de soluciones.&lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;div align="center"&gt;
  &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;
      &lt;tr&gt;
        &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_5.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb_5.png" width="244" height="150" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td valign="top" width="250"&gt;&amp;#160;&lt;/td&gt;

        &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_6.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb_6.png" width="244" height="226" /&gt;&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;Especificamos la definición de la custom action de acuerdo al XML que se muestra a continuación. En el mismo tened en cuenta:&lt;/div&gt;

    &lt;ul&gt;
      &lt;li&gt;
        &lt;div align="justify"&gt;El Id de la custom action que tiene que ser único y podéis generar con la utilidad de crear Guids de VS 11 Beta.&lt;/div&gt;
      &lt;/li&gt;

      &lt;li&gt;
        &lt;div align="justify"&gt;El tipo de lista en el que vamos a registrar la custom action viene dado por el RegistrationId, siendo en este caso su valor 101 (biblioteca de documentos).&lt;/div&gt;
      &lt;/li&gt;

      &lt;li&gt;
        &lt;div align="justify"&gt;La definición de la custom action en sí, especificando su localización en la sección “New” de la cinta.&lt;/div&gt;
      &lt;/li&gt;

      &lt;li&gt;
        &lt;div align="justify"&gt;La imagen 32x32 a usar (la que será provisionada con el módulo).&lt;/div&gt;
      &lt;/li&gt;

      &lt;li&gt;
        &lt;div align="justify"&gt;Y la definición del comando. En este caso navegar a la Url de creación del documento en línea. Aquí tened cuidado con los carácteres especiales ya que VS 11 Beta se quejará si no los definís bien. Por ejemplo, si usáis &amp;amp; en la Url, tendréis que cambiarla por su código HTML (&amp;amp;amp;).&lt;/div&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&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;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#800000;"&gt;xml&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;version&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;encoding&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;utf-8&amp;quot;&lt;/span&gt;?&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Elements&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;http://schemas.microsoft.com/sharepoint/&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;CustomAction&lt;/span&gt;&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:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;       &lt;span style="color:#ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;55D6571F-7B1B-4639-AC0A-B2D3EC116415&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;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;       &lt;span style="color:#ff0000;"&gt;RegistrationType&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;List&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:#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:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;       &lt;span style="color:#ff0000;"&gt;RegistrationId&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;101&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;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;       &lt;span style="color:#ff0000;"&gt;Location&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;CommandUI.Ribbon&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIExtension&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIDefinitions&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIDefinition&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;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;                   &lt;span style="color:#ff0000;"&gt;Location&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Ribbon.Documents.New.Controls._children&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum12"&gt;  12:&lt;/span&gt;                     &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;Button&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;&lt;span style="color:#606060;" id="lnum13"&gt;  13:&lt;/span&gt;                       &lt;span style="color:#ff0000;"&gt;Id&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;CreateWord&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:#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:#606060;" id="lnum14"&gt;  14:&lt;/span&gt;                       &lt;span style="color:#ff0000;"&gt;Sequence&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;1981&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;&lt;span style="color:#606060;" id="lnum15"&gt;  15:&lt;/span&gt;                       &lt;span style="color:#ff0000;"&gt;Command&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;CraeteWord&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:#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:#606060;" id="lnum16"&gt;  16:&lt;/span&gt;                       &lt;span style="color:#ff0000;"&gt;Image32by32&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;~site/SPOCustomActionResources/WordImage.png&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;&lt;span style="color:#606060;" id="lnum17"&gt;  17:&lt;/span&gt;                       &lt;span style="color:#ff0000;"&gt;LabelText&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;Crear Word&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:#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:#606060;" id="lnum18"&gt;  18:&lt;/span&gt;                       &lt;span style="color:#ff0000;"&gt;TemplateAlias&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;o1&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;/&amp;gt;&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;&lt;span style="color:#606060;" id="lnum19"&gt;  19:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIDefinition&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum20"&gt;  20:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIDefinitions&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum21"&gt;  21:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIHandlers&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;                &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:#606060;" id="lnum22"&gt;  22:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIHandler&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;&lt;span style="color:#606060;" id="lnum23"&gt;  23:&lt;/span&gt;                   &lt;span style="color:#ff0000;"&gt;Command&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;CraeteWord&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:#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:#606060;" id="lnum24"&gt;  24:&lt;/span&gt;                   &lt;span style="color:#ff0000;"&gt;CommandAction&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;=&amp;quot;https://miccantabria.sharepoint.com/sites/DesSPO/_layouts/CreateNewDocument.aspx?id=https://miccantabria.sharepoint.com/sites/DesSPO/template.dotx&amp;amp;amp;SaveLocation=https://miccantabria.sharepoint.com/sites/DesSPO/Documentos%20compartidos&amp;amp;amp;Source=%20https://miccantabria.sharepoint.com/sites/DesSPO/Documentos%20compartidos/Forms/AllItems.aspx&amp;amp;amp;DefaultItemOpen=1;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum25"&gt;  25:&lt;/span&gt;                 &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIHandler&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum26"&gt;  26:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIHandlers&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum27"&gt;  27:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;CommandUIExtension&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&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:#606060;" id="lnum28"&gt;  28:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;CustomAction&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&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;&lt;span style="color:#606060;" id="lnum29"&gt;  29:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;Elements&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;div align="justify"&gt;Una vez configurada la custom action, la publicamos en nuestro sitio de SPO mediante la opción “Publish”.&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;En la ventana que se abre especificamos la Url del sitio de SPO.&lt;/div&gt;
  &lt;/li&gt;

  &lt;li&gt;
    &lt;div align="justify"&gt;Tras activar la solución Sandbox y la correspondiente característica, comprobamos que la nueva custom action aparece en la cinta de opciones y que está plenamente operativa.&lt;/div&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;div align="center"&gt;
  &lt;table border="0" cellspacing="0" cellpadding="2" width="750" align="center"&gt;&lt;tbody&gt;
      &lt;tr&gt;
        &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_7.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb_7.png" width="244" height="141" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_8.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb_8.png" width="244" height="149" /&gt;&lt;/a&gt;&lt;/td&gt;

        &lt;td valign="top" width="250"&gt;&lt;a href="http://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_9.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin: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://www.ciin.es/imagenes/SharePoint-Online-Como-crear-una-Custom-_AF4D/image_thumb_9.png" width="244" height="103" /&gt;&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Referencias:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2010/01/12/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-i.aspx"&gt;SharePoint 2010: Añadiendo acciones personalizadas en la interfaz de usuario (I)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2010/01/14/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-ii.aspx"&gt;SharePoint 2010: Añadiendo acciones personalizadas en la interfaz de usuario (II)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2010/02/25/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-iii.aspx"&gt;SharePoint 2010: Añadiendo acciones personalizadas en la interfaz de usuario (III)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2010/06/24/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-iv.aspx"&gt;SharePoint 2010- Añadiendo acciones personalizadas en la interfaz de usuario (IV)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2010/08/23/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-v.aspx"&gt;SharePoint 2010: Añadiendo acciones personalizadas en la interfaz de usuario (V)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2010/11/21/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-vi.aspx"&gt;SharePoint 2010: Añadiendo acciones personalizadas en la interfaz de usuario (VI)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/02/18/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-vii.aspx"&gt;SharePoint 2010: Añadiendo acciones personalizadas en la interfaz de usuario (VII)!&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://geeks.ms/blogs/ciin/archive/2011/12/30/sharepoint-2010-a-241-adiendo-acciones-personalizadas-en-la-interfaz-de-usuario-viii.aspx"&gt;SharePoint 2010: Añadiendo acciones personalizadas en la interfaz de usuario (VIII)!&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204965" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Online/default.aspx">SharePoint Online</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/Office+365/default.aspx">Office 365</category></item><item><title>SharePoint 2010: Licenciamiento de las Office Web Apps!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/10/sharepoint-2010-licenciamiento-de-las-office-web-apps.aspx</link><pubDate>Thu, 10 May 2012 15:41:38 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204955</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=204955</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/10/sharepoint-2010-licenciamiento-de-las-office-web-apps.aspx#comments</comments><description>&lt;p align="justify"&gt;Hace unos meses, y ante una pregunta recurrente en los foros de SharePoint, os comentaba &lt;a href="http://geeks.ms/blogs/ciin/archive/2011/11/13/sharepoint-2010-191-de-d-243-nde-me-descargo-las-office-web-apps.aspx"&gt;de dónde podíamos descargar las Office Web Apps&lt;/a&gt; y alguna cuestión relativa a licenciamiento de las mismas pero sin entrar en el detalle que nos aporta Reza Alirezaei en &lt;a href="http://blogs.devhorizon.com/reza/2012/05/09/office-web-app-licensing/"&gt;este artículo de su blog&lt;/a&gt; que tenemos que tomar como referencia para tener claro como es el modelo de licenciamiento de las Office Web Apps…la tabla resumen de Reza lo dice todo:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.ciin.es/imagenes/84488407d633_798F/image.png"&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;padding-top:0px;" title="image" border="0" alt="image" src="http://www.ciin.es/imagenes/84488407d633_798F/image_thumb.png" width="628" height="484" /&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=204955" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item><item><title>SUGES: Materiales sobre el evento de firma electrónica en SharePoint!</title><link>http://geeks.ms/blogs/ciin/archive/2012/05/09/suges-materiales-sobre-el-evento-de-firma-electr-243-nica-en-sharepoint.aspx</link><pubDate>Wed, 09 May 2012 21:16:53 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:204951</guid><dc:creator>Juan Carlos González Martín</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/ciin/rsscomments.aspx?PostID=204951</wfw:commentRss><comments>http://geeks.ms/blogs/ciin/archive/2012/05/09/suges-materiales-sobre-el-evento-de-firma-electr-243-nica-en-sharepoint.aspx#comments</comments><description>&lt;p align="justify"&gt;“Casi” están disponibles los materiales del WebCast sobre firma electrónica en SharePoint en la web de SUGES (en &lt;a href="http://www.suges.es/Presentaciones/Forms/AllItems.aspx?RootFolder=%2fPresentaciones%2f20120509%5fFirmaDigital&amp;amp;FolderCTID=&amp;amp;View=%7b5F98155E%2d216C%2d493D%2d8BAF%2dA4DC31A20E5A%7d"&gt;este enlace&lt;/a&gt;, donde junto con la presentación he subido material adicional aportado por Mina Software) y digo “casi”, porque por un problema técnico, la ley de Murphy o lo que sea resulta que el WebCast no se grabó correctamente (si no recuerdo mal, en los 4 años de vida de SUGES es la 2ª o 3ª vez que nos sucede esto con una grabación…la tasa es baja en comparación con el número de WebCasts, pero aún así da rabia cuando se trata de temas tan interesantes)…pero no todo está perdido, porque por un lado estoy hablando con la gente de Mina Software para ver como podemos remediar el problemilla y poder disponer de documentación extra sobre su producto de firma y por otro, he intentado recoger en este post buena parte de las preguntas que se realizaron durante el WebCast que por otro lado tuvo muy buena acogida entre los asistentes…aprovecho para agradecer tanto a los ponentes de Mina Software (principalmente David y Alejandro) el excelente WebCast que realizaron y a los asistentes el interés mostrado en la solución.&lt;/p&gt;  &lt;p align="justify"&gt;Entonces, volviendo al tema de minimizar daños os recuerdo que en el número 11 de CompartiMOSS tenemos un artículo sobre firma digital elaborado por la gente de Mina Software en la que se resumen las características de su producto de firma. Además, en la propia &lt;a href="http://www.minasoftware.com/"&gt;página de Mina Software&lt;/a&gt; podréis encontrar información relativa al mismo:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a title="Descargar CompartiMOSS Número 11 - Marzo 2012 (Alta resolución, 4,2 MB)" href="http://www.gavd.net/servers/compartimoss/compartimoss_main.aspx?iss=11&amp;amp;type=maga"&gt;Descargar CompartiMOSS Número 11 - Marzo 2012 (Alta resolución, 4,2 MB)&lt;/a&gt;.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://www.minasoftware.com/?page_id=90"&gt;Página de producto SealSign&lt;/a&gt;.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Al final de las demostraciones hubo una sección de Q &amp;amp; A en la que surgieron cuestiones como:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Cómo es el modelo de licenciamiento de SealSign: &lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;Se licencia por servidor y por usuario (CALs).&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Qué versiones e SharePoint están soportadas: &lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;SharePoint 2007 (WSS 3.0 y MOSS).&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;SharePoint 2010 (Foundation y Server).&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;En el roadmap de producto está el llevar SealSign a Office 365.&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Qué elementos forman parte de la solución (sin entrar en detalle):&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;Una serie de características que incluyen elementos como tipos de contenido específicos para firmar, bibliotecas, acciones de la Ribbon, WebParts de portafirma.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;Páginas de configuración de la forma de firmado del documento o del formulario de lista.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;El motor de firma que se integra con SharePoint vía la correspondiente aplicación de servicio.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;Actividades de workflow para la firma mediante flujo de trabajo.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;…&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;¿Qué tipos de firma?&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;Firma en servidor (se usan los certificados asignados por el motor de firma a la cuenta de usuario) vs firma en cliente (se accede a los certificados del usuario para firmar…en este caso se usa un applet de Java para dicho acceso).&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;Firma de documento (diferenciando entre documentos Office y PDF por ejemplo) vs firma de elemento de lista.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;Simple vs múltiple.&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Cómo es el rendimiento del proceso de firma:&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;No carga a los frontales ya que todo el trabajo de firma recae en el motor de firma propietario que se usa.&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Sobre el motor de firma:&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;Se usa uno propietario, aunque no habría problema en usar otros motores de firma.&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;         &lt;div align="justify"&gt;A nivel de planning, dependiendo del escenario se puede optar porque el motor se instale en los frontales de SharePoint o bien en un servidor independiente.&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Cómo de extensible es la solución:&lt;/div&gt;      &lt;ul&gt;       &lt;li&gt;         &lt;div align="justify"&gt;El producto viene con su SDK, de manera que por ejemplo se pueden crear actividades o acciones de workflow específicas.&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;&lt;img style="display:block;float:none;margin-left:auto;margin-right:auto;" alt="WebCast Firma Digital en SharePoint" src="http://www.ciin.es/web/servicios/eventos/PublishingImages/20120419_FirmaDigitalSharePoint_HeaderImg.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=204951" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/ciin/archive/tags/SUGES/default.aspx">SUGES</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/ciin/archive/tags/SharePoint+Foundation+2010/default.aspx">SharePoint Foundation 2010</category></item></channel></rss>
