<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://geeks.ms/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>JUAN PABLO PUSSACQ LABORDE : Workflow</title><link>http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx</link><description>Etiquetas: Workflow</description><dc:language /><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>Workflow en Project Server 2010 ¿Valores predeterminados en campos de empresa en una PDP?</title><link>http://geeks.ms/blogs/jpussacq/archive/2013/01/28/workflow-en-project-server-2010-191-valores-predeterminados-en-campos-de-empresa-en-una-pdp.aspx</link><pubDate>Mon, 28 Jan 2013 20:52:45 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208400</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=208400</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2013/01/28/workflow-en-project-server-2010-191-valores-predeterminados-en-campos-de-empresa-en-una-pdp.aspx#comments</comments><description>&lt;p&gt;Cuando trabajamos con PDPs en Project Server 2010, no es sencillo establecer un &lt;strong&gt;valor predeterminado para un campo de empresa&lt;/strong&gt; de tipo obligatorio. Si bien la configuración de campos de empresa permite establecer valores predeterminados, estos funcionan en forma correcta en Project Pro, pero no en la forma esperada dentro de &lt;strong&gt;PWA&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Es por ello que en este breve artículo vamos a explicar como manejar los valores predeterminados utilizando un poco de &lt;strong&gt;JavaScript&lt;/strong&gt;. El enfoque de trabajo es el siguiente:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Utilizar JavaScript para configurar el valor predeterminado de los campos, sólo si se trata de la PDP usada en una creación de proyecto. &lt;/li&gt;    &lt;li&gt;Utilizar JavaScript para ocultar dichos campos. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Separaremos el código en dos archivos:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Un archivo con el contenido de la &lt;strong&gt;CEWP&lt;/strong&gt; que se insertará en la PDP, debajo de los campos de empresa. . &lt;/li&gt;    &lt;li&gt;Un archivo de &lt;strong&gt;constantes&lt;/strong&gt; con los guids y demás valores de cada campo. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;strong&gt;El código del archivo de contantes&lt;/strong&gt;&lt;/h3&gt;  &lt;pre style="background:#ffffff;color:#000000;"&gt;&lt;span style="color:#696969;"&gt;/* Valor predeterminado para el campo Stage en la PDP Request */&lt;/span&gt;

STAGE_ID &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;ctl00_m_g_80e4b936_45c6_442d_b8de_a93ac30efea1_ctl00_pfp_Repeater_ctl06_idCF_976b5670-7e3b-407d-ad53-1d0343fc3f0c&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
STAGE_GUID &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;966707bd-8f55-4f0e-97d1-8c94256c55a3&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
STAGE_TEXTO &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;Planned&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;

&lt;span style="color:#696969;"&gt;/* Valor predeterminado para el campo Program en la PDP Request */&lt;/span&gt;

PROGRAM_ID &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;ctl00_m_g_80e4b936_45c6_442d_b8de_a93ac30efea1_ctl00_pfp_Repeater_ctl08_idCF_38852eb9-5126-4fb2-b1ef-45e6edfeb116&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
PROGRAM_GUID &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;d74da6ee-48ce-491a-ad6e-416da8c99ab2&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
PROGRAM_TEXTO &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;Yes&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;&lt;/pre&gt;

&lt;h3&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;strong&gt;El código de la CEWP&lt;/strong&gt;&amp;#160;&lt;/h3&gt;

