<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Visual Studio Team System : MOSS 2007</title><link>http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx</link><description>Tags: MOSS 2007</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>[Screencasts] Microsoft Office SharePoint Server 2007</title><link>http://msmvps.com/blogs/ffagas/archive/2009/09/01/screencasts-microsoft-office-sharepoint-server-2007.aspx</link><pubDate>Tue, 01 Sep 2009 05:13:09 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1719810</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1719810</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2009/09/01/screencasts-microsoft-office-sharepoint-server-2007.aspx#comments</comments><description>&lt;p&gt;En el mes de Junio hice algunos screencasts sobre SharePoint 2007, este es uno de los productos muy utilizados por el Team Foundation Server razón por la cual conocer el potencial de esta herramienta es muy importante para el crecimiento y creación de nuevas características para nuestro equipo de trabajo del TFS.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;a href="http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-cero-papel-con-sharepoint.aspx"&gt;http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-cero-papel-con-sharepoint.aspx&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;a href="http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-direccionamiento-de-contenido-utilizando-audiciones.aspx"&gt;http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-direccionamiento-de-contenido-utilizando-audiciones.aspx&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;a href="http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-colaboraci-n-a-nivel-documental-dentro-de-un-sitio-sharepoint.aspx"&gt;http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-colaboraci-n-a-nivel-documental-dentro-de-un-sitio-sharepoint.aspx&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;a href="http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-flujos-de-trabajo-para-agilizar-procesos.aspx"&gt;http://blogs.technet.com/ccaitpro/archive/2009/06/10/snackti-de-colaboraci-n-flujos-de-trabajo-para-agilizar-procesos.aspx&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1719810" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/WSS+3.0/default.aspx">WSS 3.0</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>[VSTS 2010] Instalación del Team Foundation Server 2010</title><link>http://msmvps.com/blogs/ffagas/archive/2009/08/31/vsts-2010-instalaci-243-n-del-team-foundation-server-2010.aspx</link><pubDate>Mon, 31 Aug 2009 22:46:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1719797</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1719797</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2009/08/31/vsts-2010-instalaci-243-n-del-team-foundation-server-2010.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;Nota: El procedimiento de instalación se realizó con el Beta 1 de TFS 2010.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Tal como había ofrecido en Junio en el post de instalación de Visual Studio 2010 y que por razones de tiempo y trabajo me he alejado un poco de mi blog, pero bueno todo ha sido superado exitosamente y me tienen nuevamente escribiendo. Para las personas que vienen utilizando versiones anteriores del Team Foundation Server 2005/2008 la instalación del Team Foundation Server 2010 será un alivio, el proceso de configuración de los diferentes productos es mucho mas transparente, y que puede considerarse como una de las nuevas características del TFS 2010, así como la capacidad de poder definir varios team projects collections, los mismos que puede contener varios team projects, tal como manejamos los sitios en SharePoint, esto facilita las tareas administrativas. &lt;/p&gt;  &lt;p&gt;La instalación que hice fue en un ambiente virtualizado con un controlador de dominio en Windows Server 2003, y en otro servidor con Windows Server 2008, SQL Server 2008 y Microsoft Office SharePoint Server 2007.&lt;/p&gt;  &lt;p&gt;Previo a la instalación se debe levantar el servicio de IIS, &lt;a href="http://msmvps.com/blogs/ffagas/archive/2008/08/07/instalaci-243-n-de-sql-server-2008-rc0-en-windows-server-2008.aspx"&gt;instalar SQL Server 2008&lt;/a&gt; y &lt;a href="http://msmvps.com/blogs/ffagas/archive/2008/09/02/moss-2007-191-puedo-instalar-wss-3-o-moss-2007-en-windows-server-2008-con-sql-server-2008.aspx"&gt;MOSS 2007&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Instalación del TFS&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Primero debemos ejecutar el instalador del Team Foundation Server 2010, aceptar los términos de licencia.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1184.DevSrv20090526130456_5F00_7807FDDC.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-13-04-56" border="0" alt="DevSrv-2009-05-26-13-04-56" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4721.DevSrv20090526130456_5F00_thumb_5F00_166218F9.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Seleccionar los componentes que se van a instalar, en este caso seleccionamos todos los componentes:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2555.DevSrv20090526130505_5F00_2CC491B3.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-13-05-05" border="0" alt="DevSrv-2009-05-26-13-05-05" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/8424.DevSrv20090526130505_5F00_thumb_5F00_7A509866.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Al finalizar la instalación habilite la casilla de verificación para ejecutar la herramienta de configuración del TFS.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0676.DevSrv20090526133718_5F00_2AF37A45.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-13-37-18" border="0" alt="DevSrv-2009-05-26-13-37-18" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1588.DevSrv20090526133718_5F00_thumb_5F00_7DCE67A9.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Instalación de las extensiones de SharePoint&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/5710.DevSrv20090526202111_5F00_1D00E8B0.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-21-11" border="0" alt="DevSrv-2009-05-26-20-21-11" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2158.DevSrv20090526202111_5F00_thumb_5F00_16A9EC55.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7853.DevSrv20090526202243_5F00_5D16B690.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-22-43" border="0" alt="DevSrv-2009-05-26-20-22-43" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4212.DevSrv20090526202243_5F00_thumb_5F00_1187630C.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7457.DevSrv20090526202305_5F00_73E5623F.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-23-05" border="0" alt="DevSrv-2009-05-26-20-23-05" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2148.DevSrv20090526202305_5F00_thumb_5F00_16797AEE.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7444.DevSrv20090526202630_5F00_7CE1C7F3.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-26-30" border="0" alt="DevSrv-2009-05-26-20-26-30" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0027.DevSrv20090526202630_5F00_thumb_5F00_4643F6E2.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuración del Team Foundation Server&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;De la ventana de configuración seleccionamos configuración personalizada.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7455.DevSrv20090526202857_5F00_60E06D2E.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-28-57" border="0" alt="DevSrv-2009-05-26-20-28-57" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3323.DevSrv20090526202857_5F00_thumb_5F00_3ADA970B.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Iniciamos el asistente&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1565.DevSrv20090526201051_5F00_0D49517B.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-10-51" border="0" alt="DevSrv-2009-05-26-20-10-51" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7848.DevSrv20090526201051_5F00_thumb_5F00_3ABA4B71.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ventana de bienvenida del asistente de configuración personalizada &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4705.DevSrv20090526201107_5F00_3EB47376.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-11-07" border="0" alt="DevSrv-2009-05-26-20-11-07" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4237.DevSrv20090526201107_5F00_thumb_5F00_5231AD4A.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Base de Datos de Configuración&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Ingresamos el nombre del servidor de base de datos y su instancia.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1184.DevSrv20090526201131_5F00_79C803A7.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-11-31" border="0" alt="DevSrv-2009-05-26-20-11-31" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/6787.DevSrv20090526201131_5F00_thumb_5F00_465C1A7E.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Capa de Aplicación&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Configuramos la cuenta de servicio, y el sitio web, puerto y directorio virtual para los servicios del TFS&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4212.DevSrv20090526201223_5F00_34DB93D9.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-12-23" border="0" alt="DevSrv-2009-05-26-20-12-23" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1184.DevSrv20090526201223_5F00_thumb_5F00_7CF929E8.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Configuración de Repoting&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Habilitamos la casilla de verificación para configurar reporting services para utilizar TFS&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/5707.DevSrv20090526201238_5F00_2F4CD79B.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-12-38" border="0" alt="DevSrv-2009-05-26-20-12-38" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/5126.DevSrv20090526201238_5F00_thumb_5F00_34F7CB74.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ingresamos el nombre del servidor de reporting services y selecciona las urls del report server y report manager.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2555.DevSrv20090526201249_5F00_6ED6E893.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-12-49" border="0" alt="DevSrv-2009-05-26-20-12-49" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7444.DevSrv20090526201249_5F00_thumb_5F00_505C81DD.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ingresa el nombre del servidor que contiene el Analysis Services para el cubo del TFS&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/8424.DevSrv20090526201259_5F00_5124C1FA.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-12-59" border="0" alt="DevSrv-2009-05-26-20-12-59" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1184.DevSrv20090526201259_5F00_thumb_5F00_3E401883.png" width="644" height="404" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ingresa la cuenta que utilizará el RS para la generación de los reportes del TFS.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1588.DevSrv20090526201333_5F00_3F748B95.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-13-33" border="0" alt="DevSrv-2009-05-26-20-13-33" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0412.DevSrv20090526201333_5F00_thumb_5F00_4EE77797.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Habilite configurar sharepoint en este momento.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3644.DevSrv20090526201342_5F00_4FAFB7B4.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-13-42" border="0" alt="DevSrv-2009-05-26-20-13-42" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7532.DevSrv20090526201342_5F00_thumb_5F00_632CF188.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Configuramos la url donde se ubicaran los team sites y de la herramienta central de administración&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3247.DevSrv20090526205630_5F00_5CD5F52D.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-56-30" border="0" alt="DevSrv-2009-05-26-20-56-30" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4214.DevSrv20090526205630_5F00_thumb_5F00_178D7837.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Creamos un team project collection por defecto&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2063.DevSrv20090526205639_5F00_237F429E.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-56-39" border="0" alt="DevSrv-2009-05-26-20-56-39" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3632.DevSrv20090526205639_5F00_thumb_5F00_134354D8.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Vista de resumen de la configuración ingresada en los pasos anteriores&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1581.DevSrv20090526205647_5F00_5F6B38B9.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-56-47" border="0" alt="DevSrv-2009-05-26-20-56-47" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3225.DevSrv20090526205647_5F00_thumb_5F00_3A3DC880.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Inicio del proceso de configuración&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2664.DevSrv20090526205656_5F00_3452FF1A.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-20-56-56" border="0" alt="DevSrv-2009-05-26-20-56-56" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0511.DevSrv20090526205656_5F00_thumb_5F00_1DD03AC6.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Finalización del proceso de configuración&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2555.DevSrv20090526210157_5F00_51D4B44C.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-21-01-57" border="0" alt="DevSrv-2009-05-26-21-01-57" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2063.DevSrv20090526210157_5F00_thumb_5F00_3432B380.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7357.DevSrv20090526210220_5F00_60ABBD99.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-26-21-02-20" border="0" alt="DevSrv-2009-05-26-21-02-20" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/6765.DevSrv20090526210220_5F00_thumb_5F00_2A7A1F7D.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0676.DevSrv20090527142536_5F00_3E638C46.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-14-25-36" border="0" alt="DevSrv-2009-05-27-14-25-36" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2063.DevSrv20090527142536_5F00_thumb_5F00_3A95C1A9.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Habilitar el servicio de Single Sign On (SSO)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Nota: El servicio de SSO lo debemos configurar para los reportes de Excel Services y la correcta visualización del dashboard.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;En SQL Server creamos un login para la cuenta de servicio de SSO.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7848.DevSrv20090527121921_5F00_2412FD55.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-19-21" border="0" alt="DevSrv-2009-05-27-12-19-21" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0676.DevSrv20090527121921_5F00_thumb_5F00_3149609B.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Le asignamos los respectivos permisos&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0511.DevSrv20090527121930_5F00_0BAFBD6D.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-19-30" border="0" alt="DevSrv-2009-05-27-12-19-30" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/6765.DevSrv20090527121930_5F00_thumb_5F00_20DDC315.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Desde el administrador de servicios del Server manager configuramos el servicio de Microsoft Single Sign-On&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3323.DevSrv20090527122108_5F00_6A3FF203.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-21-08" border="0" alt="DevSrv-2009-05-27-12-21-08" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1565.DevSrv20090527122108_5F00_thumb_5F00_52E4C7C5.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Una vez configurada la cuenta de inicio del servicio, lo iniciamos&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2555.DevSrv20090527122122_5F00_5ED6922C.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-21-22" border="0" alt="DevSrv-2009-05-27-12-21-22" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/1581.DevSrv20090527122122_5F00_thumb_5F00_789AA28E.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Abrimos la herramienta central de administración del MOSS 2007.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4237.DevSrv20090527122410_5F00_065CC2BD.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-24-10" border="0" alt="DevSrv-2009-05-27-12-24-10" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4237.DevSrv20090527122410_5F00_thumb_5F00_6BECA9D8.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Verificamos que la cuenta de servicio del SSO este dentro del grupo de administradores de la granja del MOSS 2007 (Para ingresar a la siguiente ventana desde las acciones del sitio debe seleccionar personas y grupos)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2161.DevSrv20090527122438_5F00_450E6DCB.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-24-38" border="0" alt="DevSrv-2009-05-27-12-24-38" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/6765.DevSrv20090527122438_5F00_thumb_5F00_18C1C11A.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Regresamos a la pestaña de operaciones y seleccionamos “Administración de las configuraciones de SSO” de la sección de configuración de seguridad, luego en la siguiente ventana seleccionamos administrar configuraciones del servidor.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/8015.DevSrv20090527122813_5F00_0E6076ED.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-28-13" border="0" alt="DevSrv-2009-05-27-12-28-13" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7532.DevSrv20090527122813_5F00_thumb_5F00_745C90FD.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Configuramos la cuenta de servicio y el grupo de los usuarios de sso (Nota: la cuenta de inicio de servicio de SSO debe pertenecer a este grupo.)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3323.DevSrv20090527122919_5F00_35C71D8A.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-29-19" border="0" alt="DevSrv-2009-05-27-12-29-19" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0027.DevSrv20090527122919_5F00_thumb_5F00_027ABE54.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Luego respaldamos el encryption key desde la opción de administración de clave de encriptación&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/2158.DevSrv20090527123423_5F00_2623C021.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-12-34-23" border="0" alt="DevSrv-2009-05-27-12-34-23" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4705.DevSrv20090527123423_5F00_thumb_5F00_0E5C62EE.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Luego creamos una nueva definición haciendo clic sobre “Manage settings for enterprise application definitions”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/3225.DevSrv20090527140953_5F00_3AD56D07.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-27-14-09-53" border="0" alt="DevSrv-2009-05-27-14-09-53" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/6371.DevSrv20090527140953_5F00_thumb_5F00_691ECCE7.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Para finalizar la configuración del SSO debemos ir al proveedor de servicios compartidos al que pertenece la aplicación web que contendrá los team sites y debemos agregar dicha url dentro de los sitios de confianza de excel services. &lt;a href="http://cid-06b7672f052f5a9c.skydrive.live.com/self.aspx/Public/Excel%20Services/ExcelServicesTrustedLocations.docx"&gt;Descargar documento de referencia.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Prueba de creación de un Team Project&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Nos conectamos desde un equipo cliente con VS 2010 y creamos un Team project (similar a lo realizado en versiones anteriores) y abrimos el team site:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/6787.DevSrv20090528122230_5F00_286C5AAB.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="DevSrv-2009-05-28-12-22-30" border="0" alt="DevSrv-2009-05-28-12-22-30" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4705.DevSrv20090528122230_5F00_thumb_5F00_1AF621D8.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Nota: El Team Foundation Web Access está integrado al team site mediante web parts de sharepoint.&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1719797" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS+2010/default.aspx">VSTS 2010</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/TFS+2010/default.aspx">TFS 2010</category></item><item><title>[MOSS 2007 - SSRS2008] Componentes de integración de SQL Server Reporting Services no aparece en la Administración de Aplicaciones de la Herramienta Central de Administración de SharePoint 2007</title><link>http://msmvps.com/blogs/ffagas/archive/2009/08/31/moss-2007-ssrs2008-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx</link><pubDate>Mon, 31 Aug 2009 03:50:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1719629</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1719629</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2009/08/31/moss-2007-ssrs2008-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx#comments</comments><description>&lt;p&gt;En esta última semana me volví a encontrar con el mismo problema de integración entre MOSS 2007 y SSRS 2008, la solución que publiqué hace algún tiempo atrás, también aplica para esta versión de SSRS 2008.&lt;/p&gt;  &lt;p&gt;La solución está en el siguiente link: &lt;a title="http://msmvps.com/blogs/ffagas/archive/2008/08/11/moss-2007-ssrs2005-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx" href="http://msmvps.com/blogs/ffagas/archive/2008/08/11/moss-2007-ssrs2005-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx"&gt;http://msmvps.com/blogs/ffagas/archive/2008/08/11/moss-2007-ssrs2005-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1719629" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/SSRS+2008/default.aspx">SSRS 2008</category></item><item><title>[Cómo hacer] MsiInstallProduct return code: 1603 - Restauración de sitios de Team Foundation Server 2008</title><link>http://msmvps.com/blogs/ffagas/archive/2009/08/31/c-243-mo-hacer-msiinstallproduct-return-code-1603-restauraci-243-n-de-sitios-de-team-foundation-server-2008.aspx</link><pubDate>Mon, 31 Aug 2009 02:44:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1719768</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1719768</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2009/08/31/c-243-mo-hacer-msiinstallproduct-return-code-1603-restauraci-243-n-de-sitios-de-team-foundation-server-2008.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Descripci&amp;oacute;n del problema&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cuando se trabaja con Team Fundation Server 2008 se pueden distribuir los diferentes productos y componentes que forman parte de la soluci&amp;oacute;n en diferentes servidores. Algunas ocasiones&amp;nbsp;&amp;nbsp; los sitios para los team projects que se encuentran en el Team Foundation Server 2008 pueden estar en un servidor de MOSS 2007. Debido a una actualizaci&amp;oacute;n y desconocimiento del administrador de dicho servidor, en el servidor de MOSS 2007 se pueden eliminar todos los sitios del TFS 2008 y puede que estos no se encuentren respaldados, adicionalmente puede darse el caso que la actualizaci&amp;oacute;n sea hacia un servidor de 64 bits, a partir de ese momento cuando quieran subir una nueva gu&amp;iacute;a de proceso, crear un Team Project o agregar documentos les presentar&amp;aacute; un error. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Nota: Se considera para este escenario que se mantiene el nombre del servidor de SharePoint y se crea una aplicaci&amp;oacute;n web en el mismo puerto previo a la acci&amp;oacute;n de eliminaci&amp;oacute;n.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Soluci&amp;oacute;n al problema&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;El procedimiento normal ser&amp;iacute;a volver a instalar las extensiones del TFS para SharePoint pero debido a que ahora el servidor es de 64 bits es necesario primero descargue desde el sitio de descarga las extensiones de TFS para Sharepoint de 64 bits (&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FBD14EEA-781F-45A1-8C46-9F6BA2F68BF0&amp;amp;displaylang=en"&gt;WssExt64Bit.msi&lt;/a&gt;), de lo contrario al momento de instalar las extensiones que viene en el instalador de TFS 2008 por defecto le presentar&amp;aacute; el siguiente mensaje de error:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4214.errorTFS_5F00_46FF1609.jpg"&gt;&lt;img height="121" width="388" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/4721.errorTFS_5F00_thumb_5F00_377C043A.jpg" alt="errorTFS" border="0" title="errorTFS" style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Y en el log del instalador les retornar&amp;aacute; el siguiente error:&lt;/p&gt;
&lt;p&gt;[08/31/09,10:59:49] Setup.exe: AddGlobalCustomProperty &lt;br /&gt;[08/31/09,10:59:49] Microsoft Visual Studio 2008 Team Foundation Server SharePoint Extensions - ENU: ***ERRORLOG EVENT*** : ERROR:SharePoint must be installed to install this product. &lt;br /&gt;[08/31/09,10:59:49] Setup.exe: AddGlobalCustomProperty &lt;br /&gt;[08/31/09,10:59:50] Microsoft Visual Studio 2008 Team Foundation Server SharePoint Extensions - ENU: ***ERRORLOG EVENT*** : ACTION FAILURE:Action ended 10:59:49: CA_LaunchCondition_STSADM_Present. Return value 3.See MSI log for details. &lt;br /&gt;[08/31/09,10:59:50] Setup.exe: AddGlobalCustomProperty &lt;br /&gt;[08/31/09,10:59:50] Microsoft Visual Studio 2008 Team Foundation Server SharePoint Extensions - ENU: ***ERRORLOG EVENT*** : ACTION FAILURE:Action ended 10:59:50: INSTALL. Return value 3.See MSI log for details. &lt;br /&gt;[08/31/09,10:59:50] Microsoft Visual Studio 2008 Team Foundation Server SharePoint Extensions - ENU: CRootComponent::Install(): Finished MSI Installation &lt;br /&gt;[08/31/09,10:59:50] Microsoft Visual Studio 2008 Team Foundation Server SharePoint Extensions - ENU: MsiInstallProduct return code: 1603.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Nota: el link hace referencia al release de octubre de 2008, procure que sea el &amp;uacute;ltimo release.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Al finalizar la instalaci&amp;oacute;n de las extensiones del TFS para SharePoint vuelva a ingresar los valores anteriores en la configuraci&amp;oacute;n de las extensiones de SharePoint indicando las siguientes urls: sitios de TFS &lt;a href="http://servidorsharepointpuerto"&gt;http://servidorsharepoint:puerto/sites&lt;/a&gt;, servidor de reportes: &lt;a href="http://servidorreportes/reports"&gt;http://servidorreportes/reports&lt;/a&gt; y report server: &lt;a href="http://servidorreportes/reportserver"&gt;http://servidorreportes/reportserver&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A partir de esta configuraci&amp;oacute;n ya podr&amp;aacute; volver a utilizar el Team Foundation Server con normalidad.&lt;/p&gt;
&lt;p&gt;Para los Team Projects existentes una soluci&amp;oacute;n ser&amp;iacute;a crear los sitios desde la administraci&amp;oacute;n central de SharePoint (&lt;em&gt;Nota: Por razones de seguridad he borrado direcciones de servidor&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;a. Desde la herramienta central de administraci&amp;oacute;n de MOSS 2007 seleccionar la aplicaci&amp;oacute;n web que contendr&amp;aacute; los sitios de los proyectos.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/8015.CrearTeamProject01_5F00_31C0EA94.jpg"&gt;&lt;img height="698" width="892" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/5710.CrearTeamProject01_5F00_thumb_5F00_6D50D387.jpg" alt="CrearTeamProject01" border="0" title="CrearTeamProject01" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/5707.CrearTeamProject02_5F00_2D0A9440.jpg"&gt;&lt;img height="701" width="896" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/8446.CrearTeamProject02_5F00_thumb_5F00_22F5F315.jpg" alt="CrearTeamProject02" border="0" title="CrearTeamProject02" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;b. Una vez seleccionada la aplicaci&amp;oacute;n se debe seleccionar crear colecci&amp;oacute;n de sitios&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/7838.CrearTeamProject03_5F00_7DC882DB.jpg"&gt;&lt;img height="701" width="896" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/8037.CrearTeamProject03_5F00_thumb_5F00_39C49EC4.jpg" alt="CrearTeamProject03" border="0" title="CrearTeamProject03" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;c. En la pantalla de creaci&amp;oacute;n de sitios escribir el mismo nombre del team project en los campos: title y url, en la secci&amp;oacute;n de la plantilla seleccionar la plantilla de su gu&amp;iacute;a de proceso y en el administrador ingresar tfssetup, dar clic en aceptar.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/6864.CrearTeamProject04_5F00_2456C38F.jpg"&gt;&lt;img height="706" width="903" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.metablogapi/0005.CrearTeamProject04_5F00_thumb_5F00_0EAC6525.jpg" alt="CrearTeamProject04" border="0" title="CrearTeamProject04" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1719768" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS+2008/default.aspx">VSTS 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/TFS+2008/default.aspx">TFS 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/WSS+3.0/default.aspx">WSS 3.0</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>[VS2008 – WWF – MOSS 2007] ¿Cómo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?</title><link>http://msmvps.com/blogs/ffagas/archive/2009/03/16/vs2008-wwf-moss-2007-191-c-243-mo-crear-tareas-paralelas-en-moss-2007-desde-visual-studio-2008.aspx</link><pubDate>Mon, 16 Mar 2009 16:44:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1678381</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1678381</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2009/03/16/vs2008-wwf-moss-2007-191-c-243-mo-crear-tareas-paralelas-en-moss-2007-desde-visual-studio-2008.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Introducción &lt;/strong&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;span style="font-size:10pt;"&gt;En&amp;#160; un artículo anterior publiqué &lt;a href="http://msmvps.com/blogs/ffagas/archive/2008/08/07/vs-2008-moss-2007-191-c-243-mo-crear-actividades-personalizadas.aspx" target="_blank"&gt;cómo crear una tarea en MOSS 2007&lt;/a&gt;, en este artículo aprenderá cómo crear tareas paralelas en MOSS 2007 utilizando &lt;em&gt;Visual Studio 2008 Team Developer&lt;/em&gt;, Visual Studio 2008 nos permite crear de manera sencilla (al estilo Microsoft) flujos de trabajo para SharePoint, para esto disponemos de plantillas de proyecto al momento de empezar con la creación del mismo, en Microsoft Office SharePoint 2007 (MOSS 2007) podemos crear tareas en serie o en paralelo, las mismas que para crearlas las podemos hacer utilizando diferentes herramientas disponibles en el toolbox de Visual Studio 2008, en esta ocasión utilizaremos el replicator para la creación de las actividades en paralelo. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Les recomiendo leer el artículo anteriormente mencionado y descargar su código ya que reutilizaremos el ejemplo anterior para la creación de las tareas. El código fuente del presente artículo lo pueden descargar de aquí:&lt;span style="font-size:10pt;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;a href="http://msmvps.com/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.MOSS2007.WorkFlows/CreacionTareas.zip"&gt;Descargar código Fuente.&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Software Requerido &lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;span style="font-size:10pt;"&gt;Windows Server 2003 o superior &lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size:10pt;"&gt;Microsoft Office SharePoint 2007 (instalación stand alone) &lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span style="font-size:10pt;"&gt;Visual Studio 2008 Team Developer&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Desarrollo &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Empiece abriendo Visual Studio 2008 y agregando un nuevo proyecto a la solución anterior.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/001_5F00_07CCB765.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="001" border="0" alt="001" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/001_5F00_thumb_5F00_74E80DED.jpg" width="583" height="407" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;De la lista de Tipos de Proyectos seleccione Workflow y luego de la lista de plantillas SharePoint 2007 Sequential Workflow, le asigna un nombre a su proyecto y de clic en Ok.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/002_5F00_57B24016.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="002" border="0" alt="002" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/002_5F00_thumb_5F00_3A103F4A.jpg" width="581" height="406" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Visual Studio 2008 iniciará un asistente, el cual en esta primera ventana deberá asignarle el nombre&amp;#160; de su flujo de trabajo que desea que aparezca en SharePoint, e ingresar la url del sitio sobre el cual va a publicar el flujo de trabajo, Visual Studio 2008 en plataformas de 32 bits le permite publicar y hacer debug de sus flujos de trabajo para MOSS 2007, para lo cual utilizará la url proporcionada en este paso.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/003_5F00_06872267.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="003" border="0" alt="003" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/003_5F00_thumb_5F00_23ACCA71.jpg" width="604" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Si usted desea puede marcar para que automáticamente se asocie el flujo de trabajo que va a desarrollar con una librería en particular, caso contrario lo puede realizar manualmente utilizando comandos. Para la asociación automática debemos tener claro que significa cada elemento listado en este paso del asistente. El flujo de trabajo se debe asociar a una lista, esta lista será quien inicie el flujo de trabajo bajo ciertas condiciones, la lista de historial me permitirá almacenar toda la información relacionada al flujo de trabajo, por ejemplo: cuando inicio el flujo, cierta actividad, cuanto terminó, quién la terminó, etc., por último tenemos que seleccionar la lista de tareas, en esta lista el flujo de trabajo creará las tareas que nosotros le indiquemos. Antes de continuar y una vez entendido lo anterior pensemos en el siguiente escenario: Tenemos una librería de documentos que cada vez que se modifique un documento este deba ser aprobado por la persona X, persona Y o persona Z (esto implica que cualquiera de dichos usuarios puede aprobar el documento, es decir, estamos hablando de un flujo de aprobación en paralelo), para que dichos usuarios se enteren de que deben aprobar el documento debemos crear tareas y asignárselas para esto utilizaremos la lista de tareas.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/004_5F00_47857BFE.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="004" border="0" alt="004" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/004_5F00_thumb_5F00_2A4FAE27.jpg" width="604" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;En este paso final del asistente debemos seleccionar cuando queremos que el flujo de trabajo se inicie, basándonos en el ejemplo anterior debería seleccionar cuando el elemento cambie, pero en este caso yo quiero iniciar el flujo manualmente, razón por la cual selecciono sólo la primera acción.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/005_5F00_580D511F.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="005" border="0" alt="005" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/005_5F00_thumb_5F00_1CD97554.jpg" width="604" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Una vez terminado el asistente se abrirá el diseñador del flujo, recuerden que para la creación de una tarea utilizaremos el ejemplo publicado en el artículo anterior, por lo cual debemos a este proyecto agregar la referencia al mismo.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/006_5F00_6EED1EBA.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="006" border="0" alt="006" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/006_5F00_thumb_5F00_6AB32128.jpg" width="607" height="424" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;En la ventana de referencias seleccione de proyectos BasicTaskActivity.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/007_5F00_2CE4F1B3.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="007" border="0" alt="007" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/007_5F00_thumb_5F00_11CC22A5.jpg" width="471" height="387" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;En ese momento en el toolbox veremos el componente WssTaskActivity, pero antes de agregarlo debemos insertar en el flujo de trabajo el componente que realizará la creación de las tareas en paralelo, para lo cual seleccionen el componente replicator y llévenlo hacia el área de trabajo, luego seleccionen WssTaskActivity e insértenlo dentro del replicator.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/008_5F00_34EDB601.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="008" border="0" alt="008" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/008_5F00_thumb_5F00_2A00AEEC.jpg" width="604" height="392" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;La siguiente es la vista del flujo de trabajo con el replicator insertado. Le damos doble clic sobre el componente onWorkflowActivated1, para proceder a inicializar variables.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/009_5F00_582A84D9.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="009" border="0" alt="009" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/009_5F00_thumb_5F00_1B45DD3A.jpg" width="604" height="392" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Una vez realizado lo anterior, vamos al código del flujo de trabajo y defina las siguientes variables públicas:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#008000;"&gt;//Contendrá la lista de aprobadores.&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; IList approversList;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#008000;"&gt;//Bandera que se utilizará para determinar si la tarea actual&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#008000;"&gt;//fue completada o no, por defecto es falso.&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; isActualTaskCompleted = &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&amp;#160;&lt;/pre&gt;

&lt;p&gt;En este ejemplo quemaremos en el código la lista de aprobadores, pero debemos tener en cuenta que los aprobadores los podemos obtener de cualquier objeto.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; onWorkflowActivated1_Invoked(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, ExternalDataEventArgs e)
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;{
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   approversList = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; ArrayList();
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   approversList.Add(&amp;quot;&lt;span style="color:#8b0000;"&gt;igec\\ffagas&lt;/span&gt;&amp;quot;);
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   approversList.Add(&amp;quot;&lt;span style="color:#8b0000;"&gt;igec\\user1a&lt;/span&gt;&amp;quot;);
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;   approversList.Add(&amp;quot;&lt;span style="color:#8b0000;"&gt;igec\\user2a&lt;/span&gt;&amp;quot;);
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;}&lt;/pre&gt;&lt;/pre&gt;

&lt;p align="justify"&gt;Una vez inicializada la lista de aprobadores regresamos a la vista de diseño del flujo de trabajo y procedemos a configurar las propiedades del replicator, lo primero que debemos hacer es vincular la variable approversList con la propiedad InitialChildData, el replicator utilizará esta lista para la creación de las actividades, veamos al replicator como un foreach, lo que implica que no debemos programar el avance al siguiente elemento de la lista, el replicator permite dos tipos de iteraciones en serie o en paralelo, por defecto está en serie, procedamos a cambiarlo a paralelo. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/010_5F00_0491AB60.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="010" border="0" alt="010" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/010_5F00_thumb_5F00_13E50D6F.jpg" width="514" height="414" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Luego, procedemos a programar los siguientes métodos del replicator, para lo cual en la lista de propiedades ingrese el nombre del método y enter, automáticamente el VS abrirá la vista de código del flujo:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; ParallelChildInitialized(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, ReplicatorChildEventArgs e)
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;{
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  &lt;span style="color:#008000;"&gt;/* Debemos hacer un cast de la actividad que está actualmente instanciada
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;     con la actividad que creamos en el proyecto anterior, para &lt;/p&gt;&lt;p&gt;     poder tener acceso 
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;     a las propiedades públicas de la misma. Estas propiedades &lt;/p&gt;&lt;p&gt;     nos permitirán asignar a un usuario,
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;     la descripción, título, ID (es un GUID), y el campo de estado de la tarea.
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  */&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  &lt;span style="color:#008000;"&gt;//Recuerde que los usuarios a los que se va a asignar la tarea se encuentran en la lista,&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  &lt;span style="color:#008000;"&gt;//entonces debe hacer referencia al dato actualmente instanciado y asignarselo al campo público de la actividad.&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  (e.Activity &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; BasicTaskActivity.WssTaskActivity).strAsignadoA = e.InstanceData.ToString();
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  (e.Activity &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; BasicTaskActivity.WssTaskActivity).strDescripcion = &amp;quot;&lt;span style="color:#8b0000;"&gt;Demo Tarea Paralelas&lt;/span&gt;&amp;quot;;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  (e.Activity &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; BasicTaskActivity.WssTaskActivity).strTitulo = &amp;quot;&lt;span style="color:#8b0000;"&gt;Demo Tarea Paralela&lt;/span&gt;&amp;quot;;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  (e.Activity &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; BasicTaskActivity.WssTaskActivity).taskId = Guid.NewGuid();
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;  &lt;span style="color:#008000;"&gt;// Para obtener información de una columna de sharepoint la debemos instanciar por su GUID, &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;para lo cual utilizaremos las propiedades del flujo,&lt;/span&gt;
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;  &lt;span style="color:#008000;"&gt;// instanciamos la lista de tareas, luego sus campos y le pasamos como &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;parametro el nombre que se muestra en sharepoint&lt;/span&gt;
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;  &lt;span style="color:#008000;"&gt;// en este caso me interesa conocer la información del campo estado, y obtengo su ID (GUID) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;que utilizará el WssTaskActivity para obtener la información&lt;/span&gt;
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;  &lt;span style="color:#008000;"&gt;// del estado actual de la tarea &lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;  (e.Activity &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; BasicTaskActivity.WssTaskActivity).idCampoEstado = &lt;/p&gt;&lt;p&gt;workflowProperties.TaskList.Fields[&amp;quot;&lt;span style="color:#8b0000;"&gt;Estado&lt;/span&gt;&amp;quot;].Id;
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;}&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; ParallelChildCompleted(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, ReplicatorChildEventArgs e)
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;        {
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;// Validamos cada vez que se complete una actividad hija del &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;replicator el estado actual de la tarea&lt;/span&gt;
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;// si la tarea fue completada, cambiamos el estado de la &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;variable isActualTaskCompleted a True.&lt;/span&gt;
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;            &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; ((e.Activity &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; BasicTaskActivity.WssTaskActivity).esTareaCompletada)
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;            {
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;                &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.isActualTaskCompleted = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;            }
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;        }&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;/*Este método corresponde a la condición del replicator, &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008000;"&gt;debe seleccionar en el tipo de condición (Until Condition)
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;código, y luego insertar el siguiente método, y le asignamos &lt;/p&gt;&lt;p&gt;el valor de la variable this.isActualTaskCompleted, con esto
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;cuando un usuario complete la tarea el flujo terminará.
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;*/&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; ParallelTasksNotCompleteCondition(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, ConditionalEventArgs e)
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;        {
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;            e.Result = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.isActualTaskCompleted;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;        }&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;Una vez realizado lo anterior, compilamos y ejecutamos el flujo de trabajo, esto le abrirá un navegador y deberá inicializar el flujo manualmente:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/011_5F00_70A9FC5C.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="011" border="0" alt="011" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/011_5F00_thumb_5F00_0880BDB6.jpg" width="529" height="330" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;

&lt;p&gt;De la lista de flujos de trabajo seleccionamos el que acabamos de publicar y le aparecerá que la operación de inicialización está en proceso.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/012_5F00_24CDFFD6.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="012" border="0" alt="012" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/012_5F00_thumb_5F00_0D534BA5.jpg" width="540" height="337" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;A continuación en el estado del flujo de trabajo veremos que se ha creado las tareas para los usuarios que configuramos en la lista&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/013_5F00_723A7C96.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="013" border="0" alt="013" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/013_5F00_thumb_5F00_0768823F.jpg" width="552" height="331" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Seleccionamos cualquiera de ellas y editamos su estado&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/014_5F00_78DD604C.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="014" border="0" alt="014" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/014_5F00_thumb_5F00_5FB1E047.jpg" width="554" height="332" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Seleccionamos completada. (Tenga en cuenta que si su sharepoint está en español deberá cambiar el código de la tarea personalizada), por lo siguiente:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; cambiaTarea_Invoked(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, ExternalDataEventArgs e)
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;        {
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;p&gt;            &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; estado = &lt;/p&gt;&lt;p&gt;cambiaTarea_AfterProperties1.ExtendedProperties[idCampoEstado].ToString();
&lt;/p&gt;&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;            &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (estado != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;)
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;            {
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;                &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (estado.Equals(&amp;quot;&lt;span style="color:#8b0000;"&gt;Completada&lt;/span&gt;&amp;quot;))
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;                    &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.esTareaCompletada = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;            }
&lt;/pre&gt;&lt;pre style="background-color:#ffffff;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;        }&lt;/pre&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/015_5F00_7141CB12.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="015" border="0" alt="015" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/015_5F00_thumb_5F00_789D8ABF.jpg" width="673" height="403" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Luego de completar la tarea el flujo aparecerá con un estado ya no en curso sino en Finalizado.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/016_5F00_5B67BCE8.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="016" border="0" alt="016" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/016_5F00_thumb_5F00_1DAAAF5F.jpg" width="674" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1678381" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS+2008/default.aspx">VSTS 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Personalizacion/default.aspx">Personalizacion</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Workflows/default.aspx">Workflows</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/WSS+3.0/default.aspx">WSS 3.0</category></item><item><title>[MOSS 2007 – VS Team Test] ¿Puedo Ejecutar Pruebas Web a Sitios de SharePoint Utilizando Team Test?</title><link>http://msmvps.com/blogs/ffagas/archive/2008/11/02/moss-2007-vs-team-test-191-puedo-ejecutar-pruebas-web-a-sitios-de-sharepoint-utilizando-team-test.aspx</link><pubDate>Sun, 02 Nov 2008 05:25:45 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1652797</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1652797</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/11/02/moss-2007-vs-team-test-191-puedo-ejecutar-pruebas-web-a-sitios-de-sharepoint-utilizando-team-test.aspx#comments</comments><description>&lt;p align="justify"&gt;Con Visual Studio Team Test podemos ejecutar pruebas como manuales, unitarias, web, carga, etc, en este artículo les hablaré de cómo ejecutar pruebas web sobre sitios implementados con &lt;a target="_blank" href="http://office.microsoft.com/es-es/sharepointserver/FX100492003082.aspx"&gt;Microsoft Office SharePoint Server 2007 (MOSS 2007)&lt;/a&gt;, la prueba que realizaré es ingresar a un sitio básico, luego dirigirme al subsitio de documentos y abrir una librería documental, para lo cual debemos considerar que los usuarios que van a ingresar son usuarios de un directorio activo y que antes de ingresar al sitio deberán digitar sus credenciales, el sitio que vamos a probar se muestra a continuación:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject1_5F00_3B97F6A8.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject1" border="0" alt="MOSSTestProject1" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject1_5F00_thumb_5F00_5B8353A5.jpg" width="644" height="389" /&gt;&lt;/a&gt;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Para ejecutar la prueba antes descrita vamos a empezar creando un nuevo proyecto de pruebas.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject2_5F00_456CC246.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject2" border="0" alt="MOSSTestProject2" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject2_5F00_thumb_5F00_6226375B.jpg" width="644" height="458" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Una vez creado el proyecto de pruebas, agregaremos una nueva prueba de tipo web que llamaré MossTestNav1.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject3_5F00_73B62226.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject3" border="0" alt="MOSSTestProject3" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject3_5F00_thumb_5F00_7B11E1D3.jpg" width="580" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Al momento que creamos la prueba web Visual Studio abrirá un IE para grabar la secuencia de la prueba que deseamos ejecutar (El sitio solicitará el usuario y contraseña antes de abrir el sitio)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject4_5F00_6C1A8CEC.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject4" border="0" alt="MOSSTestProject4" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject4_5F00_thumb_5F00_5B52E23E.jpg" width="644" height="390" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Subsitio de Documentos)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject5_5F00_585D7D8B.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject5" border="0" alt="MOSSTestProject5" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject5_5F00_thumb_5F00_548FB2EE.jpg" width="644" height="389" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;(Librería Documental)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject6_5F00_695185A1.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject6" border="0" alt="MOSSTestProject6" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject6_5F00_thumb_5F00_0B0D3866.jpg" width="644" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Al finalizar la secuencia para detener la grabación de la misma deben dar clic en Stop. Luego mandamos a ejecutar la prueba guardada con la herramienta y tendremos el siguiente resultado (Podemos observar que los 3 request retornan error y en la vista del navegador observamos el mensaje: Usted no está autorizado para ver esta página), este error se da porque no le estamos pasamos las credenciales del usuario con el que deseamos ejecutar la prueba.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject6.1_5F00_38CADB5E.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject6.1" border="0" alt="MOSSTestProject6.1" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject6.1_5F00_thumb_5F00_5AF2C117.jpg" width="644" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Con Visual Studio 2008 Team Test podemos configurar data sources (orígenes de datos) para ejecutar nuestra pruebas, estos orígenes de datos para pruebas web pueden ser bases de datos, archivos csv y xml, para este caso crearé un archivo xml llamado usuarios y agregaré 4 usuarios con su respectiva contraseña:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject7_5F00_3D50C04B.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject7" border="0" alt="MOSSTestProject7" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject7_5F00_thumb_5F00_67704866.jpg" width="644" height="377" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Una vez creado el archivo xml retorno a Visual Studio y en la prueba web selecciono “Agregar Data Source” (En la imagen a continuación ver 1), luego en el asistente selecciono “XML file”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject8_5F00_2CE522C5.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject8" border="0" alt="MOSSTestProject8" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject8_5F00_thumb_5F00_5D4B816E.jpg" width="644" height="390" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A continuación selecciono el archivo anteriormente creado.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject9_5F00_6F17EF6E.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject9" border="0" alt="MOSSTestProject9" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject9_5F00_thumb_5F00_19A3AA7F.jpg" width="550" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Seleccionamos la tabla que vamos a utilizar para esta prueba y cerramos el asistente con Finalizar.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject10_5F00_6854C01E.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject10" border="0" alt="MOSSTestProject10" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject10_5F00_thumb_5F00_182F61E0.jpg" width="550" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Una vez configurado el data source debemos establecer las credenciales de la prueba, para esto junto a “Agregar Data Source” existe un botón “Set Credentials”, en el cuadro de dialogo seleccionamos los campos de la tabla del data source que corresponde al nombre de usuario y contraseña.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject11_5F00_0AE8D8CD.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject11" border="0" alt="MOSSTestProject11" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject11_5F00_thumb_5F00_325FA537.jpg" width="644" height="388" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Una vez realizadas estas configuraciones volvamos a ejecutar la prueba web, ahora podremos observar que no recibimos error y en el tab “Web Browser” vemos que se ha iniciado sesión con el primer usuario que configuramos en el archivo usuarios.xml (Nota: el usuario intranetadmin constituye para el sitio el usuario cuenta del sistema).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject11.1_5F00_35B11712.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject11.1" border="0" alt="MOSSTestProject11.1" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject11.1_5F00_thumb_5F00_180F1646.jpg" width="644" height="389" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;En el caso anterior la prueba web se ejecutó una sola vez debido a que así estaba configurado, si queremos ejecutar la misma prueba web para varios usuarios y validar el nivel de permisos de los mismos y determinar que esta viendo cada usuario de la intranet, en la ventana de resultados de la prueba web den clic sobre “Edit run settings”, a continuación se les presentará el siguiente cuadro de dialogo dobre procedemos a cambiar el número de ejecuciones de “Fixed run count (1)” a “One run per data source row”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject12_5F00_72757317.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject12" border="0" alt="MOSSTestProject12" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject12_5F00_thumb_5F00_7058744E.jpg" width="562" height="484" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Para finalizar, ejecutamos nuevamente la prueba web y esta vez podemos observar que se ejecuta 4 veces (debido a que tenemos 4 entradas en el data source), comparemos el resultado de la ejecución anterior (ejecución con cuenta del sistema) con la ejecución actual, en la vista del web browser nos podemos dar cuenta que con el usuario que inició sesión en la segunda ejecución corresponde a la segunda entrada del data source (user1a) y debido a que este usuario solo tiene nivel de permisos de lector no aparece ningún link de acciones administrativas como “Acciones del sitio”. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;(Resultado ejecución anterior de la prueba)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject14_5F00_22036BD7.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject14" border="0" alt="MOSSTestProject14" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject14_5F00_thumb_5F00_4FC10ECF.jpg" width="644" height="389" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(Resultado ejecución actual de la prueba)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject13_5F00_2F95DC45.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="MOSSTestProject13" border="0" alt="MOSSTestProject13" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas/MOSSTestProject13_5F00_thumb_5F00_2A8378C9.jpg" width="644" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1652797" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS+2008/default.aspx">VSTS 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Team+Test/default.aspx">Team Test</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/WSS+3.0/default.aspx">WSS 3.0</category></item><item><title>[MOSS 2007]¿ Puedo instalar WSS 3 o MOSS 2007 en Windows Server 2008 con SQL Server 2008?</title><link>http://msmvps.com/blogs/ffagas/archive/2008/09/02/moss-2007-191-puedo-instalar-wss-3-o-moss-2007-en-windows-server-2008-con-sql-server-2008.aspx</link><pubDate>Tue, 02 Sep 2008 19:16:47 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1646509</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1646509</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/09/02/moss-2007-191-puedo-instalar-wss-3-o-moss-2007-en-windows-server-2008-con-sql-server-2008.aspx#comments</comments><description>&lt;p&gt;Hace unos días atrás durante una reunión con comunidades me hicieron esta pregunta, pues la respuesta es muy sencilla si y la forma de instalarlo es la misma como si fuera sobre un Windows Server 2003 con SQL Server 2005, pero debes tener en cuenta los siguientes tips:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;En Windows Server 2008 debes agregar dos roles a tu servidor: Application Server y Web Server.  &lt;li&gt;Debes instalar el .Net Framework 3.5 y el Sp1 (Requerido para instalar SQL Server 2008 - mas detalle puedes encontrarlo &lt;a href="http://msmvps.com/blogs/ffagas/archive/2008/08/07/instalaci-243-n-de-sql-server-2008-rc0-en-windows-server-2008.aspx"&gt;aquí&lt;/a&gt;), si vas a utilizar a RS integrado con MOSS 2007 les recomiendo que durante la instalación de SQL Server 2008 simplemente instalen pero no configuren el RS, luego lo configurarán manualmente en base a su arquitectura física de la implementación (Deben utilizar el &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=200fd7b5-db7c-4b8c-a7dc-5efee6e19005"&gt;SQL Server 2008 Reporting Services Add-in&lt;/a&gt;. Recuerden también este &lt;a href="http://msmvps.com/blogs/ffagas/archive/2008/08/11/moss-2007-ssrs2005-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx"&gt;tip&lt;/a&gt;)  &lt;li&gt;Debes instalar el WSS 3.0 o MOSS 2007 con SP1. Si tienen el instalador sin SP y el SP lo descargaron por separado, lo que deben hacer es copiar el instalador en el disco del servidor, así como el SP de WSS y MOSS, luego para cada instalador ejecuten lo siguiente:  &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;%nombre_de_instalador_sp_WSS/MOSS&lt;/strong&gt;.exe% /extract:C:\SP%WSS/MOSS%&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;*Lo que se encuentra entre %% es variable dependerá del nombre del instalador del SP y así mismo para el nombre de la carpeta donde van a extraer los archivos.&lt;/p&gt; &lt;p&gt;Finalmente copien el contenido extraido de cada SP de WSS y MOSS 2007 y peguenlo en la carpeta update del instalador de MOSS 2007.&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1646509" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/WSS+3.0/default.aspx">WSS 3.0</category></item><item><title>[MOSS 2007 - VS2008] Mejores prácticas al momento de utilizar objetos de Windows SharePoint Services</title><link>http://msmvps.com/blogs/ffagas/archive/2008/08/12/moss-2007-vs2008-mejores-pr-225-cticas-al-momento-de-utilizar-objetos-de-windows-sharepoint-services.aspx</link><pubDate>Tue, 12 Aug 2008 05:10:48 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1644343</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1644343</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/08/12/moss-2007-vs2008-mejores-pr-225-cticas-al-momento-de-utilizar-objetos-de-windows-sharepoint-services.aspx#comments</comments><description>&lt;p&gt;Tal como comenté en un post anterior respaldando mi información me encontré con este artículo que revisé antes de presentarme a dar mi examen de certificación de desarrollo de aplicaciones con MOSS 2007 por Junio del año pasado y que durante todo este tiempo me ha sido de mucha utilidad para escribir código de manera correcta y optimizado, el artículo lo pueden encontrar &lt;a href="http://msdn.microsoft.com/en-us/library/aa973248.aspx"&gt;aquí&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.MOSS2007VS2008Mejoresprcticasalmomentode_5F00_283/MCTS_2800_rgb_29005F00_507_5F00_526_5F00_530_5F00_1076_5F00_1077_5F00_2.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" height="60" alt="MCTS(rgb)_507_526_530_1076_1077" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.MOSS2007VS2008Mejoresprcticasalmomentode_5F00_283/MCTS_2800_rgb_29005F00_507_5F00_526_5F00_530_5F00_1076_5F00_1077_5F00_thumb.jpg" width="311" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1644343" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/VSTS+2008/default.aspx">VSTS 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Best+Practice/default.aspx">Best Practice</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/WSS+3.0/default.aspx">WSS 3.0</category></item><item><title>[MOSS 2007 - SSRS2005] Componentes de integración de SQL Server Reporting Services no aparece en la Administración de Aplicaciones de la Herramienta Central de Administración de SharePoint 2007</title><link>http://msmvps.com/blogs/ffagas/archive/2008/08/11/moss-2007-ssrs2005-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx</link><pubDate>Mon, 11 Aug 2008 22:50:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1644342</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1644342</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/08/11/moss-2007-ssrs2005-componentes-de-integraci-243-n-de-sql-server-reporting-services-no-aparece-en-la-administraci-243-n-de-aplicaciones-de-la-herramienta-central-de-administraci-243-n-de-sharepoint-2007.aspx#comments</comments><description>&lt;p&gt;Respaldando unos documentos de implementaciones de SharePoint 2007 que he realizado con algunos clientes me encontr&amp;eacute; con un problema que tuvimos por diciembre del a&amp;ntilde;o pasado mientras implement&amp;aacute;bamos una soluci&amp;oacute;n de intranet cuyos reportes de Reporting Services deb&amp;iacute;an estar en una librer&amp;iacute;a de reportes de MOSS 2007, en la actualidad no he tenido que volver a implementar una soluci&amp;oacute;n de este tipo pero en aquel tiempo me encontr&amp;eacute; con el problema de que pese de haber instalado correctamente el SP2 de SQL Server 2005, configurado Reporting Services 2005 de manera correcta para la integraci&amp;oacute;n con MOSS 2007 e instalado el RSIntegration Add-In sin ning&amp;uacute;n error, cuando &amp;iacute;bamos a la Herramienta Central de Administraci&amp;oacute;n de SharePoint 2007 en la secci&amp;oacute;n de Administraci&amp;oacute;n de Aplicaciones no aparec&amp;iacute;an los en laces para continuar la configuraci&amp;oacute;n de Reporting Services, si usted tiene el mismo problema siga los siguientes pasos para instalar correctamente y poder utilizar esta caracter&amp;iacute;stica: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instale el SP 2 de SQL Server 2005 &lt;/li&gt;
&lt;li&gt;Configure SSRS 2005 en modo integraci&amp;oacute;n con MOSS 2007 &lt;/li&gt;
&lt;li&gt;Al momento de instalar el RSIntegration Add-In primero abra una ventana del command prompt de Windows y ub&amp;iacute;quese en la carpeta donde se encuentra el instalador a continuaci&amp;oacute;n ejecute el siguiente comando (el nombre de mi instalador corresponde al instalador para servidores de 64 bits ya que el servidor de producci&amp;oacute;n era un Blade con procesador AMD de 64 bits): &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;SharePointRS_x64ESN.msi SKIPCA=1 (A continuaci&amp;oacute;n de clic Next)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Luego desde el explorador de Windows ubique la siguiente ruta \Documents and Settings\&amp;lt;su nombre&amp;gt;\LOCALS~1\Temp &lt;/li&gt;
&lt;li&gt;Regrese al command prompt y digite CD \Documents and Settings\&amp;lt;Intranetadmin&amp;gt;\LOCALS~1\Temp &lt;/li&gt;
&lt;li&gt;Una vez ubicado en la ruta mencionada anteriormente en el command prompt digite: &lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;rsCustomAction.exe /i &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;De esta forma tenemos los componentes de Reporting Services instalados en el Servidor de MOSS 2007.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1644342" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Best+Practice/default.aspx">Best Practice</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/SSRS+2005/default.aspx">SSRS 2005</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category></item><item><title>[VS2008 -WWF- MOSS 2007] ¿Cómo crear actividades personalizadas?</title><link>http://msmvps.com/blogs/ffagas/archive/2008/08/07/vs-2008-moss-2007-191-c-243-mo-crear-actividades-personalizadas.aspx</link><pubDate>Thu, 07 Aug 2008 21:25:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1643910</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1643910</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/08/07/vs-2008-moss-2007-191-c-243-mo-crear-actividades-personalizadas.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Introducci&amp;oacute;n &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;En este art&amp;iacute;culo aprender&amp;aacute; c&amp;oacute;mo crear una actividad personalizada utilizando Visual Studio 2008, esta actividad contendr&amp;aacute; los pasos b&amp;aacute;sicos necesarios para asignar una tarea en MOSS 2007 a un usuario, la misma que esperar&amp;aacute; a que este la complete, en una segunda publicaci&amp;oacute;n aprender&amp;aacute; c&amp;oacute;mo utilizar &amp;eacute;sta actividad personalizada en un flujo de trabajo para MOSS 2007. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Para poder utilizar e&lt;span style="font-size:10pt;"&gt;sta actividad en un flujo para MOSS 2007 deber&amp;aacute; ser firmada con un strong name (La clave para quienes descarguen el codigo de ejemplo es Password1)&amp;nbsp;y publicada en el GAC del servidor de MOSS 2007. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.MOSS2007.WorkFlows/BasicTaskActivity.zip"&gt;&lt;span style="font-size:10pt;"&gt;Descargar c&amp;oacute;digo Fuente.&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Software Requerido &lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-size:10pt;"&gt;Windows Server 2003 o superior &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:10pt;"&gt;Microsoft Office SharePoint 2007 (instalaci&amp;oacute;n stand alone) &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:10pt;"&gt;Visual Studio 2008 &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Desarrollo &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Empiece abriendo Visual Studio 2008 y cree un nuevo proyecto. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/01VS_5F00_4.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/01VS_5F00_thumb_5F00_1.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Los flujos de trabajo para MOSS 2007 son flujos de Windows WorkFlow Foundation, por lo tanto de la lista de Project types seleccione Workflow, y luego seleccione la plantilla Workflow Activity Library, en el nombre del proyecto ingrese BasicTaskActivity. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/02NewProject_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/02NewProject_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Una vez creado el proyecto deber&amp;aacute;&amp;nbsp; firmar el assembly con un strong name, para lo cual haga clic derecho sobre el proyecto y seleccione propiedades, en la ventana de propiedades dir&amp;iacute;jase al tab signing. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/03StrongName_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/03StrongName_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Active la casilla Sign Assembly y seleccione new para crear un nuevo archivo de clave, deber&amp;aacute; ingresar un nombre y una clave antes de dar clic en OK. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/04GenerarStrongName_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/04GenerarStrongName_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Una vez creado cierre la ventana de propiedades. Para poder utilizar las actividades para MOSS 2007 deber&amp;aacute; agregar la referencia de los siguientes assemblies: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;div style="text-align:center;"&gt;
&lt;table style="border-collapse:collapse;"&gt;


&lt;tr style="background:black;"&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;border-top:black 0.5pt solid;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p style="text-align:center;"&gt;&lt;span style="font-size:10pt;color:#ffffff;"&gt;&lt;strong&gt;Identity&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;border-top:black 0.5pt solid;padding-left:7px;padding-bottom:1px;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p style="text-align:center;"&gt;&lt;span style="font-size:10pt;color:#ffffff;"&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Microsoft.Sharepoint&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Windows&amp;reg; SharePoint&amp;reg; Services&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Microsoft.SharePoint.WorkflowActions&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Windows&amp;reg; SharePoint&amp;reg; Services Workflow Actions&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Utilice el nombre que aparece en description (ver tabla anterior) para agregar las referencias. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/05AddReference_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/05AddReference_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Luego proceda a renombrar la actividad llam&amp;aacute;ndola WssTaskActivity.cs &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/06RenameTaskActivity_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/06RenameTaskActivity_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Vaya al c&amp;oacute;digo de la actividad personalizada y dentro de la clase agregue la siguiente definici&amp;oacute;n de variables, las cuales servir&amp;aacute;n como par&amp;aacute;metros de entrada cuando agregue la actividad a un flujo de aprobaci&amp;oacute;n de MOSS 2007. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;#region&lt;/span&gt; Public Parameters &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:36pt;"&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Guid&lt;/span&gt; idCampoEstado; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:36pt;"&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public string &lt;/span&gt;strAsignadoA; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:36pt;"&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; strTitulo; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:36pt;"&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; strDescripcion; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:36pt;"&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt; dtDuraci&amp;oacute;n; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:36pt;"&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; bEnviarNotificaci&amp;oacute;n; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;color:#0000ff;font-family:courier new;"&gt;#endregion &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;En el toolbox de VS 2008 existen las actividades necesarias para gestionar tareas de MOSS 2007, as&amp;iacute; como para enviar email, registrar mensajes en el historial del flujo de trabajo, etc. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/07ToolBox_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/07ToolBox_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Luego deber&amp;aacute; agregar las siguientes actividades con sus respectivas propiedades en el &amp;aacute;rea de dise&amp;ntilde;o de la actividad que estamos creando. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;div style="text-align:center;"&gt;
&lt;table style="border-collapse:collapse;"&gt;


&lt;tr style="background:black;"&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;border-top:black 0.5pt solid;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p style="text-align:center;"&gt;&lt;span style="font-size:10pt;color:#ffffff;"&gt;&lt;strong&gt;Paso&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;border-top:black 0.5pt solid;padding-left:7px;padding-bottom:1px;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p style="text-align:center;"&gt;&lt;span style="font-size:10pt;color:#ffffff;"&gt;&lt;strong&gt;Grupo&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;border-top:black 0.5pt solid;padding-left:7px;padding-bottom:1px;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p style="text-align:center;"&gt;&lt;span style="font-size:10pt;color:#ffffff;"&gt;&lt;strong&gt;Actividad&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Ver Paso A&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;SharePoint Workflow&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;CreateTask&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Ver Paso B&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Windows Workflow v3.0&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;While&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Ver Paso C&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;SharePoint Workflow&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;OnTaskChanged&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-left:black 0.5pt solid;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Ver Paso D&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;SharePoint Workflow&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="border-right:black 0.5pt solid;padding-right:7px;padding-left:7px;padding-bottom:1px;border-top-style:none;padding-top:1px;border-bottom:black 0.5pt solid;border-left-style:none;"&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;CompleteTask&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;

&lt;/table&gt;
&lt;/div&gt;
&lt;p style="text-align:center;"&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paso A &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Configure las siguientes propiedades de la actividad CreateTask: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;(Name):&lt;/strong&gt; Ingrese Crear Tarea &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;CorrelationToken:&lt;/strong&gt; Ingrese TaskToken &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;OwnerActivityName:&lt;/strong&gt; Seleccione WssTaskActivity &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;Invoked:&lt;/strong&gt; Ingrese CrearTarea_MethodInvoking y presione enter. El c&amp;oacute;digo del m&amp;eacute;todo ser&amp;aacute; el siguiente: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; CrearTarea_MethodInvoking(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;EventArgs&lt;/span&gt; e) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;taskId = &lt;span style="color:#2b91af;"&gt;Guid&lt;/span&gt;.NewGuid(); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;CrearTarea_TaskProperties1.AssignedTo = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.strAsignadoA; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;CrearTarea_TaskProperties1.Title = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.strTitulo; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;CrearTarea_TaskProperties1.Description = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.strDescripcion; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;CrearTarea_TaskProperties1.DueDate = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.dtDuraci&amp;oacute;n; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;CrearTarea_TaskProperties1.SendEmailNotification = &lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.bEnviarNotificaci&amp;oacute;n; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;TaskId: &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Para configurar esta propiedad deber&amp;aacute; ir al c&amp;oacute;digo de la actividad y declarar una variable p&amp;uacute;blica llamada taskId. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Guid&lt;/span&gt; taskId; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Luego regrese a la vista de dise&amp;ntilde;o y en la propiedad TaskId de clic sobre el bot&amp;oacute;n &amp;#39;&amp;hellip;&amp;#39; y seleccione la variable que acaba de definir. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/08TaskId_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/08TaskId_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;TaskProperties:&lt;/strong&gt; De clic en el bot&amp;oacute;n &amp;#39;&amp;hellip;&amp;#39;, luego en el tab Bind to a new member seleccione Create Field. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/09TaskProperties_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/09TaskProperties_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paso B &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;(Name):&lt;/strong&gt; Ingrese mientrasTareaNoCompletada &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;Condition:&lt;/strong&gt; Seleccione Code Condition. Luego expanda la propiedad e ingrese el siguiente nombre para el m&amp;eacute;todo: CodeConditionMethod. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Una vez en el c&amp;oacute;digo agregue otro campo p&amp;uacute;blico: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; taskCompleted = &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;El m&amp;eacute;todo deber&amp;aacute; quedar de la siguiente forma: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; CodeConditionMethod(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;ConditionalEventArgs&lt;/span&gt; e) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;e.Result = !taskCompleted; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;"&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paso C &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;(Name):&lt;/strong&gt; Ingrese CambiaTarea &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;CorrelationToken:&lt;/strong&gt; Seleccione TaskToken &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;Invoked:&lt;/strong&gt; Ingrese cambiaTarea_Invoked y presione enter. El c&amp;oacute;digo del m&amp;eacute;todo ser&amp;aacute; el siguiente: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; cambiaTarea_Invoked(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;ExternalDataEventArgs&lt;/span&gt; e) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;string &lt;/span&gt;estado=cambiaTarea_AfterProperties1.ExtendedProperties[&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.idCampoEstado].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (estado != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (estado.Equals(&lt;span style="color:#a31515;"&gt;&amp;quot;Completed&amp;quot;&lt;/span&gt;)) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:36pt;"&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.tareaCompletada = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:8pt;font-family:courier new;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;AfterProperties:&lt;/strong&gt; De clic en el bot&amp;oacute;n &amp;#39;&amp;hellip;&amp;#39;, luego en el tab Bind to a new member seleccione Create Field. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/10afterProperties_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/10afterProperties_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;BeforeProperties:&lt;/strong&gt; De clic en el bot&amp;oacute;n &amp;#39;&amp;hellip;&amp;#39;, luego en el tab Bind to a new member seleccione Create Field. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/11BeforeProperties_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/11BeforeProperties_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;TaskId:&lt;/strong&gt; De clic en el bot&amp;oacute;n &amp;#39;&amp;hellip;&amp;#39;, y seleccione la propiedad TaskId de la actividad Crear Tarea. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/12TaskIDCambio_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/12TaskIDCambio_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Paso D &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;(Name):&lt;/strong&gt; Ingrese TareaCompletada &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;CorrelationToken:&lt;/strong&gt; Seleccione TaskToken &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;strong&gt;TaskId:&lt;/strong&gt; De clic en el bot&amp;oacute;n &amp;#39;&amp;hellip;&amp;#39;, y seleccione la propiedad TaskId de la actividad Crear Tarea. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/12TaskIDCambio_5F00_4.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/12TaskIDCambio_5F00_thumb_5F00_1.jpg" alt="" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Finalmente, compile el proyecto y registre la librer&amp;iacute;a en el GAC y a partir de este momento podr&amp;aacute; utilizar esta actividad personalizada en los flujos para MOSS 2007 que desarrolle con Visual Studio 2008. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/13RegistrarGAC_5F00_2.jpg"&gt;&lt;img border="0" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VS2008MOSS2007Cmocrearactividadespersona_5F00_33C8/13RegistrarGAC_5F00_thumb.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1643910" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Workflows/default.aspx">Workflows</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Desarrollo/default.aspx">Desarrollo</category></item><item><title>[VSTS Team Architect Rosario April CTP] Cómo elaborar el diagrama de secuencia del inicializador de un WorkfFlow para SharePoint 2007</title><link>http://msmvps.com/blogs/ffagas/archive/2008/08/06/vsts-quot-rosario-april-ctp-quot-c-243-mo-elaborar-el-diagrama-de-secuencia-del-inicializador-de-un-workfflow-para-sharepoint-2007.aspx</link><pubDate>Wed, 06 Aug 2008 14:33:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1643637</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1643637</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/08/06/vsts-quot-rosario-april-ctp-quot-c-243-mo-elaborar-el-diagrama-de-secuencia-del-inicializador-de-un-workfflow-para-sharepoint-2007.aspx#comments</comments><description>&lt;p&gt;En estos d&amp;iacute;as me encuentro probando la aplicabilidad de los nuevos diagramas del Visual Studio &amp;quot;Rosario&amp;quot; Team Architect, y luego de algunas pruebas quise elaborar el diagrama de secuencia de la inicializaci&amp;oacute;n de los componentes para un flujo de trabajo que desarroll&amp;eacute; para MOSS 2007, para esto realic&amp;eacute; los siguientes pasos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Importe la soluci&amp;oacute;n completa a mi m&amp;aacute;quina virtual de Rosario (April CTP) y lo abr&amp;iacute; en VS &amp;quot;Rosario&amp;quot;. &lt;/li&gt;
&lt;li&gt;En el proyecto IG.DocumentMangement.WorkFlows (Este es el proyecto que contiene los flujos de trabajo), agregu&amp;eacute; un nuevo diagrama de secuencia de la siguiente forma: &lt;ol&gt;
&lt;li&gt;Clic derecho sobre el proyecto, luego seleccionan Add -&amp;gt; New Item&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/CreateDiagramSequence_5F00_2.jpg"&gt;&lt;img border="0" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/CreateDiagramSequence_5F00_thumb.jpg" alt="CreateDiagramSequence" height="362" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Luego seleccionan la categor&amp;iacute;a general&amp;nbsp; y en templates seleccionan sequence diagram, le asignan un nombre al diagrama y dan clic en Add.&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/CreateDiagramSequence2_5F00_2.jpg"&gt;&lt;img border="0" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/CreateDiagramSequence2_5F00_thumb.jpg" alt="CreateDiagramSequence2" height="362" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Luego abren el Architecture Explorer (View -&amp;gt; Architecture Explorer)&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/ArchitectureExplorer_5F00_2.jpg"&gt;&lt;img border="0" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/ArchitectureExplorer_5F00_thumb.jpg" alt="ArchitectureExplorer" height="362" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;En el Architecture Explorer van navegando desde la soluci&amp;oacute;n seleccionando Contains para que en la siguiente lista se muestre el contenido del componente(Soluci&amp;oacute;n - Proyecto - Clase - Miembros de clase) que seleccionaron en la lista anterior.&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/ArchitectureExplorer2_5F00_2.jpg"&gt;&lt;img border="0" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/ArchitectureExplorer2_5F00_thumb.jpg" alt="ArchitectureExplorer2" height="362" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Una vez que han seleccionado el proyecto contin&amp;uacute;an seleccionando la clase, nuevamente contains para que puedan ver los m&amp;eacute;todos, seleccionamos el m&amp;eacute;todo InitializeComponent.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/ArchitectureExplorer3_5F00_2.jpg"&gt;&lt;img border="0" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/ArchitectureExplorer3_5F00_thumb.jpg" alt="ArchitectureExplorer3" height="362" style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;border-right-width:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/li&gt;
&lt;li&gt;Finalmente seleccionan Insert Into Active Diagram y autom&amp;aacute;ticamente VS generar&amp;aacute; la secuencia que sigue el m&amp;eacute;todo para construir los componentes que forman parte de su flujo de trabajo para MOSS 2007 :D. (Tip: dandole clic derecho sobre el &amp;aacute;rea de trabajo del dise&amp;ntilde;ador puede seleccionar la opci&amp;oacute;n para exportar el diagrama como imagen, la cual estoy pegando a continuaci&amp;oacute;n).&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/InitializeComponent_5F00_2.jpg"&gt;&amp;nbsp;&lt;img border="0" width="641" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ffagas.VSTSRosarioAprilCTPCmoelaborareldiagrama_5F00_12ED8/InitializeComponent_5F00_thumb.jpg" alt="InitializeComponent" height="2191" style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1643637" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Rosario/default.aspx">Rosario</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Workflows/default.aspx">Workflows</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Team+Architect/default.aspx">Team Architect</category></item><item><title>[C# - VS 2008] Cómo crear atributos personalizados para Enumerados</title><link>http://msmvps.com/blogs/ffagas/archive/2008/08/05/c-243-mo-crear-atributos-personalizados-para-enumerados.aspx</link><pubDate>Tue, 05 Aug 2008 13:03:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1643496</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1643496</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/08/05/c-243-mo-crear-atributos-personalizados-para-enumerados.aspx#comments</comments><description>&lt;p&gt;Los enumerados son listas constantes agrupables que por defecto empiezan en 0 y que una utilidad es que facilitan a nivel de desarrollo evitar que se pasen valores fuera de rango a objetos, o dato basura, evitar escribir c&amp;oacute;digo de validaci&amp;oacute;n del par&amp;aacute;metro que estamos recibiendo, para encontrar m&amp;aacute;s informaci&amp;oacute;n b&amp;aacute;sica sobre enumerados &lt;a href="http://msdn.microsoft.com/en-us/library/sbbt4032(VS.80).aspx"&gt;aqu&amp;iacute;&lt;/a&gt;, pero cuando trabajamos con enumerados puede darse el caso de que necesitemos extraer su valor equivalente en string y no entero, por ejemplo que para si queremos representar en nuestro sistema un objeto WorkFlowType cuyo valor lo debe extraer de MOSS 2007 en espa&amp;ntilde;ol, pues para este caso como entrada y salida de nuestro sistema necesitamos que el enumerado represente a un string, pues para este caso podemos utilizar un atributo personalizable (&lt;span style="font-size:10pt;color:#2b91af;font-family:Courier New;"&gt;ValorString&lt;/span&gt;) para poder representar el enumerado de la siguiente manera: &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;[&lt;span style="color:#2b91af;"&gt;Serializable&lt;/span&gt;] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;enum&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;WorkFlowType &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;[&lt;span style="color:#2b91af;"&gt;ValorString&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;Ninguno&amp;quot;&lt;/span&gt;)] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;Empty, &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;[&lt;span style="color:#2b91af;"&gt;ValorString&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;En Serie&amp;quot;&lt;/span&gt;)] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;Serial, &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;[&lt;span style="color:#2b91af;"&gt;ValorString&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;En Paralelo&amp;quot;&lt;/span&gt;)] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;Parallel &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="font-family:Courier New;"&gt;};&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Para que este c&amp;oacute;digo funcione y el compilador no les retorne un error lo que se debe hacer es escribir una clase que represente a un atributo, para esto la clase debe: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Heredar de la clase &lt;span style="font-size:10pt;color:#2b91af;font-family:Courier New;"&gt;Attribute&lt;/span&gt; del espacio de nombres System. &lt;/li&gt;
&lt;li&gt;Debe contener un campo de tipo &lt;span style="font-size:10pt;color:#0000ff;font-family:Courier New;"&gt;string&lt;/span&gt;, el constructor debe recibir un &lt;span style="font-size:10pt;color:#0000ff;font-family:Courier New;"&gt;string&lt;/span&gt; para inicializar el campo, y una propiedad de s&amp;oacute;lo lectura que retorne el valor que contiene el campo. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La clase completa es: &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;[&lt;span style="color:#2b91af;"&gt;Serializable&lt;/span&gt;] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;AtributoValorString&lt;/span&gt; : System.&lt;span style="color:#2b91af;"&gt;Attribute &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;#region&lt;/span&gt; Fields &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; _valor; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:Courier New;"&gt;#endregion &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;#region&lt;/span&gt; Constructor &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; AtributoValorString(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; parametro) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;_valor = parametro; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:Courier New;"&gt;#endregion &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;#region&lt;/span&gt; Properties &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ValorString &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;get&lt;/span&gt; { &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; _valor; } &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;color:#0000ff;font-family:Courier New;"&gt;#endregion &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;}&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Para finalizar debemos crear un nuevo m&amp;eacute;todo extendido (&lt;a href="http://msdn.microsoft.com/en-us/library/bb383977.aspx"&gt;Extension Method&lt;/a&gt; &amp;ndash; Nueva caracter&amp;iacute;stica de lenguaje C# en VS 2008), no olviden agregar el namespace reflection: &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Reflection; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;[&lt;span style="color:#2b91af;"&gt;Serializable&lt;/span&gt;] &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Utilitarios &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; ObtenerValorString(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Enum&lt;/span&gt; value) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#008000;"&gt;// Obtiene el tipo &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt; type = value.GetType(); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#008000;"&gt;// Obtiene el fieldinfo para este tipo &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#2b91af;"&gt;FieldInfo&lt;/span&gt; fieldInfo = type.GetField(value.ToString()); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#008000;"&gt;// Obtiene el atributo ValorString &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#2b91af;"&gt;AtributoValorString&lt;/span&gt; [] attribs = fieldInfo.GetCustomAttributes( &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;AtributoValorString&lt;/span&gt;), &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;as&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;AtributoValorString&lt;/span&gt;[]; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#008000;"&gt;// Retorna el primer elemento. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; attribs.Length &amp;gt; 0 ? attribs[0].StringValue : &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;Cuando utilicemos el enumerado ahora veremos que podemos utilizar el m&amp;eacute;todo extendido que acabamos de crear: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;font-family:Courier New;"&gt;&lt;span style="color:#2b91af;"&gt;WorkFlowType&lt;/span&gt;.Serial.ObtenerValorString()&lt;/span&gt; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1643496" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>[MOSS 2007 - VS 2008] Tip Workflows para MOSS 2007 con VS 2008</title><link>http://msmvps.com/blogs/ffagas/archive/2008/08/05/tip-workflows-para-moss-2007-con-vs-2008.aspx</link><pubDate>Tue, 05 Aug 2008 11:37:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1643493</guid><dc:creator>Francisco X. Fagas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/ffagas/rsscomments.aspx?PostID=1643493</wfw:commentRss><comments>http://msmvps.com/blogs/ffagas/archive/2008/08/05/tip-workflows-para-moss-2007-con-vs-2008.aspx#comments</comments><description>&lt;p&gt;Me he tenido que alejar un poco de mi blog debido a un proyecto en el que estado trabajando un Framework de Gesti&amp;oacute;n Documental ISO para MOSS 2007 el cual ya lo pas&amp;eacute; a producci&amp;oacute;n y ahora tendr&amp;eacute; un poco m&amp;aacute;s de tiempo hasta que me asignen a otro proyecto ;-), aunque ya llevo 1 a&amp;ntilde;o desarrollando aplicaciones para MOSS 2007 este proyecto en particular fue un reto debido a que ciertos requerimientos requer&amp;iacute;an implementar c&amp;oacute;digo complejo, por ejemplo el Framework es totalmente parametrizable ya que el sistema es capaz de soportar cualquier documento ya sea para ISO 9001, 14000, 22000 e incluso documentos no controlados (denominaci&amp;oacute;n para documentos que no forman parte del ning&amp;uacute;n sistema de gesti&amp;oacute;n documental pero que se debe llevar un historial y debe estar habilitado para ejecutar acciones ISO), pero bueno cuando lleg&amp;oacute; el momento de la implementaci&amp;oacute;n del flujo de trabajo ning&amp;uacute;n flujo de MOSS 2007 ni con SharePoint Designer 2007 se pod&amp;iacute;a implementar , se implement&amp;oacute; un flujo utilizando la plantilla Sequential WorkFlow for SharePoint 2007 utilizando Visual Srudio 2008, ah y lo m&amp;aacute;s importante es que la administraci&amp;oacute;n del ciclo de vida de desarrollo de este sistema se realiz&amp;oacute; con VISUAL STUDIO TEAM SYSTEM 2008 ;-), algunas consideraciones importantes que se debieron enfrentar en la implementaci&amp;oacute;n fueron: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El flujo en base a propiedades el documento deb&amp;iacute;a ejecutar un flujo en serie o en paralelo. &lt;/li&gt;
&lt;li&gt;Si los emisores eran los mismos que los aprobadores se deb&amp;iacute;a aprobar autom&amp;aacute;ticamente. &lt;/li&gt;
&lt;li&gt;Los emisores, aprobadores y distribuci&amp;oacute;n del documento no eran usuarios de MOSS eran grupos de AD que reflejaban un rol, por ejemplo: el emisor podr&amp;iacute;a ser: Asistente de RRHH, quien aprobaba era el Gerente de RRHH y un segundo aprobador Administrador de Documentaci&amp;oacute;n, y por &amp;uacute;ltimo la distribuci&amp;oacute;n dependiendo de un campo del documento podr&amp;iacute;a tomar de un campo llamado distribuci&amp;oacute;n del documento o leer los usuarios que ten&amp;iacute;an permisos sobre la carpeta que conten&amp;iacute;a el documento, de igual forma eran grupos del directorio activo. &lt;/li&gt;
&lt;li&gt;Al final del flujo deb&amp;iacute;a enviar notificaci&amp;oacute;n con el resultado de la aprobaci&amp;oacute;n a todos los involucrados: emisores, aprobadores y distribuci&amp;oacute;n. &lt;/li&gt;
&lt;li&gt;La aprobaci&amp;oacute;n en serie era una aprobaci&amp;oacute;n en serie a nivel de grupos y en paralelo a nivel de usuarios, es decir, pensemos en un documento cuyos aprobadores son: GrupoA; Grupo B, al inicia el flujo en serie empezar&amp;iacute;a por el grupo a, y deber&amp;iacute;a crear tareas de aprobaci&amp;oacute;n en paralelo para todos los usuarios que pertenecen al Grupo A, una vez que alg&amp;uacute;n miembro de dicho grupo apruebe el flujo deber&amp;iacute;a continuar al siguiente Grupo de aprobadores y hacer lo mismo que hizo para el Grupo anterior. Recordemos que los grupos son del AD. &lt;/li&gt;
&lt;li&gt;La aprobaci&amp;oacute;n en paralelo consist&amp;iacute;a en ejecutar una aprobaci&amp;oacute;n en paralelo a nivel de usuarios, pero recordemos que los aprobadores son grupos de AD, por lo que el flujo deber&amp;iacute;a crear tareas en paralelo los usuarios miembros de ambos grupos al mismo tiempo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;iquest;Interesantes requerimientos no?, pues a continuaci&amp;oacute;n algunos tips para trabajar con flujos de trabajo: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Las actividades b&amp;aacute;sicas de aprobaci&amp;oacute;n de documentos se implement&amp;oacute; en un proyecto de Activity Library de Windows WorkFlow Foundation. Recuerden en strong name para este tipo de proyectos ya que lo deben registrar en el GAC del servidor. &lt;/li&gt;
&lt;li&gt;El proceso de aprobaci&amp;oacute;n como tal no estaba en el sequential workflow estaba en una librer&amp;iacute;a del Framework el cual al invocar al constructor constru&amp;iacute;a los objetos necesarios que se encontraban en la capa de entidades, objetos como por ejemplo: Grupo, Usuario, Documento. &lt;/li&gt;
&lt;li&gt;&lt;b&gt;Recuerden que cuando trabajen con workflows los objetos que declaren como globales ya sea para actividades personalizadas o para el propio flujo deben ser serializables, incluidos objetos de l&amp;oacute;gica del proceso. Esto no se encuentra documentado y pese a que las entidades eran serializables los objetos de proceso no lo eran esto ocasion&amp;oacute; que el flujo no espere acci&amp;oacute;n de los usuarios sobre las tareas debido a que los objetos de la capa de proceso no lo eran.&lt;/b&gt; &lt;/li&gt;
&lt;li&gt;Para resolver el manejo de grupos, se utiliz&amp;oacute; utilitarios de la capa Core para conectarse al AD pasarle el grupo y que nos retorne sus miembros (usuarios que es con lo que trabaja MOSS 2007) con sus propiedades. &lt;/li&gt;
&lt;li&gt;Para implementar tareas en paralelo utilicen el replicator configurado para que se ejecute en paralelo. &lt;/li&gt;
&lt;li&gt;Para implementar tareas en serie pueden utilizar un replicator configurado en serie, o pueden utilizar una actividad while.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Espero que estos tips les sean de utilidad si alg&amp;uacute;n momento deben implementar alguno de estos requerimientos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1643493" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Best+Practice/default.aspx">Best Practice</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Workflows/default.aspx">Workflows</category><category domain="http://msmvps.com/blogs/ffagas/archive/tags/Desarrollo/default.aspx">Desarrollo</category></item></channel></rss>