<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sharepoint desde cero</title>
	<atom:link href="http://vspug.com/serval/feed/" rel="self" type="application/rss+xml" />
	<link>http://vspug.com/serval</link>
	<description>Just another VSPUG - Virtual SharePoint User Group weblog</description>
	<lastBuildDate>Thu, 14 Aug 2008 21:55:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>C&#243;mo registrar eventos en SharePoint</title>
		<link>http://vspug.com/serval/2008/08/14/c-243-mo-registrar-eventos-en-sharepoint/</link>
		<comments>http://vspug.com/serval/2008/08/14/c-243-mo-registrar-eventos-en-sharepoint/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 21:55:52 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Como continuaci&#243;n del &#250;ltimo post en el que vimos como crear un evento paso a paso, ahora veremos diferentes maneras que tenemos para registrar nuestro evento en SharePoint.
Antes de continuar con este post, recomendamos revisar el anterior: 
C&#243;mo crear un evento en SharePoint
Tal y como comentamos, las diferentes formas que tenemos para registrar el evento, [...]]]></description>
			<content:encoded><![CDATA[<p>Como continuaci&#243;n del &#250;ltimo post en el que vimos como crear un evento paso a paso, ahora veremos diferentes maneras que tenemos para registrar nuestro evento en SharePoint.</p>
<p>Antes de continuar con este post, recomendamos revisar el anterior: </p>
<p><a href="http://www.mundosharepoint.es/2008/06/12/cmo-crear-eventos-de-sharepoint/" target="_blank">C&#243;mo crear un evento en SharePoint</a></p>
<p>Tal y como comentamos, las diferentes formas que tenemos para registrar el evento, todas ellas igual de v&#225;lidas, son:</p>
<ol>
<li>
<p>Creando una caracter&#237;stica de SharePoint, que nos permitir&#225; activarla y desactivarla desde el propio SharePoint. </p>
</li>
<li>
<p>Con una aplicaci&#243;n de consola con el modelo de objetos de Sharepoint. </p>
</li>
<li>
<p>De forma autom&#225;tica con una aplicaci&#243;n gratuita de administraci&#243;n de SharePoint llamada SharePoint Inspector. </p>
</li>
</ol>
<p><strong>1.- CREANDO UNA CARACTER&#205;STICA DE SHAREPOINT</strong></p>
<p>Probablemente esta manera de registrar el evento es la que m&#225;s trabajo tiene inicialmente para crear la caracter&#237;stica. Pero una vez creado la caracter&#237;stica, nos permitir&#225; activar y desactivarla desde la &quot;Configuraci&#243;n del sitio&quot; del Sharepoint. </p>
<p>Siguiendo con el desarrollo que iniciamos en nuestro anterior post, a&#241;adiremos y preparemos otro proyecto de tipo &quot;Biblioteca de clases&quot; para la instalaci&#243;n de la caracter&#237;stica:<a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image16.png"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="316" alt="image16" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image16_thumb.png" width="422" border="0" /></a><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image17.png"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="275" alt="image17" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image17_thumb.png" width="426" border="0" /></a> </p>
<p>Eliminamos la clase &quot;Class1.cs&quot; que se crea autom&#225;ticamente y agregamos un archivo XML que llamaremos &quot;Feature.xml&quot;:<a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image19.png"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="320" alt="image19" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image19_thumb.png" width="425" border="0" /></a> <a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image20.png"><img height="257" alt="image20" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image20_thumb.png" width="425" border="0" /></a> </p>
<p>Insertar el siguiente c&#243;digo en el .xml: </p>
<div>
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Feature</span> <span style="color:#ff0000;">xmlns</span><span style="color:#0000ff;">=&quot;http://schemas.microsoft.com/sharepoint/&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">  <span style="color:#ff0000;">Id</span><span style="color:#0000ff;">=&quot;[guid]&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">  <span style="color:#ff0000;">Scope</span><span style="color:#0000ff;">=&quot;Web&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">  <span style="color:#ff0000;">Title</span><span style="color:#0000ff;">=&quot;Announcement Event Handler&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ElementManifests</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ElementManifest</span> <span style="color:#ff0000;">Location</span><span style="color:#0000ff;">=&quot;Elements.xml&quot;</span> <span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">ElementManifests</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Feature</span><span style="color:#0000ff;">&gt;</span></pre>
</p></div>
</div>
<p>&#160;</p>
<p>En el c&#243;digo sustituiremos [guid] por uno nuevo. Para obtener un Guid podemos ejecutar desde la l&#237;nea de comandos: C:Archivos de programaMicrosoft Visual Studio 8Common7Toolsguidgen.exe o desde la opci&#243;n &quot;Crear Guid&quot; en el men&#250; Herramientas de Visual Studio:</p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image21.png"><img height="320" alt="image21" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image21_thumb.png" width="354" border="0" /></a> </p>
<div>
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Feature</span> <span style="color:#ff0000;">xmlns</span><span style="color:#0000ff;">=&quot;http://schemas.microsoft.com/sharepoint/&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">  <span style="color:#ff0000;">Id</span><span style="color:#0000ff;">=&quot;{1FA22BF6-79FC-45fb-8F33-E1CC3B37A7F2}&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">  <span style="color:#ff0000;">Scope</span><span style="color:#0000ff;">=&quot;Web&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">  <span style="color:#ff0000;">Title</span><span style="color:#0000ff;">=&quot;Cancelar a&#241;adir nuevos elementos&quot;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ElementManifests</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">ElementManifest</span> <span style="color:#ff0000;">Location</span><span style="color:#0000ff;">=&quot;Elements.xml&quot;</span> <span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">ElementManifests</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Feature</span><span style="color:#0000ff;">&gt;</span></pre>
</p></div>
</div>
<p>&#160;</p>
<p>Tambi&#233;n necesitaremos obtener el Public Key Token del ensamblado con el comando C:archivos de programaMicrosoft Visual Studio 8SDKv2.0Binsn.exe: </p>
<p>sn &#8211;Tp [pathToAssembly][assemblyFileName] </p>
<p>o siguiendo los pasos que comenta Andrew Conell: <a href="http://www.andrewconnell.com/blog/archive/2006/09/15/4587.aspx">http://www.andrewconnell.com/blog/archive/2006/09/15/4587.aspx</a> </p>
<p>Ahora creamos otro xml que llamaremos &quot;elements.xml&quot;:</p>
<div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &#39;Courier New&#39;, courier, monospace;background-color:#f4f4f4;">
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Elements</span> <span style="color:#ff0000;">xmlns</span><span style="color:#0000ff;">=&quot;http://schemas.microsoft.com/sharepoint/&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Receivers</span> <span style="color:#ff0000;">ListTemplateId</span><span style="color:#0000ff;">=&quot;100&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Receiver</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Name</span><span style="color:#0000ff;">&gt;</span>listapersonalizada<span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Name</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Type</span><span style="color:#0000ff;">&gt;</span>ItemAdding<span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Type</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">SequenceNumber</span><span style="color:#0000ff;">&gt;</span>10000<span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">SequenceNumber</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Assembly</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                EventoNuevaPromo,</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                Version=1.0.0.0,</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                Culture=neutral,</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                PublicKeyToken=eb28d2942d41f46a</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Assembly</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Class</span><span style="color:#0000ff;">&gt;</span>EventoNuevaPromo.AddingAction<span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Class</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Data</span><span style="color:#0000ff;">&gt;&lt;/</span><span style="color:#800000;">Data</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">Filter</span><span style="color:#0000ff;">&gt;&lt;/</span><span style="color:#800000;">Filter</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Receiver</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Receivers</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"><span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">Elements</span><span style="color:#0000ff;">&gt;</span></pre>
</p></div>
</div>
<p>En este xml tenemos varios par&#225;metros que comentar. <strong>ListTempateId</strong> hace referencia al id de la plantilla que afectar&#225; esta caracter&#237;stica, y en este caso, a que tipo de lista se agregar&#225; el evento. <strong>Type</strong> tiene que ser el evento que estamos agregando. <strong>Sequencenumber</strong> es el orden en que se ejecutar&#225; este evento si tenemos varios eventos asociados a una lista.</p>
<p>Despu&#233;s de esto copiamos las 2 xmls creados a </p>
<p><em>C:Archivos de programaArchivos comunesMicrosoft Sharedweb server extensions12TEMPLATEFEATURES[nombre caracteristica]</em>, en nuestra caso a <em>C:Archivos de programaArchivos comunesMicrosoft Sharedweb server extensions12TEMPLATEFEATURESlistapersonalizada.</em> </p>
<p>Se puede hacer con un comando xcopy en los post-built commands para automatizar. </p>
<p>Luego con 2 comandos stsadm instalaremos la caracter&#237;sticas y la activaremos: </p>
<p>Stsadm.exe &#8211;o installfeature &#8211;name listapersonalizada<br />
  <br />Stsadm.exe &#8211;o activatefeature &#8211;name listapersonalizada &#8211;url <a href="http://localhost">http://localhost</a> </p>
<p>En lugar del 2&#186; comando, podr&#237;amos activar la caracter&#237;stica desde el navegador en la &quot;Configuraci&#243;n del sitio&quot;. Finalmente s&#243;lo nos faltar&#237;a reciclar la Application Pool desde el administrador de IIS. </p>
<p>Para desinstalar la caracter&#237;stica: </p>
<p>stsadm &#8211;o deactivatefeature &#8211;name [nombrecaracteristica] &#8211;url <a href="http://localhost">http://localhost</a> </p>
<p>stsadmn &#8211;o uninstallfeature &#8211;name [nombrecaracteristica] </p>
<p>y a continuaci&#243;n reciclar el Application Pool. </p>
<p>&#160; </p>
<p><strong>2.- CON EL MODELO DE OBJETOS DE SHAREPOINT</strong> </p>
<p>En este caso tambi&#233;n agregaremos un proyecto a nuestra soluci&#243;n del evento, pero esta vez una aplicaci&#243;n de consola: </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image23.png"><img height="273" alt="image23" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image23_thumb.png" width="425" border="0" /></a> </p>
<p>Agregamos la referencia de Microsoft.SharePoint como en el proyecto del Evento y agregamos el using Microsoft.SharePoint. </p>
<p>Introducimos en la clase el siguiente c&#243;digo:</p>
<div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &#39;Courier New&#39;, courier, monospace;background-color:#f4f4f4;">
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">try</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            {</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                <span style="color:#0000ff;">string</span> listName = <span style="color:#006080;">&quot;Documentaci&#243;n&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                <span style="color:#0000ff;">string</span> siteURL = <span style="color:#006080;">&quot;http://localhost&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                <span style="color:#0000ff;">string</span> receiverName = <span style="color:#006080;">&quot;Evento Archivo Nuevo&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                <span style="color:#0000ff;">int</span> sequenceNumber = 2001;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                <span style="color:#0000ff;">string</span> assemblyFullName = <span style="color:#006080;">&quot;EventoArchivoNuevo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3c2296eb2e1f5b8e&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                <span style="color:#0000ff;">string</span> assemblyClassName = <span style="color:#006080;">&quot;EventoArchivoNuevo.AddedAction&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                <span style="color:#0000ff;">string</span> receiverData = <span style="color:#006080;">&quot;&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">&#160;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                SPList list = <span style="color:#0000ff;">new</span> SPSite(siteURL).OpenWeb().Lists[listName];</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                SPEventReceiverDefinitionCollection eventReceivers = list.EventReceivers;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                <span style="color:#008000;">//eventReceivers[0].Delete();</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                SPEventReceiverDefinition eventReceiver = eventReceivers.Add();</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                eventReceiver.Name = receiverName;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                eventReceiver.Type = SPEventReceiverType.ItemAdded;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                eventReceiver.SequenceNumber = sequenceNumber;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                eventReceiver.Assembly = assemblyFullName;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                eventReceiver.Class = assemblyClassName;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                eventReceiver.Data = receiverData;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">                eventReceiver.Update();</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                Console.WriteLine(<span style="color:#006080;">&quot;Todo OK&quot;</span>);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            }</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            <span style="color:#0000ff;">catch</span> (Exception ex)</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            {</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                Console.WriteLine(<span style="color:#006080;">&quot;Error: &quot;</span> + ex.Message);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            }</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            Console.ReadLine();</pre>
</p></div>
</div>
<p><em>La informaci&#243;n que introducimos en nuestro c&#243;digo es pr&#225;cticamente equivalente a la que introducimos en el&#160; elements.xml de la caracter&#237;stica.</em> </p>
<p>Establecemos el proyecto creado como proyecto de inicio: </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image25.png"><img height="319" alt="image25" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image25_thumb.png" width="425" border="0" /></a> </p>
<p>Y ejecutamos. </p>
<p>Si todo ha ido bien: </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image26.png"><img height="211" alt="image26" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image26_thumb.png" width="425" border="0" /></a></p>
<p>S&#243;lo nos faltar&#237;a reciclar el Application Pool (o un poco m&#225;s a lo bruto, hacer un iisreset). </p>
<p>Para desasociar el evento de la lista, podemos descomentar en el codigo la l&#237;nea de eventReceivers[0].Delete(); y comentar el resto </p>
<p>Otro c&#243;digo equivalente visto en el <a href="http://www.ideseg.com" target="_blank">blog de Carlos Segura</a> ser&#237;a:</p>
<div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &#39;Courier New&#39;, courier, monospace;background-color:#f4f4f4;">
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">using</span> System;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"><span style="color:#0000ff;">using</span> Microsoft.SharePoint;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">&#160;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"><span style="color:#0000ff;">namespace</span> ConsoleTools</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">{</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">class</span> Program</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    {</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">        <span style="color:#0000ff;">static</span> <span style="color:#0000ff;">void</span> Main(<span style="color:#0000ff;">string</span>[] args)</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        {</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            SPSite site = <span style="color:#0000ff;">new</span> SPSite(<span style="color:#006080;">&quot;http://spsbeta/SiteDirectory/test&quot;</span>);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            SPWeb web = site.OpenWeb();</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            SPList list = web.Lists[<span style="color:#006080;">&quot;Demo&quot;</span>];</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">&#160;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            <span style="color:#0000ff;">string</span> ensamblado = <span style="color:#006080;">&quot;MiWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d196fc71b3d34a48&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            <span style="color:#0000ff;">string</span> clase = <span style="color:#006080;">&quot;MiWebPart.MiEventHandler&quot;</span>;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">&#160;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            list.EventReceivers.Add(SPEventReceiverType.ItemAdded, ensamblado, clase);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            list.EventReceivers.Add(SPEventReceiverType.ItemUpdated, ensamblado, clase);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            list.EventReceivers.Add(SPEventReceiverType.ItemDeleting, ensamblado, clase);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">&#160;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        }</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    }</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">}</pre>
</p></div>
</div>
<p>Como mejora podr&#237;amos editar los c&#243;digos para que nos pida la URL de la web y el nombre de la biblioteca/lista en la que queremos registrar el evento. </p>
<p>De esta forma, no tenemos que activar caracter&#237;stica ni nada, pero no tenemos la versatilidad de desasociar el evento a trav&#233;s de la interfaz web ya que no tenemos la caracter&#237;stica. </p>
<p><strong>3.- Usando una aplicaci&#243;n externa: Sharepoint Inspector</strong> </p>
<p>Este programa es de mucha utilidad y lo podemos obtener desde <a href="http://www.codeplex.com/spi" target="_blank">Codeplex</a>. Nos permite agregar/eliminar un evento a cualquier lista o biblioteca de SharePoint, y como ver&#233;is de la forma m&#225;s f&#225;cil. </p>
<p>Una vez creado nuestro evento, los pasos para registrar el evento con este programa ser&#237;a los siguientes. </p>
<p>Desplegar el men&#250; de &#225;rbol hasta llegar a &quot;Event Receivers&quot; dentro de nuestra lista: </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image28.png"><img height="284" alt="image28" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image28_thumb.png" width="425" border="0" /></a> </p>
<p>y con el bot&#243;n derecho, hacemos click sobre &quot;Add event&quot;: </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image29.png"><img height="319" alt="image29" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image29_thumb.png" width="425" border="0" /></a> </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image.png"><img height="155" alt="image" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image_thumb.png" width="425" border="0" /></a> </p>
<p>Seleccionamos la DLL en &#8220;Load DLL&#8221; y nos carga los eventos creados en esta dll. </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image_3.png"><img height="312" alt="image" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image_thumb_3.png" width="425" border="0" /></a> </p>
<p>Nos Rellena el assembly de forma autom&#225;tica. S&#243;lo tenemos que seleccionar en clase y en la lista Event Type el evento que queremos asociar. Observad el detalle del checkbox que nos verifica que la dll est&#225; registrada en el GAC: </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image_4.png"><img height="155" alt="image" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image_thumb_4.png" width="425" border="0" /></a> </p>
<p>Y simplemente presionando &quot;Add&quot; ya tendremos registrado nuestro evento. </p>
<p>Casi de la mismo forma, si queremos eliminar el evento de la lista, s&#243;lo tendr&#237;amos que desplegar el evento y con el bot&#243;n derecho &quot;Remove&quot;:<a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image_5.png"><img height="284" alt="image" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image_thumb_5.png" width="425" border="0" /></a></p>
<p>Otro herramienta parecida a Sharepoint Inspector pero s&#243;lo orientada al manejo de eventos es <a href="http://www.u2u.info/SharePoint/U2U%20Community%20Tools/EventHandlerExplorer.zip" target="_blank">EventHandlerExplorer</a> desarrollada por <a href="http://www.u2u.info/default.aspx" target="_blank">U2U</a>. </p>
<p><strong>RESULTADO</strong> </p>
<p>Con cualquiera de las 3 formas, conseguimos lo mismo. </p>
<p>En nuestro ejemplo en el evento bloqueamos el adding (properties.Cancel = true;) de una lista y mostramos el siguiente mensaje de error (properties.ErrorMessage = &quot;No se puede a&#241;adir nuevos elementos&quot;;). </p>
<p>Este es el resultado al intentar insertar un elemento en nuestra lista: </p>
<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image22.png"><img height="303" alt="image22" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/CmoregistrareventosenSharePoint_B1/image22_thumb.png" width="425" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2008/08/14/c-243-mo-registrar-eventos-en-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C&#243;mo crear eventos de SharePoint</title>
		<link>http://vspug.com/serval/2008/08/11/c-243-mo-crear-eventos-de-sharepoint/</link>
		<comments>http://vspug.com/serval/2008/08/11/c-243-mo-crear-eventos-de-sharepoint/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 21:43:58 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Los eventos de SharePoint nos permite controlar cuando se ejecutan en nuestro portal una serie de acciones a nivel de listas, bibliotecas o webs. Gracias a esto podemos asociar c&#243;digo propio a este serie de eventos para realizar otras acciones o actualizaciones, realizar validaciones o incluso cancelar la inserci&#243;n de un documento o elemento a [...]]]></description>
			<content:encoded><![CDATA[<p>Los eventos de SharePoint nos permite controlar cuando se ejecutan en nuestro portal una serie de acciones a nivel de listas, bibliotecas o webs. Gracias a esto podemos asociar c&#243;digo propio a este serie de eventos para realizar otras acciones o actualizaciones, realizar validaciones o incluso cancelar la inserci&#243;n de un documento o elemento a una lista.</p>
<p>Tenemos dos tipos de eventos en funci&#243;n de cuando se ejecutan. Podemos asociar un evento cuando ya se ha realizado una acci&#243;n, es decir, tras producirse una inserci&#243;n, actualizaci&#243;n o eliminaci&#243;n. El otro tipo se ejecuta a la vez que la acci&#243;n y &#233;ste nos permite cancelar el proceso, por ejemplo si tras una validaci&#243;n queremos cancelar la inserci&#243;n de un documento por no cumplir una condici&#243;n.</p>
<p>Los eventos a los que podemos asociar c&#243;digo son los siguientes:</p>
<p><strong>SPItemEventReceiver</strong>     <br />ItemAdded ItemAdding ItemAttachmentAdded ItemAttachmentAdding     <br />ItemAttachmentDeleted ItemAttachmentDeleting ItemCheckedIn ItemCheckedOut ItemCheckingIn ItemCheckingOut ItemDeleted ItemDeleting ItemFileConverted ItemFileMoving ItemUncheckedOut ItemUncheckingOut ItemUpdated ItemUpdating     <br /><strong>SPListEventReceiver</strong>     <br />FieldAdded FieldAdding FieldDeleted FieldDeleting FieldUpdated FieldUpdating     <br /><strong>SPWebEventReceiver</strong>     <br />SiteDeleted SiteDeleting WebDeleted WebDeleting WebMoved WebMoving</p>
<p>En este post vamos a seguir paso a paso como crear un evento sencillo con Visual Studio 2005. En el ejemplo vamos cancelar la inserci&#243;n de un elemento a una lista en cualquier caso. Aunque no es muy realista el ejemplo, nos sirve para ver la funcionalidad y las posibilidades de los eventos. Tras crear un evento y registrarlo en el GAC, debemos asociarlo a una lista o biblioteca o sitio. Este &#250;ltimo paso lo dejaremos para un segundo post.</p>
<p><strong>COMO CREAR UN EVENTO EN SHAREPOINT CON VISUAL STUDIO</strong></p>
<p>Creamos proyecto Tipo Biblioteca de Clase:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image1.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="275" alt="image1" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image1-thumb.png" width="454" border="0" /></a></p>
<p>Agregamos una referencia a la .dll de SharePoint para poder trabajar con su modelo de objetos:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image2.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="342" alt="image2" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image2-thumb.png" width="454" border="0" /></a></p>
<p>La encontraremos en &quot;En examinar&quot;, en la ruta C:Archivos de programaArchivos comunesMicrosoft Sharedweb server extensions12ISAPI :</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image3.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="359" alt="image3" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image3-thumb.png" width="454" border="0" /></a></p>
<p>Agregamos &quot;using Microsoft.SharePoint &quot;:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image4.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="303" alt="image4" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image4-thumb.png" width="454" border="0" /></a></p>
<p>Cambiamos el nombre de la clase por AddingAction, hacemos que herede de Microsoft.Sharepoint.SPITemEventReceiver y sobrescribimos el m&#233;todo ItemAdding:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="285" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb.png" width="454" border="0" /></a></p>
<p>Metemos el c&#243;digo para el evento. En este caso paramos la inserci&#243;n y mostramos mensaje de error:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image5.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="299" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb1.png" width="454" border="0" /></a></p>
<p>Con esto ya tenemos todo el c&#243;digo escrito. Ahora deberemos firmar el ensamblado para poder registrarlo en el GAC del servidor:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image6.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="342" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb2.png" width="454" border="0" /></a></p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image7.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="331" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb3.png" width="454" border="0" /></a></p>
<p>Marcamos el checkbox &quot;Firmar el ensamblado&quot; y &quot;Nuevo&quot; en &#8220;Seleccione un archivo de clave de nombre seguros&#8221;</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image8.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="243" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb4.png" width="389" border="0" /></a> <a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image9.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="331" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb5.png" width="454" border="0" /></a></p>
<p>El explorador de soluciones nos quedar&#225; algo parecido a:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image10.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="342" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb6.png" width="452" border="0" /></a></p>
<p>Hecho esto, lo registraremos en el GAC mediante un comando. Si este comando lo introducimos en el &quot;Post-Build Event&quot; de Visual Studio, automatizaremos el actualizar nuestros cambios en el servidor cada vez que compilemos nuestro c&#243;digo en el Visual Studio.</p>
<p>Para ello, volvemos a la ventana propiedades del proyecto, en el apartado &quot;Eventos de Generaci&#243;n&quot;:</p>
<p><a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image11.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="342" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb7.png" width="422" border="0" /></a></p>
<p>Y aqu&#237; en &quot;L&#237;nea de comandos del evento posterior a la generaci&#243;n&quot;, introduciremos el siguiente comando (cada comando en una misma l&#237;nea):</p>
<p>&quot;c:Archivos de programaMicrosoft Visual Studio 8SDKv2.0ingacutil.exe&quot; /nologo /i &quot;$(TargetPath)&quot; /f</p>
<p>c:WINDOWSsystem32iisapp.vbs /a &quot;Sharepoint &#8211; 80&quot; /r</p>
<p>donde &#8220;Sharepoint &#8211; 80&#8221; es el nombre del &#8220;grupo de aplicaciones&#8221; que ejecuta el MOSS. Podemos verlo en la Administraci&#243;n del IIS. Este segundo comando recicla el &quot;Grupo de Aplicaciones&quot;.<a href="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image12.png" target="_blank"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="342" alt="image" src="http://www.mundosharepoint.es/wp-content/uploads/2008/06/image-thumb8.png" width="422" border="0" /></a></p>
<p>En este momento, si generamos nuestro proyecto, lo estaremos agregando al GAC y reciclando el Grupo de Aplicaciones para que SharePoint tenga en cuenta esta nueva .dll.</p>
<p>Tras esto, tendremos que asociar nuestro evento a la lista. Lo podremos hacer de hasta 3 maneras diferentes.</p>
<ol>
<li>Creando una caracter&#237;stica de SharePoint, que nos permitir&#225; activarla y desactivarla desde el propio SharePoint. </li>
<li>Con una aplicaci&#243;n de consola con el modelo de objetos de Sharepoint. </li>
<li>De forma autom&#225;tica con una aplicaci&#243;n gratuita de administraci&#243;n de SharePoint llamada SharePoint Inspector. </li>
</ol>
<p>Esto lo veremos en el pr&#243;ximo post.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2008/08/11/c-243-mo-crear-eventos-de-sharepoint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error: Item has already been added. Key in dictionary: &#039;484&#039; Key being added: &#039;484&#039;</title>
		<link>http://vspug.com/serval/2008/08/08/error-item-has-already-been-added-key-in-dictionary-484-key-being-added-484/</link>
		<comments>http://vspug.com/serval/2008/08/08/error-item-has-already-been-added-key-in-dictionary-484-key-being-added-484/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 21:42:40 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Inicio con este post una nueva secci&#243;n dedicada los errores y problemas de SharePoint que me vaya encontrando por los clientes. El objetivo es recopilar los errores con sus soluciones para aprovechar en futuras situaciones en las que se repitan estos errores.
El error que me he encontrado recientemente en un cliente se produc&#237;a la intentar [...]]]></description>
			<content:encoded><![CDATA[<p>Inicio con este post una nueva secci&#243;n dedicada los errores y problemas de SharePoint que me vaya encontrando por los clientes. El objetivo es recopilar los errores con sus soluciones para aprovechar en futuras situaciones en las que se repitan estos errores.</p>
<p>El error que me he encontrado recientemente en un cliente se produc&#237;a la intentar hacer cualquier cambio en la Administraci&#243;n Central. Pod&#237;a navegar por las diferentes p&#225;ginas de la Administraci&#243;n Central, pero en el momento que intentaba realizar alg&#250;n cambio de configuraci&#243;n aparec&#237;a el siguiente error:</p>
<blockquote><p>Item has already been added. Key in dictionary: &#39;484&#39;&#160; Key being added: &#39;484&#39;</p>
</blockquote>
<p>En el visor de sucesos se mostraba el siguiente registro:</p>
<p>Event Type: Error    <br />Event Source: Windows SharePoint Services 3     <br />Event Category: Cron&#243;metro     <br />Event ID: 6398     <br />Date:&#160; 01/07/2008     <br />Time:&#160; 11:54:16     <br />User:&#160; N/A     <br />Computer: SERVER     <br />Description:     <br />El m&#233;todo Execute de la definici&#243;n de trabajo Microsoft.SharePoint.Administration.SPConfigurationRefreshJobDefinition (ID 6c90c1b6-deb7-43d6-8cad-b4c1bb395077) lanz&#243; una excepci&#243;n. A continuaci&#243;n se incluye m&#225;s informaci&#243;n.</p>
<p>Item has already been added. Key in dictionary: &#39;484&#39;&#160; Key being added: &#39;484&#39; </p>
<p>For more information, see Help and Support Center at <a href="http://go.microsoft.com/fwlink/events.asp">http://go.microsoft.com/fwlink/events.asp</a>. </p>
<p>Tras googlear un poco <a href="http://www.codeplex.com/sharepointfix" target="_blank">encontr&#233; un ejecutable</a> que supuestamente arregla el error pero no fue mi caso. Creo que fue por un problema de permisos con el que ejecut&#233; el ejecutable. </p>
<p>En cualquier caso, seg&#250;n parece el programa sigue los siguientes pasos y que realiz&#225;ndolos manualmente s&#237; que me soluciono el problema: </p>
<p><strong>SOLUCI&#211;N</strong></p>
<ul>
<li><strong>
<p><strong>REALIZA UN BACKUP DE TODAS LAS BASES DE DATOS DE SHAREPOINT ANTES DE SEGUIR ESTOS PASOS</strong></p>
<p>     </strong></li>
<li>
<p>Abre tu base de datos de configuraci&#243;n de SharePoint con el SQL Management Studio</p>
</li>
<li>
<p>Esa base de datos contiene una tabla llamada dbo.Objects. Sobre la misma, bot&#243;n derecho y &quot;Abrir tabla&quot; y a continuaci&#243;n haz un click sobre el icono &quot;Mostrar panel SQL&quot;.</p>
</li>
<li>
<p>Ejecuta la siguiente consulta:</p>
</li>
</ul>
<blockquote><p>SELECT Id, ClassId, ParentId, Name, Status, Version, Properties      <br />FROM Objects       <br />WHERE (Properties LIKE &#39;%DiagnosticsService%&#39;)</p>
</blockquote>
<ul>
<li>
<p>Mostrar&#225; dos resultados. Mirando el campo propiedades ver&#225;s algo parecido a:        <br />&lt;object type=&quot;Microsoft.SharePoint.Administration.SPDiagnosticsService &#8230; &lt;object type=&quot;Microsoft.Office.Server.Administration.DiagnosticsService &#8230;</p>
</li>
<li>
<p>En estos campos ver&#225;s, entre otras cosas, el n&#186; de la clave que te da error. En mi caso era con la clave 484.</p>
</li>
<li>
<p>Borra esos 2 registros. Ya s&#233; que da un poco de miedo borrar 2 registros de la BD, pero as&#237; lo solucion&#233; y por eso realizamos en el 1er paso el backup de la BD.</p>
</li>
<li>
<p>Ahora si vas a la Administraci&#243;n Central ya no te mostrar&#225; el error.</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2008/08/08/error-item-has-already-been-added-key-in-dictionary-484-key-being-added-484/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2 pr&#243;ximos webcast interesantes</title>
		<link>http://vspug.com/serval/2008/08/04/2-pr-243-ximos-webcast-interesantes/</link>
		<comments>http://vspug.com/serval/2008/08/04/2-pr-243-ximos-webcast-interesantes/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 21:37:20 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[H&#233;ctor Insua dar&#225; en los pr&#243;ximos d&#237;as 2 webcast tal y como ha comentado hace unos d&#237;as en un post. Estoy seguro que ser&#225;n muy interesantes. Os dejo los enlaces para que pod&#225;is asistir a los mismos:
1 &#8211; SharePoint en Windows 2008 &#8211; Ventajas y Beneficios
(mi&#233;rcoles, 06 de agosto de 2008 20 h. hora espa&#241;ola)
Conozca [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hinsua.blogspot.com/" target="_blank">H&#233;ctor Insua</a> dar&#225; en los pr&#243;ximos d&#237;as 2 webcast tal y como ha comentado hace unos d&#237;as en un <a href="http://hinsua.blogspot.com/2008/07/mis-proximos-2-webcasts.html" target="_blank">post</a>. Estoy seguro que ser&#225;n muy interesantes. Os dejo los enlaces para que pod&#225;is asistir a los mismos:</p>
<p>1 &#8211; <a href="https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032383525&amp;EventCategory=4&amp;culture=es-AR&amp;CountryCode=AR">SharePoint en Windows 2008 &#8211; Ventajas y Beneficios</a></p>
<p>(mi&#233;rcoles, 06 de agosto de 2008 20 h. hora espa&#241;ola)</p>
<p>Conozca como la nueva plataforma 2008 puede ayudarnos a mejorar la Gesti&#243;n de SharePoint 2007, aprenda a instalarlo, configurarlo y administrarlo. Se ver&#225;n las novedades de IIS 7, roles y features de Windows 2008. </p>
<p>2 &#8211; <a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032383527&amp;EventCategory=4&amp;culture=es-AR&amp;CountryCode=AR">Estrategias y Opciones de Disaster Recovery en SharePoint 2007</a></p>
<p>(mi&#233;rcoles, 13 de agosto de 2008 21 h. hora espa&#241;ola)</p>
<p>El Servidor no responde? Las bases han desaparecido? Fallo un disco duro? Se perdieron archivos? Alguien borro un sitio accidentalmente?.&#160; Aprenda a responder todas estas preguntas&#160; y a hacer su plataforma mas segura, se ver&#225;n las opciones de recuperaci&#243;n para SharePoint desde todo punto de vista. Con trucos y recomendaciones para que los tiempos de ca&#237;da de sus servidores sean un tema del pasado.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2008/08/04/2-pr-243-ximos-webcast-interesantes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>M&#225;s vale tarde que nunca, Ajax a la palestra</title>
		<link>http://vspug.com/serval/2008/01/15/m-225-s-vale-tarde-que-nunca-ajax-a-la-palestra/</link>
		<comments>http://vspug.com/serval/2008/01/15/m-225-s-vale-tarde-que-nunca-ajax-a-la-palestra/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 21:57:52 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Aunque la tecnolog&#237;a Ajax ya lleva mucho tiempo activa en el mundo web, yo personalmente no me hab&#237;a pegado mucho con ella para sacarle algo de jugo. Hasta ahora me la hab&#237;an presentado y poco m&#225;s, mi relaci&#243;n con ella no hab&#237;a sido mucho m&#225;s all&#225; que alguna prueba pr&#225;ctica. Tampoco quiere decir que ahora [...]]]></description>
			<content:encoded><![CDATA[<p>Aunque la tecnolog&#237;a Ajax ya lleva mucho tiempo activa en el mundo web, yo personalmente no me hab&#237;a pegado mucho con ella para sacarle algo de jugo. Hasta ahora me la hab&#237;an presentado y poco m&#225;s, mi relaci&#243;n con ella no hab&#237;a sido mucho m&#225;s all&#225; que alguna prueba pr&#225;ctica. Tampoco quiere decir que ahora ya est&#233; en la pomada de Ajax, pero he hecho mis primeros pinitos de los que estoy orgulloso. Y es lo que tienes Ajax (y todas las librer&#237;as/frameworks creadas alrededor de la misma, v&#233;ase <a href="http://www.asp.net/ajax/" target="_blank">Asp.net Ajax</a>, <a href="http://www.prototypejs.org/" target="_blank">Prototype</a>, <a href="http://script.aculo.us/" target="_blank">Scriptacolous</a>), que con mi poco esfuerzo consigues cosas muy aparentes.</p>
<p>No voy a parar a explicar lo que es AJAX (<em><b>A</b>synchronous <b>J</b>avaScript <b>A</b>nd <b>X</b>ML).</em> Como ya he dicho, llego un poco tarde al tema y en el mundo web ya est&#225; m&#225;s que explicado. En cualquier caso, para la teor&#237;a siempre pod&#233;is echar mano de la <a href="http://es.wikipedia.org/wiki/AJAX" target="_blank">Wikipedia</a>. </p>
<p>Intentar&#233; ense&#241;ar alg&#250;n ejemplo muy sencillo en pr&#243;ximos posts usando el framework ASP.NET AJAX y su maravilloso Control Toolkit, que nos proporciona much&#237;simos controles preparados para arrastrar y funcionar. Tambi&#233;n voy a obviar el &quot;Get Started&quot; en Asp.net Ajax y su Control Toolkit m&#225;s que nada porque en su web ya tenemos 2&#160; v&#237;deos muy aclaratorio en el que se muestra como instalar y agregar los controles a nuestro Visual Studio, adem&#225;s de mostrar 2 sencillos ejemplos:    <br /><a href="http://www.asp.net/learn/ajax-videos/video-75.aspx" target="_blank">Get Started with the ASP.NET AJAX</a>     <br /><a href="http://download.microsoft.com/download/9/d/8/9d8a3ff9-e520-4c69-a7a0-aad7a3dc596d/HDI-02-GetStarted-AJAX-Toolkit.wmv" target="_blank">Get Started with the ASP.NET AJAX Control Toolkit</a></p>
<p>Ah, por cierto, si a&#250;n us&#225;is Visual Studio 2005, las descargas del <a href="http://www.asp.net/ajax/downloads/archive" target="_blank">ASP.NET AJAX 1.0</a> las han puesto un poco m&#225;s escondidas, as&#237; que os dejo el <a href="http://www.asp.net/ajax/downloads/archive" target="_blank">enlace</a> que me ha costado un poco encontrarlo. Los chicos de Microsoft ya empiezan a priorizar a los usuarios de VS 2008.</p>
<p>En este post introductorio no voy a mostrar ning&#250;n ejemplo concreto, simplemente voy a comentar 2 problemillas que me he encontrado al empezar con Ajax por si corr&#233;is la misma suerte que yo. Como muchas veces en este mundo, ni vamos a crear algo que no se ha hecho antes ni vamos a ser los primeros que nos enfrentemos a un problema. </p>
<p>Si veis los v&#237;deos &quot;Get Started&quot; os dar&#233;is cuenta que es muy f&#225;cil y sencillo crear una web nueva desde cero que soporte ASP.NET Ajax y el Control Toolkit y que nos permita agregar los controles Ajax. Muy sencillo gracias a las plantillas que se nos agregan al VS2005; nos crea un proyecto web con un web.config con todos los objetos registrados y dem&#225;s par&#225;metros necesitados. </p>
<p>El 1er problema viene cuando ya tenemos un proyecto web desarrollado que se creo sin usar las plantillas de Ajax y queremos agregarle alg&#250;n detalle con Asp.net Ajax. Si somos demasiado optimista y a nuestro &quot;antiguo&quot; proyecto agregamos y configuramos cualquier control Asp.net Ajax directamente, veremos que no funciona y que adem&#225;s obtenemos un error de BLOCKED SCRIPT</p>
<p>&quot;<em><u><strong>&#39;Sys&#39; no est&#225; definido</strong></u></em>&quot;</p>
<p>El error se produce porque nos faltan varias instrucciones en el web.config que cuando creamos un proyecto nuevo usando la plantilla correspondiente (Ajax Enabled Web site) el Visual Studio ya nos a&#241;ade autom&#225;ticamente. </p>
<p>Estas instrucciones son las siguientes:</p>
<div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &#39;Courier New&#39;, courier, monospace;height:241px;background-color:#f4f4f4;">
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;?</span><span style="color:#800000;">xml</span> <span style="color:#ff0000;">version</span><span style="color:#0000ff;">=&quot;1.0&quot;</span>?<span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"><span style="color:#0000ff;">&lt;</span><span style="color:#800000;">configuration</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">configSections</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">sectionGroup</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;system.web.extensions&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">sectionGroup</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;scripting&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">section</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;scriptResourceHandler&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color:#ff0000;">requirePermission</span><span style="color:#0000ff;">=&quot;false&quot;</span> <span style="color:#ff0000;">allowDefinition</span><span style="color:#0000ff;">=&quot;MachineToApplication&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">sectionGroup</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;webServices&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">          <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">section</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;jsonSerialization&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color:#ff0000;">requirePermission</span><span style="color:#0000ff;">=&quot;false&quot;</span> <span style="color:#ff0000;">allowDefinition</span><span style="color:#0000ff;">=&quot;Everywhere&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">          <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">section</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;profileService&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color:#ff0000;">requirePermission</span><span style="color:#0000ff;">=&quot;false&quot;</span> <span style="color:#ff0000;">allowDefinition</span><span style="color:#0000ff;">=&quot;MachineToApplication&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">          <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">section</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;authenticationService&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color:#ff0000;">requirePermission</span><span style="color:#0000ff;">=&quot;false&quot;</span> <span style="color:#ff0000;">allowDefinition</span><span style="color:#0000ff;">=&quot;MachineToApplication&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">sectionGroup</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">sectionGroup</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">sectionGroup</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">configSections</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">system.web</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">pages</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">controls</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">tagPrefix</span><span style="color:#0000ff;">=&quot;asp&quot;</span> <span style="color:#ff0000;">namespace</span><span style="color:#0000ff;">=&quot;System.Web.UI&quot;</span> <span style="color:#ff0000;">assembly</span><span style="color:#0000ff;">=&quot;System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">controls</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">pages</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">compilation</span> <span style="color:#ff0000;">debug</span><span style="color:#0000ff;">=&quot;true&quot;</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">assemblies</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">assembly</span><span style="color:#0000ff;">=&quot;System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">assemblies</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">compilation</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">httpHandlers</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">remove</span> <span style="color:#ff0000;">verb</span><span style="color:#0000ff;">=&quot;*&quot;</span> <span style="color:#ff0000;">path</span><span style="color:#0000ff;">=&quot;*.asmx&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">verb</span><span style="color:#0000ff;">=&quot;*&quot;</span> <span style="color:#ff0000;">path</span><span style="color:#0000ff;">=&quot;*.asmx&quot;</span> <span style="color:#ff0000;">validate</span><span style="color:#0000ff;">=&quot;false&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">verb</span><span style="color:#0000ff;">=&quot;*&quot;</span> <span style="color:#ff0000;">path</span><span style="color:#0000ff;">=&quot;*_AppService.axd&quot;</span> <span style="color:#ff0000;">validate</span><span style="color:#0000ff;">=&quot;false&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">verb</span><span style="color:#0000ff;">=&quot;GET,HEAD&quot;</span> <span style="color:#ff0000;">path</span><span style="color:#0000ff;">=&quot;ScriptResource.axd&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color:#ff0000;">validate</span><span style="color:#0000ff;">=&quot;false&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">httpHandlers</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">httpModules</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;ScriptModule&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">httpModules</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">system.web</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">system.web.extensions</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">scripting</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">webServices</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">webServices</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">scripting</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">system.web.extensions</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">system.webServer</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">validation</span> <span style="color:#ff0000;">validateIntegratedModeConfiguration</span><span style="color:#0000ff;">=&quot;false&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">modules</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;ScriptModule&quot;</span> <span style="color:#ff0000;">preCondition</span><span style="color:#0000ff;">=&quot;integratedMode&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">modules</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">handlers</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">remove</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;WebServiceHandlerFactory-Integrated&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;ScriptHandlerFactory&quot;</span> <span style="color:#ff0000;">verb</span><span style="color:#0000ff;">=&quot;*&quot;</span> <span style="color:#ff0000;">path</span><span style="color:#0000ff;">=&quot;*.asmx&quot;</span> <span style="color:#ff0000;">preCondition</span><span style="color:#0000ff;">=&quot;integratedMode&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;ScriptHandlerFactoryAppServices&quot;</span> <span style="color:#ff0000;">verb</span><span style="color:#0000ff;">=&quot;*&quot;</span> <span style="color:#ff0000;">path</span><span style="color:#0000ff;">=&quot;*_AppService.axd&quot;</span> <span style="color:#ff0000;">preCondition</span><span style="color:#0000ff;">=&quot;integratedMode&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">      <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">add</span> <span style="color:#ff0000;">name</span><span style="color:#0000ff;">=&quot;ScriptResource&quot;</span> <span style="color:#ff0000;">preCondition</span><span style="color:#0000ff;">=&quot;integratedMode&quot;</span> <span style="color:#ff0000;">verb</span><span style="color:#0000ff;">=&quot;GET,HEAD&quot;</span> <span style="color:#ff0000;">path</span><span style="color:#0000ff;">=&quot;ScriptResource.axd&quot;</span> <span style="color:#ff0000;">type</span><span style="color:#0000ff;">=&quot;System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span><span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">handlers</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">  <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">system.webServer</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"><span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">configuration</span><span style="color:#0000ff;">&gt;</span></pre>
</p></div>
</div>
<p>&#160;</p>
<p>Agregando estas instrucciones veremos que ya no tenemos ning&#250;n error Javascript y adem&#225;s obtenemos el comportamiento Ajax deseado.</p>
<p>El 2&#186; problema me ha surgido recientemente en un proyecto que me ven&#237;a heredado, algo que intento evitar siempre que puedo pero que no consegu&#237; esta vez. Concretamente era una aplicaci&#243;n web ASP.NET 1.1 y con el code-behind en Visual Basic. Yo tengo bastante m&#225;s agilidad con C# y por supuesto evito ya a toda costa desarrollar algo para ASP.NET 1.1 y Visual Studio 2003. As&#237; que lo primero en este proyecto fue migrarlo a ASP.NET 2.0 con el asistente de VS 2005. El asistente complet&#243; la migraci&#243;n sin problemas. El problema vino a la hora de usar el Control Toolkit.</p>
<p>Cuando intentaba usar alg&#250;n objeto del Control Toolkit me daba problemas. Lo que me extra&#241;aba es que el mismo ejemplo de c&#243;digo me funcionaba correctamente en un proyecto nuevo, pero en el proyecto comentado todo lo contrario, a pesar que ya hab&#237;a hecho los cambios pertinentes en el web.config. As&#237;, que tras googlear un poco me encontr&#233; con la soluci&#243;n en el blog del gran <a href="http://weblogs.asp.net/scottgu/default.aspx" target="_blank">Scott Guthrie</a>. Si creamos un sitio web con Visual Studio 2003 en el web.config nos agrega la siguiente propiedad:</p>
<div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &#39;Courier New&#39;, courier, monospace;background-color:#f4f4f4;">
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;</span><span style="color:#800000;">configuration</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">system.web</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">&lt;</span><span style="color:#800000;">xhtmlConformance</span> <span style="color:#ff0000;">mode</span><span style="color:#0000ff;">=&quot;Legacy&quot;</span> <span style="color:#0000ff;">/&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">system.web</span><span style="color:#0000ff;">&gt;</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"><span style="color:#0000ff;">&lt;/</span><span style="color:#800000;">configuration</span><span style="color:#0000ff;">&gt;</span> </pre>
</p></div>
</div>
<p>Cuando migamos el proyecto a Visual Studio 2005, esta propiedad se mantiene en el archivo de configuraci&#243;n. Para solucionar los errores con el Control Toolkit, basta con eliminar esta propiedad o darle el valor de &quot;Transitional&quot; o &quot;Strict&quot; a la propiedad xhtmlConformance. Una vez hecho, a seguir jugando con Ajax.</p>
<p>Como comentaba, ni voy a hacer algo que no se ha hecho antes ni soy el primero a enfrentarme al mismo problema. <a href="http://geeks.ms/blogs/jorge/default.aspx" target="_blank">Jorge Serrano</a> nos indicaba como <a href="http://geeks.ms/blogs/jorge/archive/2007/05/30/hola-mundo-con-asp-net-ajax-1-0-primeros-problemas-y-soluciones.aspx" target="_blank">preparar un sitio web para que acepte el Asp.net Ajax</a> y <a href="http://weblogs.asp.net/scottgu/" target="_blank">Scott Guthrie</a> nos <a href="http://weblogs.asp.net/scottgu/archive/2006/12/10/gotcha-don-t-use-xhtmlconformance-mode-legacy-with-asp-net-ajax.aspx" target="_blank">solucionaba</a> los problemas con el Control Toolkit si venimos de un proyecto ASP.NET 1.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2008/01/15/m-225-s-vale-tarde-que-nunca-ajax-a-la-palestra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fragmentos de c&#243;digo: Obtener usuarios con permiso sobre un elemento</title>
		<link>http://vspug.com/serval/2007/12/29/fragmentos-de-c-243-digo-obtener-usuarios-con-permiso-sobre-un-elemento/</link>
		<comments>http://vspug.com/serval/2007/12/29/fragmentos-de-c-243-digo-obtener-usuarios-con-permiso-sobre-un-elemento/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 00:15:22 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Gracias a la propiedad RoleAssignments de un ¡tem de cualquier lista, por ejemplo un documento en una librer¡a de documentos, podemos obtener que usuarios tienen permisos.
Esta propiedad nos devolver  una colecci¢n de usuarios y/o grupos de usuarios. En el caso de devolvernos un grupo de usuario, recorremos este para obtener los usuarios que pertenezcan al [...]]]></description>
			<content:encoded><![CDATA[<p>Gracias a la propiedad RoleAssignments de un ¡tem de cualquier lista, por ejemplo un documento en una librer¡a de documentos, podemos obtener que usuarios tienen permisos.</p>
<p>Esta propiedad nos devolver  una colecci¢n de usuarios y/o grupos de usuarios. En el caso de devolvernos un grupo de usuario, recorremos este para obtener los usuarios que pertenezcan al grupo.</p>
<p>En el c¢digo de ejemplo, mandamos un email a todos los usuarios que tienen permiso sobre un elemento:</p>
<div style="border-right:gray 1px solid;padding-right:4px;border-top:gray 1px solid;padding-left:4px;font-size:8pt;padding-bottom:4px;margin:20px 0px 10px;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;padding-top:4px;border-bottom:gray 1px solid;font-family:consolas, &#39;Courier New&#39;, courier, monospace;height:223px;background-color:#f4f4f4;">
<div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">SPWeb web = properties.OpenWeb();</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">SPListItem item = properties.ListItem;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">SPRoleAssignmentCollection AsignacionesRol = item.RoleAssignments;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"><span style="color:#0000ff;">for</span> (<span style="color:#0000ff;">int</span> i = 0; i &lt; AsignacionesRol.Count ; i++)</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">{</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    SPPrincipal principal = AsignacionesRol<img src="/emoticons/emotion-55.gif" alt="Idea" />.Member;</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    <span style="color:#0000ff;">if</span> (principal.GetType().ToString() == <span style="color:#006080;">&quot;Microsoft.SharePoint.SPUser&quot;</span>)</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    {</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        SPUser usuario = web.AllUsers[principal.ToString()];</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">        SPUtility.SendEmail(web, <span style="color:#0000ff;">true</span>, <span style="color:#0000ff;">true</span>, usuario.Email, <span style="color:#006080;">&quot;asunto: &quot;</span>, <span style="color:#006080;">&quot;cuerpo&quot;</span>);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">    }</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">    <span style="color:#0000ff;">else</span></pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">        <span style="color:#0000ff;">if</span> ( principal.GetType().ToString() == <span style="color:#006080;">&quot;Microsoft.SharePoint.SPGroup&quot;</span>)</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">        {</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            SPGroup grupo = web.Groups[principal.ToString()];</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">            <span style="color:#0000ff;">foreach</span> (SPUser usuario <span style="color:#0000ff;">in</span> grupo.Users)</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            {</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">                SPUtility.SendEmail(web, <span style="color:#0000ff;">true</span>, <span style="color:#0000ff;">true</span>, usuario.Email, <span style="color:#006080;">&quot;BLABLABLA: &quot;</span>, <span style="color:#006080;">&quot;blablabla&quot;</span>);</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">            }</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;">        }</pre>
<pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &#39;Courier New&#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;">} </pre>
</div>
</div>
<p>En el c¢digo de ejemplo faltar¡a controlar cuando un usuario pertenece a 2 o m s grupos para no repetir la acci¢n m s de una vez (como mandar el mail de ejemplo repetidas veces).</p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2007/12/29/fragmentos-de-c-243-digo-obtener-usuarios-con-permiso-sobre-un-elemento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi primera certificaci&#243;n: MCTS SharePoint Server 2007, Configuring</title>
		<link>http://vspug.com/serval/2007/12/20/mi-primera-certificaci-243-n-mcts-sharepoint-server-2007-configuring/</link>
		<comments>http://vspug.com/serval/2007/12/20/mi-primera-certificaci-243-n-mcts-sharepoint-server-2007-configuring/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 23:18:42 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[El pasado 14 de diciembre realic‚ mi primer examen de certificaci¢n. Decid¡ debutar, tras m s de un a¤o de experiencia con Sharepoint, con el examen 70-630 Microsoft Office SharePoint Server 2007, Configuring.
El examen const¢ de 51 preguntas. Muchas de ellas fueron sobre el servicio de b£squedas de MOSS, pero tambi‚n hubieron varias sobre BDC, Excel [...]]]></description>
			<content:encoded><![CDATA[<p>El pasado 14 de diciembre realic‚ mi primer examen de certificaci¢n. Decid¡ debutar, tras m s de un a¤o de experiencia con Sharepoint, con el examen 70-630 Microsoft Office SharePoint Server 2007, Configuring.</p>
<p>El examen const¢ de 51 preguntas. Muchas de ellas fueron sobre el servicio de b£squedas de MOSS, pero tambi‚n hubieron varias sobre BDC, Excel Services, permisos, Forms Services de Infopath, etc.</p>
<p>Tal y como coment‚ en mi <a title="Certificaciones SharePoint 2007" href="http://www.mundosharepoint.es/2007/02/15/certificaciones-sharepoint-2007/" target="_blank">post</a> de hace unos meses sobre las certificaciones de SharePoint, aprobando este examen he obtenido la certificaci¢n: Microsoft Certified Technology Specialist: <strong>SharePoint Server 2007, Configuring. </strong></p>
<p align="center"><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/MiprimeracertificacinMCTSOfficeSharepoin_CB4/MCTS_SharePoint_Server.gif"><img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="81" alt="MCTS_SharePoint_Server" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/MiprimeracertificacinMCTSOfficeSharepoin_CB4/MCTS_SharePoint_Server_thumb.gif" width="244" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2007/12/20/mi-primera-certificaci-243-n-mcts-sharepoint-server-2007-configuring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webcast: Creaci&#243;n y Configuraci&#243;n de Shared Services en MOSS 2007</title>
		<link>http://vspug.com/serval/2007/12/07/webcast-creaci-243-n-y-configuraci-243-n-de-shared-services-en-moss-2007/</link>
		<comments>http://vspug.com/serval/2007/12/07/webcast-creaci-243-n-y-configuraci-243-n-de-shared-services-en-moss-2007/#comments</comments>
		<pubDate>Fri, 07 Dec 2007 07:37:40 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[El pr&#243;ximo 21 de diciembre tendremos un webcast sobre la configuraci&#243;n de los Shared Services de MOSS 2007 realizada por el orador Juan Andr&#233;s Valenzuela
Ficha del Webcast
Idiomas: Espa&#241;ol.
Productos: Otros.
Audiencia(s): Profesional de TI.
Duraci&#243;n: 90 Minutos
Fecha de Inicio: viernes, 21 de diciembre de 2007 02:00 p.m. Buenos Aires
Informaci&#243;n general del Evento:
Los Proveedores de Servicios Compartidos (SSP) son [...]]]></description>
			<content:encoded><![CDATA[<p>El pr&#243;ximo 21 de diciembre tendremos un webcast sobre la configuraci&#243;n de los Shared Services de MOSS 2007 realizada por el orador <a href="http://colaborando.spaces.live.com/" target="_blank">Juan Andr&#233;s Valenzuela</a></p>
<p><strong>Ficha del Webcast</strong></p>
<p><strong>Idiomas: </strong>Espa&#241;ol.</p>
<p><strong>Productos: </strong>Otros.</p>
<p><strong>Audiencia(s): </strong>Profesional de TI.</p>
<p><b>Duraci&#243;n: </b>90 Minutos</p>
<p><strong>Fecha de Inicio: </strong>viernes, 21 de diciembre de 2007 02:00 p.m. Buenos Aires</p>
<h5><strong>Informaci&#243;n general del Evento:</strong></h5>
<p>Los Proveedores de Servicios Compartidos (SSP) son un conjunto de servicios que pueden ser compartidos en diferentes portales y sitios. Estos servicios son el Cat&#225;logo de datos profesionales, los servicios de Excel, las b&#250;squedas, los perfiles de usuarios, las audiencias, y los sitios personales.&#180;</p>
<p><strong><a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032362271&amp;EventCategory=4&amp;culture=es-AR&amp;CountryCode=AR" target="_blank">P&#225;gina de Registro</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2007/12/07/webcast-creaci-243-n-y-configuraci-243-n-de-shared-services-en-moss-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Desinstalar Windows Internal Database de WSS 3.0</title>
		<link>http://vspug.com/serval/2007/08/27/desinstalar-windows-internal-database-de-wss-3-0/</link>
		<comments>http://vspug.com/serval/2007/08/27/desinstalar-windows-internal-database-de-wss-3-0/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 21:59:18 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Cuando se instala WSS 3.0 con las opciones por defecto se nos instalar  una instancia de SQL Server Embedded Edition, tambi‚n conocida como Windows Internal Database, y se usar  esta instancia para crear las bases de datos de Windows Sharepoint Services 3.0
Si llegado el momento desinstalamos WSS 3.0 de nuestro servidor, Windows Internal Database seguir  [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando se instala WSS 3.0 con las opciones por defecto se nos instalar  una instancia de SQL Server Embedded Edition, tambi‚n conocida como Windows Internal Database, y se usar  esta instancia para crear las bases de datos de Windows Sharepoint Services 3.0</p>
<p>Si llegado el momento desinstalamos WSS 3.0 de nuestro servidor, Windows Internal Database seguir  instalada. Tampoco aparecer  en &quot;Agregar o quitar programas&quot; del &quot;Panel de Control&quot;.</p>
<p>Para desinstalar Windows Internal Database debemos ejecutar el siguiente comando si estamos trabajando en un Windows 2003 Server basado en x86:</p>
<p><b>msiexec CALLERID=ocsetup.exe {CEB5780F-1A70-44A9-850F-DE6C4F6AA8FB} /x</b></p>
<p>En cambio, si trabajamos con Windows 2003 Server basado en x64:</p>
<p><b>msiexec CALLERID=ocsetup.exe {BDD79957-5801-4A2D-B09E-852E7FA64D01} /x</b></p>
<p>Una vez confirmemos nuestro deseo de desinstalar en la advertencia y finalice el proceso, debemos reiniciar el servidor. Tras estos pasos, en nuestro equipo a£n tendremos los archivos (mdf/ldf) de la base de datos. Estos podremos encontrarlos en la carpeta <em>%windir%SYSMSISSEE</em> y eliminarlos manualmente.</p>
<p>&nbsp;</p>
<p align="left"> <script type="text/javascript">
</script>  <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script> </p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2007/08/27/desinstalar-windows-internal-database-de-wss-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Esta es mi oficina</title>
		<link>http://vspug.com/serval/2007/08/26/esta-es-mi-oficina/</link>
		<comments>http://vspug.com/serval/2007/08/26/esta-es-mi-oficina/#comments</comments>
		<pubDate>Sun, 26 Aug 2007 20:39:06 +0000</pubDate>
		<dc:creator>serval</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[
V¡a&#160;M@rTIn X-treme
]]></description>
			<content:encoded><![CDATA[<p><a href="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/Estaesmioficina_13E37/EstaEsMiOficina_3.jpg" target="_blank"><img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="495" alt="EstaEsMiOficina" src="http://site349.mysite4now.com/webjp/Sharepointblogs.com/fotos/Estaesmioficina_13E37/EstaEsMiOficina_thumb_3.jpg" width="440" border="0" /></a></p>
<p>V¡a&nbsp;<a href="http://geeks.ms/blogs/mojeda/default.aspx" target="_blank">M@rTIn X-treme</a></p>
]]></content:encoded>
			<wfw:commentRss>http://vspug.com/serval/2007/08/26/esta-es-mi-oficina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