&lt;pre style="background:#ffffff;color:#000000;"&gt;&lt;span style="color:#808030;"&gt;&amp;lt;&lt;/span&gt;script src&lt;span style="color:#808030;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;/PWA/Internal/jquery-1.4.2.min.js&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt; type&lt;span style="color:#808030;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;text/javascript&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#808030;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#808030;"&gt;/&lt;/span&gt;script&lt;span style="color:#808030;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:#808030;"&gt;&amp;lt;&lt;/span&gt;script src&lt;span style="color:#808030;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;/PWA/Internal/constantes_workflow.js&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt; type&lt;span style="color:#808030;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;text/javascript&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#808030;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#808030;"&gt;/&lt;/span&gt;script&lt;span style="color:#808030;"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="color:#808030;"&gt;&amp;lt;&lt;/span&gt;script type&lt;span style="color:#808030;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;text/javascript&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;&amp;gt;&lt;/span&gt;

 $&lt;span style="color:#808030;"&gt;(&lt;/span&gt;document&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;ready&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;function&lt;/span&gt;&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt; &lt;span style="color:#800080;"&gt;{&lt;/span&gt; 

     predeterminar_campo &lt;span style="color:#808030;"&gt;(&lt;/span&gt;STAGE_ID&lt;span style="color:#808030;"&gt;,&lt;/span&gt; STAGE_GUID&lt;span style="color:#808030;"&gt;,&lt;/span&gt; STAGE_TEXTO&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
     predeterminar_campo &lt;span style="color:#808030;"&gt;(&lt;/span&gt;PROGRAM_ID&lt;span style="color:#808030;"&gt;,&lt;/span&gt; PROGRAM_GUID&lt;span style="color:#808030;"&gt;,&lt;/span&gt; PROGRAM_TEXTO&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;

   &lt;span style="color:#800080;"&gt;}&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;


&lt;span style="color:#800000;font-weight:bold;"&gt;function&lt;/span&gt; predeterminar_campo &lt;span style="color:#808030;"&gt;(&lt;/span&gt; id_campo&lt;span style="color:#808030;"&gt;,&lt;/span&gt; guid_valor&lt;span style="color:#808030;"&gt;,&lt;/span&gt; texto_valor &lt;span style="color:#808030;"&gt;)&lt;/span&gt; &lt;span style="color:#800080;"&gt;{&lt;/span&gt;

     &lt;span style="color:#800000;font-weight:bold;"&gt;if&lt;/span&gt; &lt;span style="color:#808030;"&gt;(&lt;/span&gt; workflow_url_param &lt;span style="color:#808030;"&gt;(&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;NewProject&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#808030;"&gt;)&lt;/span&gt; &lt;span style="color:#808030;"&gt;==&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;yes&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#808030;"&gt;)&lt;/span&gt; &lt;span style="color:#800080;"&gt;{&lt;/span&gt;
    
         &lt;span style="color:#696969;"&gt;// Valor del campo&lt;/span&gt;
         $&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;&amp;#39;#&amp;#39;&lt;/span&gt;&lt;span style="color:#808030;"&gt;+&lt;/span&gt;id_campo&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;attr&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;value&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;,&lt;/span&gt;texto_valor&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;

         &lt;span style="color:#696969;"&gt;// ID del valor del campo&lt;/span&gt;
        $&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;&amp;#39;#&amp;#39;&lt;/span&gt;&lt;span style="color:#808030;"&gt;+&lt;/span&gt;id_campo&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;attr&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;LTValue&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;,&lt;/span&gt;guid_valor&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
     
         &lt;span style="color:#800080;"&gt;}&lt;/span&gt;

     &lt;span style="color:#696969;"&gt;// Oculto la fila de la tabla que contiene el campo&lt;/span&gt;
    $&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;&amp;#39;#&amp;#39;&lt;/span&gt;&lt;span style="color:#808030;"&gt;+&lt;/span&gt;id_campo&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;parent&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;parent&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;parent&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;parent&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;parent&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;parent&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;css&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;display&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;none&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;

&lt;span style="color:#800080;"&gt;}&lt;/span&gt;

&lt;span style="color:#800000;font-weight:bold;"&gt;function&lt;/span&gt; workflow_url_param &lt;span style="color:#808030;"&gt;(&lt;/span&gt; name &lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;{&lt;/span&gt;  
 name &lt;span style="color:#808030;"&gt;=&lt;/span&gt; name&lt;span style="color:#808030;"&gt;.&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;replace&lt;/span&gt;&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;/&lt;/span&gt;&lt;span style="color:#808030;"&gt;[&lt;/span&gt;&lt;span style="color:#0f69ff;"&gt;\[&lt;/span&gt;&lt;span style="color:#808030;"&gt;]&lt;/span&gt;&lt;span style="color:#800000;"&gt;/&lt;/span&gt;&lt;span style="color:#808030;"&gt;,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0f69ff;"&gt;\\&lt;/span&gt;&lt;span style="color:#0f69ff;"&gt;\[&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#808030;"&gt;.&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;replace&lt;/span&gt;&lt;span style="color:#808030;"&gt;(&lt;/span&gt;&lt;span style="color:#800000;"&gt;/&lt;/span&gt;&lt;span style="color:#808030;"&gt;[&lt;/span&gt;&lt;span style="color:#0f69ff;"&gt;\]&lt;/span&gt;&lt;span style="color:#808030;"&gt;]&lt;/span&gt;&lt;span style="color:#800000;"&gt;/&lt;/span&gt;&lt;span style="color:#808030;"&gt;,&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0f69ff;"&gt;\\&lt;/span&gt;&lt;span style="color:#0f69ff;"&gt;\]&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt; 
 &lt;span style="color:#800000;font-weight:bold;"&gt;var&lt;/span&gt; regexS &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;[&lt;/span&gt;&lt;span style="color:#0f69ff;"&gt;\\&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;?&amp;amp;]&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#808030;"&gt;+&lt;/span&gt;name&lt;span style="color:#808030;"&gt;+&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000e6;"&gt;=([^&amp;amp;#]*)&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt; 
 &lt;span style="color:#800000;font-weight:bold;"&gt;var&lt;/span&gt; regex &lt;span style="color:#808030;"&gt;=&lt;/span&gt; &lt;span style="color:#800000;font-weight:bold;"&gt;new&lt;/span&gt; &lt;span style="color:#797997;"&gt;RegExp&lt;/span&gt;&lt;span style="color:#808030;"&gt;(&lt;/span&gt; regexS &lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt; 
 &lt;span style="color:#800000;font-weight:bold;"&gt;var&lt;/span&gt; results &lt;span style="color:#808030;"&gt;=&lt;/span&gt; regex&lt;span style="color:#808030;"&gt;.&lt;/span&gt;&lt;span style="color:#800000;font-weight:bold;"&gt;exec&lt;/span&gt;&lt;span style="color:#808030;"&gt;(&lt;/span&gt; window&lt;span style="color:#808030;"&gt;.&lt;/span&gt;location&lt;span style="color:#808030;"&gt;.&lt;/span&gt;href &lt;span style="color:#808030;"&gt;)&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt; 
 &lt;span style="color:#800000;font-weight:bold;"&gt;if&lt;/span&gt;&lt;span style="color:#808030;"&gt;(&lt;/span&gt; results &lt;span style="color:#808030;"&gt;==&lt;/span&gt; &lt;span style="color:#0f4d75;"&gt;null&lt;/span&gt; &lt;span style="color:#808030;"&gt;)&lt;/span&gt; 
   &lt;span style="color:#800000;font-weight:bold;"&gt;return&lt;/span&gt; &lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
  &lt;span style="color:#800000;font-weight:bold;"&gt;else&lt;/span&gt; 
   &lt;span style="color:#800000;font-weight:bold;"&gt;return&lt;/span&gt; results&lt;span style="color:#808030;"&gt;[&lt;/span&gt;&lt;span style="color:#008c00;"&gt;1&lt;/span&gt;&lt;span style="color:#808030;"&gt;]&lt;/span&gt;&lt;span style="color:#800080;"&gt;;&lt;/span&gt;
&lt;span style="color:#800080;"&gt;}&lt;/span&gt;

&lt;span style="color:#808030;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#808030;"&gt;/&lt;/span&gt;script&lt;span style="color:#808030;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;h3&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;strong&gt;Conclusión&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Esta ha sido una forma de resolver el inconveniente de los valores predeterminados en las PDPs de flujos de trabajo en Project Server 2010, utilizando código de cliente JavaScript. Espero les haya resultado útil.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208400" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server+2010/default.aspx">Project Server 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/CEWP/default.aspx">CEWP</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Workflow en Project Server 2010 - Seguridad</title><link>http://geeks.ms/blogs/jpussacq/archive/2013/01/24/workflow-en-project-server-2010-seguridad.aspx</link><pubDate>Thu, 24 Jan 2013 18:20:59 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:208376</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=208376</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2013/01/24/workflow-en-project-server-2010-seguridad.aspx#comments</comments><description>Este breve artículo pretende describir algunos temas acerca de los permisos necesarios para trabajar con flujos de trabajo en Project Server 2010.   &lt;br /&gt;  &lt;br /&gt;  &lt;h3&gt;Los permisos estándar&lt;/h3&gt; Los permisos específicos para manejo de flujos de trabajos son:   &lt;br /&gt;  &lt;br /&gt;&lt;b&gt;Permisos globales&lt;/b&gt;   &lt;br /&gt;  &lt;br /&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Change Workflow&lt;/b&gt;: le permite a un usuario cambiar el EPT (enterprise project type) de un proyecto.       &lt;ul&gt;       &lt;li&gt;Este permiso engloba:          &lt;ul&gt;           &lt;li&gt;La opción de cambiar un EPT &lt;/li&gt;            &lt;li&gt;La opción de reiniciar un flujo de trabajo (restart workflow) &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Manage Workflow and Project Details Pages&lt;/b&gt;: permiso para administrar flujos de trabajo y PDPs.       &lt;ul&gt;       &lt;li&gt;Este permiso hablita o inhabilita todas las opciones de flujo de trabajo disponibles en Server Settings en la sección &amp;quot;Workflow and Project Detail Pages&amp;quot;: &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_4BA263C0.png" width="252" height="164" /&gt;&lt;/p&gt;  &lt;div&gt;Estos permisos están asignados en forma predeterminada al grupo de &lt;b&gt;Administradores &lt;/b&gt;únicamente.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&lt;b&gt;Permisos de categorías&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;   &lt;div&gt;&amp;#160;&lt;/div&gt; &lt;/div&gt;  &lt;div&gt;No existen permisos exclusivos de flujos de flujos de trabajo en categorías.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&lt;b&gt;Permisos en SharePoint&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;Existen en SharePoint los siguientes grupos relacionados con flujos de trabajo:&lt;/div&gt;  &lt;div&gt;   &lt;ul&gt;     &lt;li&gt;Workflow and Project Detail Pages Administrators Group (Microsoft Project Server) &lt;/li&gt;      &lt;li&gt;Project Managers Group&amp;#160; (Microsoft Project Server) &lt;/li&gt;      &lt;li&gt;Team Members Group (Microsoft Project Server) &lt;/li&gt;      &lt;li&gt;Web Administrators Group (Microsoft Project Server) &lt;/li&gt;   &lt;/ul&gt;    &lt;div&gt;Estos grupos tienen algún tipo de acceso a las siguientes listas:&lt;/div&gt;    &lt;ul&gt;     &lt;li&gt;Project Details Pages &lt;/li&gt;      &lt;li&gt;Project Server Workflow History &lt;/li&gt;      &lt;li&gt;Project Server Workflow Tasks &lt;/li&gt;   &lt;/ul&gt;    &lt;div&gt;En particular, los projects managers y los team members tienen permisos de team members (colaboración básicamente) en la lista de tareas del flujo de trabajo (Project Server Workflow Tasks) y en la de historial (Project Server Workflow History). También tienen permiso de lectura en la librería de PDPs (Project Details Pages).&lt;/div&gt; &lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;Esto nos permite entender que usuarios pueden modificar tareas de flujo de trabajo.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;El grupo de administradores de PDPs tiene permiso de administrador web en las tres listas.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;h3&gt;Lo no estándar&lt;/h3&gt;  &lt;div&gt;Es posible que tengamos algunos requerimientos de seguridad específicos, que hagan necesario crear permisos especiales. A continuación veremos algunos ejemplos. De todas maneras, en la medida de lo posible, siempre es conveniente utilizar los permisos predeterminados.&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;h4&gt;&lt;strong&gt;Requerimiento 1: iniciadores de flujo de trabajo&lt;/strong&gt;&lt;/h4&gt;  &lt;div&gt;&lt;b&gt;&lt;/b&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&lt;b&gt;Requerimiento&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;Se necesita que el grupo de personas que inicie los flujos de trabajo pueda:&lt;/div&gt;  &lt;div&gt;   &lt;ul&gt;     &lt;li&gt;Iniciar un flujo, lo que implica crear un proyecto &lt;/li&gt;      &lt;li&gt;No pueda modificar flujos de trabajo en donde no es el Owner, sólo los suyos &lt;/li&gt;      &lt;li&gt;Puede reiniciar un flujo de trabajo &lt;/li&gt;   &lt;/ul&gt;    &lt;div&gt;&amp;#160;&lt;/div&gt;    &lt;div&gt;&lt;b&gt;Enfoque propuesto&lt;/b&gt;&lt;/div&gt; &lt;/div&gt;  &lt;div&gt;   &lt;ul&gt;     &lt;li&gt;Se trabajará con un grupo y una categoría especial que no se solape con otros existentes que puedan haber surgido en base a necesidades específicas &lt;/li&gt;      &lt;li&gt;Se requiere asignar el permiso &amp;quot;Change Workflow&amp;quot; sólo disponible en Administradores. &lt;/li&gt;      &lt;li&gt;Se requiere una categoría parecida a My Projects, que sólo permita modificar los proyectos en donde el iniciador es el owner &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;  &lt;div&gt;&lt;strong&gt;Nueva categoría: &lt;/strong&gt;mis flujos de trabajo&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;Las reglas dinámicas de la categoría se configuran de la siguiente forma:&lt;/div&gt;  &lt;div&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_712BE121.png" width="596" height="486" /&gt;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&lt;strong&gt;Nuevo grupo: &lt;/strong&gt;iniciadores de flujos de trabajo&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;A este nuevo grupo se le asignarán los siguientes permisos para la categoría “mis flujos de trabajo”:&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;Build Team on Project &lt;/li&gt;    &lt;li&gt;Create New Task Asignment &lt;/li&gt;    &lt;li&gt;Creat Object Links &lt;/li&gt;    &lt;li&gt;Delete Project &lt;/li&gt;    &lt;li&gt;Edit Project Summary Fields &lt;/li&gt;    &lt;li&gt;Manage Basic Project Security &lt;/li&gt;    &lt;li&gt;Open Project &lt;/li&gt;    &lt;li&gt;Publish Project &lt;/li&gt;    &lt;li&gt;Save Project to Project Server &lt;/li&gt;    &lt;li&gt;View Project Schedule in Project Web App &lt;/li&gt;    &lt;li&gt;View Project Site &lt;/li&gt;    &lt;li&gt;View Project Summary in Project Center &lt;/li&gt;    &lt;li&gt;Asign Resource &lt;/li&gt;    &lt;li&gt;View Enterprise Resource Data &lt;/li&gt;    &lt;li&gt;View Resource Assignments in Assignment Views &lt;/li&gt; &lt;/ul&gt;  &lt;div&gt;Y los siguientes permisos globales:&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;Change Workflow &lt;/li&gt;    &lt;li&gt;Change Password &lt;/li&gt;    &lt;li&gt;Log On &lt;/li&gt;    &lt;li&gt;Manage Personal Notifications &lt;/li&gt;    &lt;li&gt;Build Team on Project &lt;/li&gt;    &lt;li&gt;New Project &lt;/li&gt;    &lt;li&gt;Open Project Template &lt;/li&gt;    &lt;li&gt;Vie Resource Plan &lt;/li&gt;    &lt;li&gt;View Project Center &lt;/li&gt;    &lt;li&gt;View Project Schedule Views &lt;/li&gt;    &lt;li&gt;View Task Center &lt;/li&gt;    &lt;li&gt;View Team Builder &lt;/li&gt; &lt;/ul&gt;  &lt;div&gt;&lt;strong&gt;Nuevo grupo de SharePoint&lt;/strong&gt;: Workflows Initiators (Project Server)&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;Es grupo necesita permiso de Team Members en las siguientes librerías de PWA:&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;Project Server Workflow History &lt;/li&gt;    &lt;li&gt;Project Server Workflow Tasks &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Y permiso de Lectura en:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Project Details Pages &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Es posible que hallamos creado alguna lista para cargar datos en forma de tabla durante alguna de las etapas del flujo de trabajo. Si es así, no debemos olvidar darle permiso al iniciador o a los aprobadores de tareas sobre ese lista. Eso dependerá de nuestras reglas de negocios. Una posible alternativa sería:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Colaboración para el iniciador &lt;/li&gt;    &lt;li&gt;Lectura para el resto &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Nota: es posible que necesitemos quebrar la herencia de permisos en esta nueva lista.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;&lt;strong&gt;Requerimiento 2: los aprobadores de tareas&lt;/strong&gt;&lt;/h4&gt;  &lt;div&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;&lt;b&gt;Requerimiento&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;&lt;/div&gt;  &lt;div&gt;Se necesita que el grupo de personas a las que se les asignan tareas de flujo de trabajo pueda:&lt;/div&gt;  &lt;div&gt;   &lt;ul&gt;     &lt;li&gt;Editar y completar las tareas &lt;/li&gt;      &lt;li&gt;Ver los detalles del proyecto &lt;/li&gt;   &lt;/ul&gt;    &lt;div&gt;&lt;b&gt;Enfoque propuesto&lt;/b&gt;&lt;/div&gt; &lt;/div&gt;  &lt;div&gt;   &lt;ul&gt;     &lt;li&gt;Se trabajará con un grupo y una categoría especial que no se solape con otros existentes que puedan haber surgido en base a necesidades específicas &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;  &lt;div&gt;&lt;strong&gt;Nueva categoría: &lt;/strong&gt;mis aprobaciones de flujos de trabajo&lt;/div&gt;  &lt;div&gt;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;Se crea una categoría llamada “mis aprobaciones de flujos de trabajo” con la siguiente configuración:&lt;/div&gt;  &lt;div&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_4CD6D6D2.png" width="559" height="71" /&gt;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;&lt;/div&gt;  &lt;div&gt;&lt;strong&gt;Nuevo grupo: &lt;/strong&gt;aprobadores de flujos de trabajo&lt;/div&gt;  &lt;div&gt;&lt;/div&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;div&gt;A este nuevo grupo se le asignarán los siguientes permisos para la categoría “mis flujos de trabajo”:&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;Open Project &lt;/li&gt;    &lt;li&gt;View Project Schedule in Project Web App &lt;/li&gt;    &lt;li&gt;View Project Site &lt;/li&gt;    &lt;li&gt;View Project Summary in Project Center &lt;/li&gt;    &lt;li&gt;View Enterprise Resource Data &lt;/li&gt;    &lt;li&gt;View Resource Assignments in Assignment Views &lt;/li&gt; &lt;/ul&gt;  &lt;div&gt;Y los siguientes permisos globales:&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;Change Password &lt;/li&gt;    &lt;li&gt;Log On &lt;/li&gt;    &lt;li&gt;Manage Personal Notifications &lt;/li&gt; &lt;/ul&gt;  &lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;  &lt;div&gt;&lt;strong&gt;Nuevo grupo de SharePoint&lt;/strong&gt;: Workflows Aprobers (Project Server)&lt;/div&gt;  &lt;div&gt;&lt;/div&gt;  &lt;div&gt;Es grupo necesita permiso de Team Members en las siguientes librerías de PWA:&lt;/div&gt;  &lt;ul&gt;   &lt;li&gt;Project Server Workflow History &lt;/li&gt;    &lt;li&gt;Project Server Workflow Tasks &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Y permiso de Lectura en:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Project Details Pages &lt;/li&gt; &lt;/ul&gt;  &lt;div&gt;&amp;#160;&lt;/div&gt;  &lt;h3&gt;Conclusión&lt;/h3&gt;  &lt;p&gt;La funcionalidad de gestión de la demanda de Project Server es flexible, lo cual hace que podamos implementar procesos de negocio complejos y diferentes entre sí. Esa puede ser una razón por la cual necesitemos modificar la seguridad estándar de flujos de trabajo. En este breve artículo, hemos explicado que es lo que viene fuera de la caja y dimos ejemplo de personalizaciones.&lt;/p&gt;  &lt;p&gt;Cualquier duda me consultan.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Bibliografía&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Project Server 2010 global permissions: &lt;a href="http://technet.microsoft.com/en-us/library/cc197631(v=office.14).aspx"&gt;http://technet.microsoft.com/en-us/library/cc197631(v=office.14).aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Project Server 2010 category permissions: &lt;a href="http://technet.microsoft.com/en-us/library/cc197622(v=office.14).aspx"&gt;http://technet.microsoft.com/en-us/library/cc197622(v=office.14).aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Project Server 2010 default group permissions: &lt;a href="http://technet.microsoft.com/en-us/library/cc197658(v=office.14).aspx"&gt;http://technet.microsoft.com/en-us/library/cc197658(v=office.14).aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=208376" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Seguridad/default.aspx">Seguridad</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server+2010/default.aspx">Project Server 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Workflow en Project Server 2010 ¿Cómo crear información de maestro detalle en una PDP?</title><link>http://geeks.ms/blogs/jpussacq/archive/2012/12/12/workflow-en-project-server-2010-191-c-243-mo-crear-informaci-243-n-de-maestro-detalle-en-una-pdp.aspx</link><pubDate>Wed, 12 Dec 2012 20:57:38 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207780</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=207780</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2012/12/12/workflow-en-project-server-2010-191-c-243-mo-crear-informaci-243-n-de-maestro-detalle-en-una-pdp.aspx#comments</comments><description>&lt;p&gt;Anteriormente vimos como crear una &lt;a href="http://surpoint.blogspot.com.ar/2012/11/workflow-en-project-server-2010-como.html"&gt;PDP&lt;/a&gt; para flujos de trabajo de Project Server 2010. Las PDPs nos permiten capturar información que se almacenan en campos personalizados de Project Server. Sin embargo, un requerimiento muy común es que se necesiten cargar datos repetitivos asociados a un proyecto, como por ejemplo:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Productos afectados &lt;/li&gt;    &lt;li&gt;Lista de stakeholders &lt;/li&gt;    &lt;li&gt;Documentos &lt;/li&gt;    &lt;li&gt;Etc… &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A continuación les presento una solución basada en un &lt;a href="http://azlav.umtblog.com/2011/03/16/capturing-the-project-narrative-with-project-server-2010/#comment-798http://azlav.umtblog.com/2011/03/16/capturing-the-project-narrative-with-project-server-2010/"&gt;excelente artículo&lt;/a&gt; de Andrew Lavinsky, el cual les recomiendo que lean, más un &lt;a href="http://mnaveenkumar.blogspot.com/2012/04/redirect-infopath-webpart-to-custom-url.html"&gt;complemento&lt;/a&gt; de Naveen Kumar.&lt;/p&gt;  &lt;p&gt;El enfoque de la solución es sencillo:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Se crear una lista en SharePoint que almacene la información de detalle. &lt;/li&gt;    &lt;li&gt;Se modifica la pantalla de alta de esa lista con InfoPath para ocultar el campo de relación con el maestro: Project UID &lt;/li&gt;    &lt;li&gt;Se agregan tres elementos web en la PDP      &lt;ol&gt;       &lt;li&gt;Un filtro por URL &lt;/li&gt;        &lt;li&gt;La pantalla de alta en InfoPath &lt;/li&gt;        &lt;li&gt;La pantalla con la información de detalle de la lista &lt;/li&gt;     &lt;/ol&gt;   &lt;/li&gt;    &lt;li&gt;Mediante conexiones, el filtro por URL provee el dato de ID del proyecto a los otros dos elementos web &lt;/li&gt;    &lt;li&gt;Se agrega algo de código en jQuery para solucionar un pequeño comportamiento&amp;#160; no deseado &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;El resultado es una pantalla como la que vemos aquí:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_42BFBF8C.png" width="576" height="319" /&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_6B0EF1E0.png" width="576" height="200" /&gt;&lt;/p&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;La lista a crear en SharePoint&lt;/h3&gt;  &lt;p&gt;Es una lista de tipo “custom” con la única salvedad de contener un campo para el ID del proyecto de tipo texto de una línea:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_70112F8F.png" width="580" height="135" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;La modificación de la pantalla de alta de la lista&lt;/h3&gt;  &lt;p&gt;Simplemente hacemos clic en el botón “customize form”, recuerden que en SharePoint 2010, podemos modificar estas pantallas con InfoPath:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_4DD92409.png" width="92" height="87" /&gt;&lt;/p&gt;  &lt;p&gt;Luego, eliminamos la fila que contiene el campo ProjectUID, lo que hará que no esté visible:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_53B3C7A2.png" width="584" height="410" /&gt;&lt;/p&gt;  &lt;p&gt;Y agregamos un botón debajo, al que le modificaremos las propiedades para que sea de tipo “Submit”:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_42EC1CF4.png" width="396" height="318" /&gt;&lt;/p&gt;  &lt;p&gt;Luego, publicamos nuestro formulario:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_1CA9C39C.png" width="90" height="92" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_5FA59209.png" width="295" height="136" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Agregando los elementos web a la PDP…&lt;/h3&gt;  &lt;p&gt;&lt;strong&gt;1) Primero agregamos un elemento web para filtro de URL:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_39CF6BA6.png" width="226" height="94" /&gt;&lt;/p&gt;  &lt;p&gt;Con esta configuración:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_63CF69CE.png" width="226" height="203" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2) Luego agregamos el elemento web de nuestra lista de SharePoint&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Este es un elemento estándar, el punto importante es que quede conectado al elemento web de filtro por URL&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3) Finalmente agregamos un elemento web de Infopath&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Elegimos nuestro formulario y verificamos que la propiedad “Submit behavior” quede configurada en: “Close the form”&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_628AD0EF.png" width="339" height="459" /&gt;&lt;/p&gt;  &lt;p&gt;Este elemento hay que conectarlo al de filtro por URL para que el dato ProjectUID de la URL sirva para completar en forma automática el de nuestro formulario alta. Aquí es donde efectivamente estaremos estableciendo el vínculo!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Un último detalle&lt;/h3&gt;  &lt;p&gt;En el paso anterior usamos la opción “Close the form” en lugar de “Open a new form” que hubiese sido la opción lógica. La razón es que la opción “Open a new form” no funciona luego del primer submit, los filtros dejan de aplicarse. Por lo cual nuestra segunda alta quedará con un Project UID nulo!!!&lt;/p&gt;  &lt;p&gt;Es por ello que usamos “Close the form”, que tiene un problema bastante feo. Luego de dar un alta, desaparece la pantalla de alta con un cartel que dice que el formulario se ha cerrado. El usuario sólo puede volver a hacer aparecer esta pantalla si refresca la página.&lt;/p&gt;  &lt;p&gt;Como este comportamiento es bastante anti natural, la solución poco convencional es:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Agregar una CEWP &lt;/li&gt;    &lt;li&gt;Que busque el mensaje que dice que el formulario se ha cerrado &lt;/li&gt;    &lt;li&gt;Y que si lo encuentra, recargue la página. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Sí, es feo y lo peor es que genera un doble postback, pero es una alternativa interesante. El código de la CEWP es:&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;lt;script src=&amp;quot;/PWA/Internal/jquery-1.4.2.min.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;$(document).ready(function() { &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if( $(&amp;#39;#DialogFinalMessage&amp;#39;).children().length&amp;gt;0 ) {      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; window.location.href = window.location.href;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;#160;&amp;#160; });&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff" face="Courier New"&gt;&amp;lt;/script&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Conclusión&lt;/h3&gt;  &lt;p&gt;Esta es una forma sencilla de implementar maestro detalle en las PDPs de Project Server 2010 usando herramientas conocidas. Y lo más importante es que nos brinda un potencial enorme al poder incorporar información muchos más rica en nuestros flujos de trabajo. &lt;/p&gt;  &lt;p&gt;Espero les resulte útil!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207780" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server/default.aspx">Project Server</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server+2010/default.aspx">Project Server 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Workflow en Project Server 2010 ¿Cómo crear fases y etapas?</title><link>http://geeks.ms/blogs/jpussacq/archive/2012/11/30/workflow-en-project-server-2010-191-c-243-mo-crear-fases-y-etapas.aspx</link><pubDate>Fri, 30 Nov 2012 15:50:54 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207629</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=207629</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2012/11/30/workflow-en-project-server-2010-191-c-243-mo-crear-fases-y-etapas.aspx#comments</comments><description>&lt;p&gt;Las fases y etapas permiten estructura un flujo de trabajo de gestión de la demanda dentro de Project Server 2010. Mientras que las fases son un simple agrupamiento de etapas, las etapas tienen algunas características más avanzadas tales como:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Determinar que &lt;a href="http://surpoint.blogspot.com.ar/2012/11/workflow-en-project-server-2010-como.html"&gt;PDPs&lt;/a&gt; están visibles &lt;/li&gt;    &lt;li&gt;Determinar cuál es &lt;a href="http://surpoint.blogspot.com.ar/2012/11/workflow-en-project-server-2010-como_30.html"&gt;la PDP para mostrar el estado del flujo de trabajo&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Determinar si un campo personalizado es obligatorio o de sólo lectura en esa etapa &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A continuación se enumeran los pasos para crear fases y etapas:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Crear una fase&lt;/h3&gt;  &lt;p&gt;Ir a Project Server / Server Settings / Workflow and Project Details Pages &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_50BE833C.png" width="253" height="166" /&gt; &lt;/p&gt;  &lt;p&gt;Clic en Workflow Phases &lt;/p&gt;  &lt;p&gt;Clic en New Workflow Phase &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_16630D5B.png" width="136" height="23" /&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;A continuación sólo se necesita ingresar el nombre, la descripción y salvar:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_679D54B8.png" width="596" height="229" /&gt;&lt;/p&gt;  &lt;p&gt;Una vez creadas las fases, se obtiene algo como lo siguiente:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_53A3C222.png" width="405" height="164" /&gt;&lt;/p&gt;  &lt;p&gt;El siguiente paso es la creación de etapas.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Crear una etapa&lt;/h3&gt;  &lt;p&gt;Antes de crear una etapa, es importante que tengamos creados:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Las fases &lt;/li&gt;    &lt;li&gt;Los campos personalizados &lt;/li&gt;    &lt;li&gt;&lt;a href="http://surpoint.blogspot.com.ar/2012/11/workflow-en-project-server-2010-como.html"&gt;Las PDPs de ingreso de datos&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://surpoint.blogspot.com.ar/2012/11/workflow-en-project-server-2010-como_30.html"&gt;Las PDPs de estado del flujo de trabajo&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Con toda esa información, ir a Project Server / Server Settings / Workflow and Project Details Pages &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_3D6DA6D0.png" width="257" height="160" /&gt; &lt;/p&gt;  &lt;p&gt;Clic en Workflow Stages &lt;/p&gt;  &lt;p&gt;Clic en New Workflow Stage &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_031230EF.png" width="139" height="26" /&gt; &lt;/p&gt;  &lt;p&gt;A continuación completar los siguientes campos:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_172B4D78.png" width="588" height="525" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_157A81A4.png" width="253" height="127" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_267EAF87.png" width="589" height="287" /&gt;&lt;/p&gt;  &lt;p&gt;Existen otros datos que se pueden almacenar, pero dependerán de la lógica del flujo de trabajo.&lt;/p&gt;  &lt;p&gt;Obtendremos una lista como la siguiente:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_3016F7F0.png" width="588" height="105" /&gt;&lt;/p&gt;  &lt;p&gt;Seguir el mismo procedimiento para el resto de las etapas.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207629" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server/default.aspx">Project Server</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server+2010/default.aspx">Project Server 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Workflow en Project Server 2010 ¿Cómo crear una PDP de estado del flujo de trabajo?</title><link>http://geeks.ms/blogs/jpussacq/archive/2012/11/30/workflow-en-project-server-2010-191-c-243-mo-crear-una-pdp-de-estado-del-flujo-de-trabajo.aspx</link><pubDate>Fri, 30 Nov 2012 15:24:01 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207628</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=207628</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2012/11/30/workflow-en-project-server-2010-191-c-243-mo-crear-una-pdp-de-estado-del-flujo-de-trabajo.aspx#comments</comments><description>&lt;p&gt;Anteriormente se detalló &lt;a href="http://surpoint.blogspot.com.ar/2012/11/workflow-en-project-server-2010-como.html"&gt;qué son las PDPs&lt;/a&gt; y se explicó cómo crear una PDP que permita completar campos personalizados. En este punto explicaremos como crear una PDP que sirva para mostrar el estado de un flujo de trabajo, básicamente en qué punto se encuentra y cuáles son los próximos pasos.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a name="_Toc341971755"&gt;Ir a la sección de PDPs&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Ir a Project Server / Server Settings / Workflow and Project Details Pages &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_275D5F17.png" width="214" height="166" /&gt; &lt;/p&gt;  &lt;p&gt;Clic en Project Details Pages &lt;/p&gt;  &lt;h5&gt;&lt;/h5&gt;  &lt;h5&gt;&amp;#160;&lt;/h5&gt;  &lt;h3&gt;&lt;a name="_Toc341971756"&gt;Crear la página&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Clic en New Document &lt;/p&gt;  &lt;p&gt;Completar el nombre, elegir el layout y presionar Create: &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_3B0A48AB.png" width="603" height="417" /&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;h3&gt;&lt;a name="_Toc341971757"&gt;Agregar los elementos web&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;En en el área “Left Column” clic en “Add a Web Part” &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_56EB57D6.png" width="276" height="128" /&gt; &lt;/p&gt;  &lt;p&gt;Seleccionar la categoría Project Web App y el elemento web Workflow Status. Este elemento nos permitirá mostrar el estado de avance del flujo de trabajo. &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_28259F34.png" width="616" height="249" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_1EE963F3.png" width="415" height="261" /&gt; &lt;/p&gt;  &lt;p&gt;Configurar lo que deseamos ver: &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_0B5C0452.png" width="223" height="209" /&gt; &lt;/p&gt;  &lt;p&gt;Al momento de crear la página, la misma no estará conectada a un flujo de trabajo, motivo por el cual aparecerá un mensaje como el siguiente: &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_51008E70.png" width="435" height="59" /&gt; &lt;/p&gt;  &lt;p&gt;Luego hacer clic en Apply y en Stop Editing. &lt;/p&gt;  &lt;p&gt;Por supuesto, pueden agregarse otros elementos web de SharePoint o PWA en este punto. &lt;/p&gt;  &lt;p&gt;Cuando está página se use dentro de un flujo de trabajo, tendrá un aspecto como el siguiente: &lt;/p&gt;  &lt;p&gt;&lt;img alt="Using the Initial Proposal Details stage" src="http://i.msdn.microsoft.com/dynimg/IC357021.gif" width="552" height="427" /&gt; &lt;/p&gt;  &lt;p align="center"&gt;Fuente: &lt;a title="http://msdn.microsoft.com/en-us/library/office/ee767699(v=office.14).aspx" href="http://msdn.microsoft.com/en-us/library/office/ee767699(v=office.14).aspx"&gt;http://msdn.microsoft.com/en-us/library/office/ee767699(v=office.14).aspx&lt;/a&gt; &lt;/p&gt;  &lt;p align="center"&gt;&amp;#160; &lt;/p&gt;  &lt;h5&gt;&lt;/h5&gt;  &lt;h3&gt;&lt;a name="_Toc341971758"&gt;Configurar el tipo de página&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Existen tres tipos de páginas para las PDPs. Este dato se configura editando las propiedades de la página. En este caso, utilizaremos el valor “Workflow Status”: &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_744D8315.png" width="567" height="402" /&gt; &lt;/p&gt;  &lt;p&gt;Ese fue el último paso. Está página será utilizada al momento de crear las etapas del flujo de trabajo. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207628" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server/default.aspx">Project Server</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server+2010/default.aspx">Project Server 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Workflow en Project Server 2010 ¿Cómo crear un EPT?</title><link>http://geeks.ms/blogs/jpussacq/archive/2012/11/29/workflow-en-project-server-2010-191-c-243-mo-crear-un-ept.aspx</link><pubDate>Thu, 29 Nov 2012 19:49:11 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207613</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=207613</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2012/11/29/workflow-en-project-server-2010-191-c-243-mo-crear-un-ept.aspx#comments</comments><description>&lt;p&gt;Los EPTs (Enterprise Project Types) de Project Server 2010 permiten tipificar los proyectos. Agrupan las siguientes características:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Flujo de trabajo &lt;/li&gt;    &lt;li&gt;Plantilla de plan de trabajo (Gantt) &lt;/li&gt;    &lt;li&gt;Plantilla de sitio de proyecto (SharePoint) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Aparecen en PWA como la opción de crear un proyecto o una iniciativa desde la web:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_79C25F79.png" width="161" height="138" /&gt;&lt;/p&gt;  &lt;p&gt;A continuación se enumeran los pasos para crear un EPT.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Ir a la sección de EPTs&lt;/h3&gt;  &lt;p&gt;Ir a Project Server / Server Settings / Workflow and Project Details Pages &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_266B1953.png" width="213" height="169" /&gt; &lt;/p&gt;  &lt;p&gt;Clic en Enterprise Project Types &lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;h3&gt;Crear el EPT&lt;/h3&gt;  &lt;p&gt;Clic en New Enterprise Project Type &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_655C99EE.png" width="174" height="26" /&gt; &lt;/p&gt;  &lt;p&gt;Completar la siguiente información y salvar: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Nombre&lt;/strong&gt;: es el nombre que aparecerá al momento de elegir el tipo de proyecto a crear. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Description&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Site Workflow Association&lt;/strong&gt;: acá asociamos el flujo de trabajo creado en Visual Studio. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;New Project Page / Project Details Pages&lt;/strong&gt;. acá asociamos la PDP que captura los datos al momento de crear el proyecto. &lt;a href="http://surpoint.blogspot.com.ar/2012/11/workflow-en-project-server-2010-como.html"&gt;Revisar el artículo que explica cómo crear PDP&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: este dato es importante porque el EPT marcado como predeterminado es el que se utiliza si se crear un proyecto desde Project Pro. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Departments&lt;/strong&gt;: útil como opción de filtro, para ver sólo los EPTs correspondientes a un departamento &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Image&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Order&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Project Plan Template&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Project Site Template&lt;/strong&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_4B8863BF.png" width="510" height="520" /&gt;&lt;/p&gt;  &lt;p&gt;Quedará creado el EPT. Las fases y tareas que el EPT utilizará, es parte de la programación que se hace en Visual Studio.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207613" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server/default.aspx">Project Server</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server+2010/default.aspx">Project Server 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Workflow en Project Server 2010 ¿Cómo crear una PDP?</title><link>http://geeks.ms/blogs/jpussacq/archive/2012/11/29/workflow-en-project-server-2010-191-c-243-mo-crear-una-pdp.aspx</link><pubDate>Thu, 29 Nov 2012 19:03:55 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:207611</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=207611</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2012/11/29/workflow-en-project-server-2010-191-c-243-mo-crear-una-pdp.aspx#comments</comments><description>&lt;p&gt;Las &lt;strong&gt;PDPs (Project Details Pages)&lt;/strong&gt; permiten mostrar o capturar información dentro de un flujo de trabajo de trabajo. Técnicamente son páginas de elementos web de SharePoint que utilizan normalmente elementos web propios de Project Server, pero que también pueden alojar elementos web de SharePoint o elementos construidos por nosotros.&lt;/p&gt;  &lt;p&gt;Las PDPs pueden ser usadas para:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;El inicio de un proyecto, requerido para EPTs que usen flujos de trabajo &lt;/li&gt;    &lt;li&gt;Para mostrar el estado de un flujo de trabajo &lt;/li&gt;    &lt;li&gt;Para que un usuario edite información &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A continuación se enumeran los pasos para crear una PDP:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Ir a la sección de PDPs&lt;/h3&gt;  &lt;p&gt;Ir a Project Server / Server Settings / Workflow and Project Details Pages&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_58E3B865.png" width="214" height="166" /&gt;&lt;/p&gt;  &lt;p&gt;Clic en Project Details Pages &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Crear la página&lt;/h3&gt;  &lt;p&gt;Clic en New Document&lt;/p&gt;  &lt;p&gt;Completar el nombre, elegir el layout y presionar Create:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_1BDF86D3.png" width="565" height="281" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Agregar los elementos web&lt;/h3&gt;  &lt;p&gt;En en el área “Left Column” clic en “Add a Web Part”&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_0DC097D6.png" width="276" height="128" /&gt;&lt;/p&gt;  &lt;p&gt;Seleccionar la categoría Project Web App y el elemento web Project Fields. Este elemento nos permitirá capturar información en campos personalizados.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_0CE831EC.png" width="566" height="211" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_7C20873D.png" width="369" height="258" /&gt;&lt;/p&gt;  &lt;p&gt;Agregar los campos que necesitamos que se muestren en esta PDP haciendo uso de la opción Displayed Project Fields:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_53A1A529.png" width="226" height="163" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_07699B7B.png" width="598" height="301" /&gt;&lt;/p&gt;  &lt;p&gt;A modo de ejemplo, puede quedar algo así:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_45EEE921.png" width="225" height="166" /&gt;&lt;/p&gt;  &lt;p&gt;Luego hacer clic en Apply y en Stop Editing.&lt;/p&gt;  &lt;p&gt;Por supuesto, pueden agregarse otros elementos web de SharePoint o PWA en este punto.&lt;/p&gt;  &lt;p&gt;La página quedará creada de la siguiente forma:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_56F31704.png" width="596" height="154" /&gt;&lt;/p&gt;  &lt;h3&gt;Configurar el tipo de página&lt;/h3&gt;  &lt;p&gt;Como se mencionó anteriormente, existen tres tipos de páginas para las PDPs. Este dato se configura editando las propiedades de la página. En este ejemplo, utilizaremos el valor “New Project”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image4_5F00_57E2AB17.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image[4]" border="0" alt="image[4]" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image4_5F00_thumb_5F00_34D239A7.png" width="595" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ese fue el último paso. Luego, al crear las etapas del flujo de trabajo y los EPTs, se hará uso de cada PDP creada.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=207611" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server/default.aspx">Project Server</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server+2010/default.aspx">Project Server 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Copia oculta en flujos de trabajo de SharePoint Designer 2007</title><link>http://geeks.ms/blogs/jpussacq/archive/2012/10/01/copia-oculta-en-flujos-de-trabajo-de-sharepoint-designer-2007.aspx</link><pubDate>Mon, 01 Oct 2012 19:47:15 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206964</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=206964</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2012/10/01/copia-oculta-en-flujos-de-trabajo-de-sharepoint-designer-2007.aspx#comments</comments><description>&lt;p&gt;Como ustedes saben, SharePoint Designer 2007 permite enviar correos electrónicos dentro de un flujo de trabajo, pero no permite especificar el campo “copia oculta”.&lt;/p&gt;  &lt;p&gt;Existe una forma de resolverlo tal como se explica en este &lt;a href="http://blog.summitcloud.com/2010/03/how-to-bcc-in-sharepoint-workflow-email/"&gt;post&lt;/a&gt; (en inglés). En SharePoint 2010 es más sencillo, lo puede ver en este otro &lt;a href="http://www.tcscblog.com/2010/11/30/add-bcc-recipient-in-sharepoint-designer-2010-workflow-e-mails/"&gt;post&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Lo que se hace es usar el campo CC, pero luego, en el código hacer que en realidad CC funcione como BCC.&lt;/p&gt;  &lt;p&gt;Los pasos son sencillos:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Completar el campo CC &lt;/li&gt;    &lt;li&gt;Abrir el archivo XOML &lt;/li&gt;    &lt;li&gt;Intercambiar las opciones CC y BCC &lt;/li&gt;    &lt;li&gt;Desplegar el flujo de trabajo &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;A continuación las pantallas:&lt;/p&gt;  &lt;p&gt;En esta pantalla se ve como no aparece la opción de BCC. En nuestro caso, completaremos de todas formas las opciones TO y CC.&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_685DE820.png" width="497" height="129" /&gt;&lt;/p&gt;  &lt;p&gt;Una vez desplegado el flujo de trabajo, buscamos el archivo XOML y lo editamos con el bloc de notas:&lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_4E1D7EFC.png" width="525" height="288" /&gt;&lt;/p&gt;  &lt;p&gt;Encontraremos una línea como la siguiente:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;ns0:EmailActivity BCC=&amp;quot;{x:Null}&amp;quot; x:Name=&amp;quot;ID4&amp;quot; CC=&amp;quot;{ActivityBind ROOT,Path=_x005f_ArrayList1}&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Intercambiamos BCC con CC como a continuación se muestra&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&amp;lt;ns0:EmailActivity &lt;font color="#ff0000"&gt;&lt;strong&gt;CC&lt;/strong&gt;&lt;/font&gt;=&amp;quot;{x:Null}&amp;quot; x:Name=&amp;quot;ID4&amp;quot; &lt;font color="#ff0000"&gt;&lt;strong&gt;BCC&lt;/strong&gt;&lt;/font&gt;=&amp;quot;{ActivityBind ROOT,Path=_x005f_ArrayList1}&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Salvamos y luego desplegamos nuevamente el flujo de trabajo abriéndolo y haciendo clic en “finish”. En este punto vamos a ver que nuestro campo CC ahora aparece nulo. &lt;/p&gt;  &lt;p&gt;Como último punto, hacemos una prueba y veremos como el flujo de trabajo llega a destino.&lt;/p&gt;  &lt;p&gt;Eso es todo, hasta la próxima!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206964" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/email/default.aspx">email</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/SharePoint+Designer+2007/default.aspx">SharePoint Designer 2007</category></item><item><title>¿Cómo cancelar todos los flujos de trabajo activos programáticamente?</title><link>http://geeks.ms/blogs/jpussacq/archive/2012/08/29/191-c-243-mo-cancelar-todos-los-flujos-de-trabajo-activos-program-225-ticamente.aspx</link><pubDate>Wed, 29 Aug 2012 13:26:16 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:206574</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=206574</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2012/08/29/191-c-243-mo-cancelar-todos-los-flujos-de-trabajo-activos-program-225-ticamente.aspx#comments</comments><description>&lt;p&gt;La siguiente es una página de aplicación de SharePoint que permite &lt;strong&gt;cancelar todos los flujos de trabajo activos&lt;/strong&gt;. Para ejecutarla, debe estar almacenada en la siguiente carpeta (o en una subcarpeta): &lt;/p&gt;  &lt;p&gt;C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\TEMPLATE\LAYOUTS&lt;/p&gt;  &lt;p&gt;Algunas consideraciones a tener en cuenta:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Esta página sólo cancela los flujos de trabajo de lista, pero no los de sitio (que existen desde SharePoint 2010) &lt;/li&gt;    &lt;li&gt;Es posible que esta página tarde más de 6 minutos en ejecutar el código. En ese caso deberán modificar el web.config que se encuentra en la carpeta mencionada arriba, específicamente la línea &amp;lt;httpRuntime executionTimeout=&amp;quot;360&amp;quot; /&amp;gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A continuación el código. Espero les resulte útil!&lt;/p&gt;  &lt;pre style="background:#ffffff;color:#000000;"&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Assembly Name&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;  
&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Register TagPrefix&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;spuc&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt; Namespace&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;Microsoft.SharePoint.WebControls&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&lt;/span&gt;
&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Assembly&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt; &lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Page Language&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;C#&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt; MasterPageFile&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;/_layouts/application.master&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt; &lt;/span&gt;
&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Inherits&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;Microsoft.SharePoint.WebControls.LayoutsPageBase&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt; &lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;

&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Import Namespace&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;Microsoft.SharePoint&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt; &lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Import Namespace&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;Microsoft.SharePoint.Workflow&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt; &lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Import Namespace&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;System&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Import Namespace&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;System.Collections.Generic&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Import Namespace&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;System.Text&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;
&lt;span style="background:#ffffe8;color:#7f0055;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;@ Import Namespace&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;=&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;System.IO&lt;/span&gt;&lt;span style="background:#ffffe8;color:#000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background:#ffffe8;color:#7f0055;"&gt;%&amp;gt;&lt;/span&gt;

&lt;span style="color:#7f0055;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055;font-weight:bold;"&gt;script runat=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&amp;gt;&lt;/span&gt;
  protected override void OnLoad(EventArgs e) {

    FlujosTrabajo.Text = &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;; &lt;span style="color:#3f7f59;"&gt;// Salida por pantalla&lt;/span&gt;
    int i = 0; &lt;span style="color:#3f7f59;"&gt;// Cantidad de flujos activos&lt;/span&gt;
    int s = 0; &lt;span style="color:#3f7f59;"&gt;// Cantidad de sitios&lt;/span&gt;

    Error.Text = &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;Ejecución exitosa&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;;

    &lt;span style="color:#7f0055;font-weight:bold;"&gt;try&lt;/span&gt; {
        using (SPSite oSite = &lt;span style="color:#7f0055;font-weight:bold;"&gt;new&lt;/span&gt; SPSite(&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;http://Surpoint&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;)) 
            {
            foreach (SPWeb oWeb &lt;span style="color:#7f0055;font-weight:bold;"&gt;in&lt;/span&gt; oSite.AllWebs)
&lt;span style="color:#3f7f59;"&gt;//            using (SPWeb oWeb = oSite.OpenWeb(&amp;quot;/Blog/&amp;quot;))&lt;/span&gt;
                {
                oWeb.AllowUnsafeUpdates = &lt;span style="color:#7f0055;font-weight:bold;"&gt;true&lt;/span&gt;;
                FlujosTrabajo.Text = FlujosTrabajo.Text + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;Site: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + oWeb.Url + Environment.NewLine ;
                s = s +1;
                foreach (SPList list &lt;span style="color:#7f0055;font-weight:bold;"&gt;in&lt;/span&gt; oWeb.Lists)
                    {
                    &lt;span style="color:#3f7f59;"&gt;// Verifico si la lista tiene flujos de trabajo&lt;/span&gt;
                    SPWorkflowAssociationCollection associationColl = list.WorkflowAssociations;
                    &lt;span style="color:#7f0055;font-weight:bold;"&gt;if&lt;/span&gt; (associationColl.Count &amp;gt;0)
                        {
                        FlujosTrabajo.Text = FlujosTrabajo.Text + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; Lista: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + list.Title + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; (&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;+ (list.Items.Count) +&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;) [Workflows asociados: (&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + associationColl.Count + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;)]&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + Environment.NewLine ;
                        &lt;span style="color:#7f0055;font-weight:bold;"&gt;for&lt;/span&gt; (int y=list.Items.Count-1;  y&amp;gt;=0; y--) 
                            {
                            SPListItem oItem = list.Items[y];
                            &lt;span style="color:#3f7f59;"&gt;// Obtengo los flujos de trabajo activos para el ítem&lt;/span&gt;
                            SPWorkflowCollection wfs = oSite.WorkflowManager.GetItemActiveWorkflows(oItem);
                            &lt;span style="color:#7f0055;font-weight:bold;"&gt;if&lt;/span&gt; (wfs.Count &amp;gt;0)
                                {
                                   FlujosTrabajo.Text = FlujosTrabajo.Text + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;  Ítem: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + oItem.ID + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; [WF activos: (&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + wfs.Count + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;)]&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + Environment.NewLine ;
                                &lt;span style="color:#7f0055;font-weight:bold;"&gt;for&lt;/span&gt; (int x=0;  x&amp;lt;wfs.Count; x++) 
                                    {
                                    SPWorkflow workflow = wfs[x];
                                    FlujosTrabajo.Text = FlujosTrabajo.Text + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;   Workflow cancelado / ítem: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + workflow.ItemId;
                                    i = i + 1;
                                    &lt;span style="color:#3f7f59;"&gt;// Cancelo el flujo de trabajo&lt;/span&gt;
                                     SPWorkflowManager.CancelWorkflow(workflow);
                                    FlujosTrabajo.Text = FlujosTrabajo.Text + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; OK] &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + Environment.NewLine ;
                                    }
                                }
                            }
                        }
                    }
                oWeb.AllowUnsafeUpdates = &lt;span style="color:#7f0055;font-weight:bold;"&gt;false&lt;/span&gt;;
                oWeb.Dispose();
                }
               FlujosTrabajo.Text = FlujosTrabajo.Text + Environment.NewLine + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;*** Total de workflows cancelados: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + i + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; ***&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;;
               FlujosTrabajo.Text = FlujosTrabajo.Text + Environment.NewLine + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;*** Total de sitios : &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + s + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; ***&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;;
               Error.Text = Error.Text + Environment.NewLine + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;*** Total de workflows cancelados: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + i + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; ***&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;;
            }
        }
    &lt;span style="color:#7f0055;font-weight:bold;"&gt;catch&lt;/span&gt; (Exception ex)
        {
        Error.Text = &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;*** Total de workflows cancelados: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + i + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt; ***&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;;
        Error.Text = Error.Text + Environment.NewLine + &lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;Error: &lt;/span&gt;&lt;span style="color:#2a00ff;"&gt;&amp;quot;&lt;/span&gt; + ex.Message;
        }
}
    
&lt;span style="color:#7f0055;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055;font-weight:bold;"&gt;script&lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&amp;gt;&lt;/span&gt;

&lt;span style="color:#7f0055;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055;"&gt;asp:Content&lt;/span&gt; ID=&lt;span style="color:#2a00ff;"&gt;&amp;quot;Main&amp;quot;&lt;/span&gt; runat=&lt;span style="color:#2a00ff;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; contentplaceholderid=&lt;span style="color:#2a00ff;"&gt;&amp;quot;PlaceHolderMain&amp;quot;&lt;/span&gt; &lt;span style="color:#7f0055;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="color:#7f0055;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055;"&gt;asp:TextBox&lt;/span&gt; ID=&lt;span style="color:#2a00ff;"&gt;&amp;quot;Error&amp;quot;&lt;/span&gt; runat=&lt;span style="color:#2a00ff;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; Visible=&lt;span style="color:#2a00ff;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt; TextMode=&lt;span style="color:#2a00ff;"&gt;&amp;quot;MultiLine&amp;quot;&lt;/span&gt; Rows=&lt;span style="color:#2a00ff;"&gt;&amp;quot;3&amp;quot;&lt;/span&gt; Width=&lt;span style="color:#2a00ff;"&gt;&amp;quot;700px&amp;quot;&lt;/span&gt; &lt;span style="color:#7f0055;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color:#7f0055;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055;font-weight:bold;"&gt;BR&lt;/span&gt; &lt;span style="color:#7f0055;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color:#7f0055;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#7f0055;"&gt;asp:TextBox&lt;/span&gt; ID=&lt;span style="color:#2a00ff;"&gt;&amp;quot;FlujosTrabajo&amp;quot;&lt;/span&gt; runat=&lt;span style="color:#2a00ff;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; Visible=&lt;span style="color:#2a00ff;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt; TextMode=&lt;span style="color:#2a00ff;"&gt;&amp;quot;MultiLine&amp;quot;&lt;/span&gt; Rows=&lt;span style="color:#2a00ff;"&gt;&amp;quot;20&amp;quot;&lt;/span&gt; Width=&lt;span style="color:#2a00ff;"&gt;&amp;quot;700px&amp;quot;&lt;/span&gt; &lt;span style="color:#7f0055;"&gt;/&amp;gt;&lt;/span&gt;
&lt;span style="color:#7f0055;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#7f0055;"&gt;asp:Content&lt;/span&gt;&lt;span style="color:#7f0055;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=206574" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Acciones de flujo de trabajo en SharePoint Designer 2010: Guía de referencia rápida</title><link>http://geeks.ms/blogs/jpussacq/archive/2010/12/11/acciones-de-flujo-de-trabajo-en-sharepoint-designer-2010-gu-237-a-de-referencia-r-225-pida.aspx</link><pubDate>Sat, 11 Dec 2010 02:57:39 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:185856</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=185856</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2010/12/11/acciones-de-flujo-de-trabajo-en-sharepoint-designer-2010-gu-237-a-de-referencia-r-225-pida.aspx#comments</comments><description>&lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" border="0" alt="Office.com" align="right" src="http://officeimg.vo.msecnd.net/_layouts/images/general/office_logo.jpg?b=5540%2E4000" /&gt;Les dejo este interesante enlace desde el sitio de Office de Microsoft que explica cada una de las acciones de SharePoint Designer 2010 para el manejo de flujos de trabajo:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://office.microsoft.com/es-es/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx"&gt;http://office.microsoft.com/es-es/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Gracias a &lt;a href="http://twitter.com/#!/mariocortesf"&gt;Mario Cortez&lt;/a&gt; por la información…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=185856" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/SharePoint+Designer+2010/default.aspx">SharePoint Designer 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Acceso denegado en flujo de trabajo de SharePoint 2007</title><link>http://geeks.ms/blogs/jpussacq/archive/2010/11/21/acceso-denegado-en-flujo-de-trabajo-de-sharepoint-2007.aspx</link><pubDate>Sun, 21 Nov 2010 03:55:35 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:185072</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=185072</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2010/11/21/acceso-denegado-en-flujo-de-trabajo-de-sharepoint-2007.aspx#comments</comments><description>&lt;p&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" align="right" src="http://geeks.ms/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/jpussacq/image_5F00_4D6AC6D1.png" width="293" height="280" /&gt;¿Alguna vez han tenido un error de acceso denegado al ejecutar un flujo de trabajo creado con SharePoint 2007 que sea totalmente inexplicable?&lt;/p&gt;  &lt;p&gt;Pues yo sí, pero lo más raro fue la solución que encontré:&lt;/p&gt;  &lt;p&gt;1) Ir a la carpeta en donde se encuentra el flujo de trabajo en SPD&lt;/p&gt;  &lt;p&gt;2) Realizar un “check out”&lt;/p&gt;  &lt;p&gt;3) Realizar un “check in”&lt;/p&gt;  &lt;p&gt;Y luego, mágicamente (al menos para mi) se solucionó.&lt;/p&gt;  &lt;p&gt;Gracias a este post que me iluminó el camino: &lt;a href="http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx?List=9c93c708-e5ce-4714-bdea-499330361130&amp;amp;ID=160"&gt;http://www.binarywave.com/blogs/eshupps/Lists/Posts/Post.aspx?List=9c93c708-e5ce-4714-bdea-499330361130&amp;amp;ID=160&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Saludos y hasta la próxima!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=185072" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Comparación de herramientas de terceros para el manejo de workflow en sharepoint</title><link>http://geeks.ms/blogs/jpussacq/archive/2010/11/03/comparaci-243-n-de-herramientas-de-terceros-para-el-manejo-de-workflow-en-sharepoint.aspx</link><pubDate>Wed, 03 Nov 2010 03:20:19 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:184263</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=184263</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2010/11/03/comparaci-243-n-de-herramientas-de-terceros-para-el-manejo-de-workflow-en-sharepoint.aspx#comments</comments><description>&lt;p&gt;Les dejo un interesante artículo proveniente de &lt;a href="http://mrin17.wordpress.com/"&gt;Mrin&amp;#39;s Blog&lt;/a&gt; que arriesga una comparación sobre un conjunto de herramientas de terceros para el manejo de flujos de trabajo en SharePoint.&lt;/p&gt;  &lt;p&gt;Las herramientas comparadas son:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Nintex &lt;/li&gt;    &lt;li&gt;K2 &lt;/li&gt;    &lt;li&gt;Virto Software &lt;/li&gt;    &lt;li&gt;CorasWorks &lt;/li&gt;    &lt;li&gt;Wirkflow Essentials &lt;/li&gt;    &lt;li&gt;WorkBox SharePoint WorkFlow Manager &lt;/li&gt;    &lt;li&gt;Kaldeera Workflow Designer &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pueden leer la información completa en este enlace: &lt;a title="http://mrin17.wordpress.com/2010/05/12/third-party-workflow-solutions-for-sharepoint-comparison/" href="http://mrin17.wordpress.com/2010/05/12/third-party-workflow-solutions-for-sharepoint-comparison/"&gt;http://mrin17.wordpress.com/2010/05/12/third-party-workflow-solutions-for-sharepoint-comparison/&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Que les sea útil!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=184263" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Nintex Workflow 2010 - Workflows for SharePoint made easy (amazing video)</title><link>http://geeks.ms/blogs/jpussacq/archive/2010/07/16/nintex-workflow-2010-workflows-for-sharepoint-made-easy-amazing-video.aspx</link><pubDate>Fri, 16 Jul 2010 19:01:44 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:179459</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=179459</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2010/07/16/nintex-workflow-2010-workflows-for-sharepoint-made-easy-amazing-video.aspx#comments</comments><description>&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3x3Zf8OnUXs&amp;amp;hl=en_US&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3x3Zf8OnUXs&amp;amp;hl=en_US&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;Pueden ver además una breve descripción en el blog de Ignasi en este enlace: &lt;a title="http://www.sharepointer.es/2010/07/ya-llego-nintex-2010.html" href="http://www.sharepointer.es/2010/07/ya-llego-nintex-2010.html"&gt;http://www.sharepointer.es/2010/07/ya-llego-nintex-2010.html&lt;/a&gt;:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://4.bp.blogspot.com/_ROTvDKSByCg/TD8AhyWvgTI/AAAAAAAAGQw/y2GI6lbR2vo/s1600/Nintex6.jpg" width="604" height="391" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;Que les sea útil!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=179459" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Videos/default.aspx">Videos</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Nintex/default.aspx">Nintex</category></item><item><title>Seguridad a nivel de ítem en librerías de documentos</title><link>http://geeks.ms/blogs/jpussacq/archive/2010/06/05/seguridad-a-nivel-de-237-tem-en-librer-237-as-de-documentos.aspx</link><pubDate>Sat, 05 Jun 2010 02:47:31 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:177673</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=177673</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2010/06/05/seguridad-a-nivel-de-237-tem-en-librer-237-as-de-documentos.aspx#comments</comments><description>&lt;p&gt;Como saben, SharePoint posee una interesante opción de parametrización para configurar el acceso a elementos de listas (ver imagen)&lt;/p&gt;  &lt;p&gt;&lt;img border="0" alt="" src="http://www.EndUserSharePoint.com/blog/wp-content/uploads/2009/07/2009-07-07-ItemLevelPermission-01.png" width="266" height="150" /&gt;&lt;/p&gt;  &lt;p&gt;Lamentablemente, esta opción no está disponible en librerías de &lt;strong&gt;documentos&lt;/strong&gt;. Buscando soluciones, encontré ...&lt;/p&gt;  &lt;p&gt;Continuar leyendo en: &lt;a title="http://surpoint.blogspot.com/2010/06/seguridad-nivel-de-item-en-librerias-de.html" href="http://surpoint.blogspot.com/2010/06/seguridad-nivel-de-item-en-librerias-de.html"&gt;http://surpoint.blogspot.com/2010/06/seguridad-nivel-de-item-en-librerias-de.html&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=177673" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Seguridad/default.aspx">Seguridad</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Listas/default.aspx">Listas</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>WebCast: Flujos de trabajo en SharePoint 2010: Novedades y mejoras</title><link>http://geeks.ms/blogs/jpussacq/archive/2010/04/13/webcast-flujos-de-trabajo-en-sharepoint-2010-novedades-y-mejoras.aspx</link><pubDate>Tue, 13 Apr 2010 17:08:02 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:174575</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=174575</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2010/04/13/webcast-flujos-de-trabajo-en-sharepoint-2010-novedades-y-mejoras.aspx#comments</comments><description>&lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;margin-left:0px;border-left-width:0px;margin-right:0px;" border="0" alt="" align="right" src="http://www.suges.es/Recursos%20Compartidos/LogoSuges_peq.png" /&gt;Desde el &lt;b&gt;&lt;i&gt;Grupo de Usuarios de SharePoint de España&lt;/i&gt;&lt;/b&gt;, &lt;a href="http://www.suges.es/"&gt;SUGES&lt;/a&gt;, nuevo WebCast en el que tendrán la oportunidad de conocer las novedades en Flujos de trabajo en SharePoint 2010. De la mano de Pablo Peris, Director de Proyectos en &lt;a href="http://www.raona.com/es_es/Paginas/Home.aspx"&gt;Raona&lt;/a&gt;,&amp;#160; repasaremos las mejoras y novedades para la creación y mantenimiento de flujos de trabajo en 2010. Empezaremos viendo las novedades del Visio 2010 y SharePoint Designer 2010 que nos permiten implicar al usuario en la tareas iniciales del desarrollo y acabaremos viendo la potencia de Visual Studio 2010 para extender y desplegar estos flujos.&amp;#160; Tres herramientas renovadas que juntas dan soporte a todo el ciclo de vida de cualquier flujo en nuestro SharePoint 2010.&lt;/p&gt;  &lt;p&gt;Continuar leyendo en &lt;a title="http://surpoint.blogspot.com/2010/04/webcast-flujos-de-trabajo-en-sharepoint.html" href="http://surpoint.blogspot.com/2010/04/webcast-flujos-de-trabajo-en-sharepoint.html"&gt;http://surpoint.blogspot.com/2010/04/webcast-flujos-de-trabajo-en-sharepoint.html&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=174575" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Sharepoint/default.aspx">Sharepoint</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/SharePoint+2010/default.aspx">SharePoint 2010</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Webcast/default.aspx">Webcast</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Entrenamiento/default.aspx">Entrenamiento</category></item><item><title>Nintex con workflows dentro de Project server 2010</title><link>http://geeks.ms/blogs/jpussacq/archive/2010/03/10/nintex-con-workflows-dentro-de-project-server-2010.aspx</link><pubDate>Wed, 10 Mar 2010 22:58:59 GMT</pubDate><guid isPermaLink="false">2a2e7ade-7474-448b-9de5-1515d8bb7d1b:169960</guid><dc:creator>Juan Pablo</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://geeks.ms/blogs/jpussacq/rsscomments.aspx?PostID=169960</wfw:commentRss><comments>http://geeks.ms/blogs/jpussacq/archive/2010/03/10/nintex-con-workflows-dentro-de-project-server-2010.aspx#comments</comments><description>&lt;p&gt;Novedad publicada por Juan Alvarado en su blog. Transcribo:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Esto lo habia visto dentro del summit de MVP en una reunion con el grupo de project pero no se podia decir nada , hasta ahora que ya sacaron el anuncio oficial sobre que la compañia Nintex , muy famosa por el producto de workflows dentro de sharepoint, extiende su funcionalidad ahora con project server 2010.&amp;#160; Este producto realmente es buenisimo debido a que puede crear workflows en forma visual e incorporarlos a los diferentes tipos de projects que tengamos dentro del project server.&amp;#160; Esto es logico debido a que la infrastructura que usa Project Server 2010 es la misma de Sharepoint Server 2010.&amp;#160; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Este es un producto mu recomendable y necesario cuando estamos en implementacion en empresas que necesitan incorporar el concepto de workflows dentro de los project.&amp;#160; Actualmente tenemos que trabajar con Visual Studio y desarrollar alli el workflow usando el workflow fundation de windows, el mismo que se usa para CRM tambien.&amp;#160; Sin embargo empresas medianas y pequeñas no tienen personal de desarrollo con esos skills necesarios para crear los workflows e implementarlos despues dentro de project server 2007.&amp;#160; Sin embargo en Project server 2010 esto es mucho mas sencillo en workflows sencillos o de complejidad baja a mediana.&amp;#160; Para los workflows complejos necesitamos soluciones como la de Nintex que me dejo una muy buena impresion desde que la vi.&amp;#160; Una herramienta necesaria dentro de Project Server.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Les dejo el anuncio oficial sobre este producto.&lt;/em&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Continuar leyendo en: &lt;a title="http://juangyssa.spaces.live.com/Blog/cns!4AF18C3FF8E3FA4B!428.entry" href="http://juangyssa.spaces.live.com/Blog/cns!4AF18C3FF8E3FA4B!428.entry"&gt;http://juangyssa.spaces.live.com/Blog/cns!4AF18C3FF8E3FA4B!428.entry&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://geeks.ms/aggbug.aspx?PostID=169960" width="1" height="1"&gt;</description><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Project+Server/default.aspx">Project Server</category><category domain="http://geeks.ms/blogs/jpussacq/archive/tags/Workflow/default.aspx">Workflow</category></item></channel></rss>