MSMVPS.COM
The Ultimate Destination for Blogs by Current and Former Microsoft Most Valuable Professionals.

[VS2008 -WWF- MOSS 2007] ¿Cómo crear actividades personalizadas?
Visual Studio Team System

Syndication

Introducción

En este artículo aprenderá cómo crear una actividad personalizada utilizando Visual Studio 2008, esta actividad contendrá los pasos básicos necesarios para asignar una tarea en MOSS 2007 a un usuario, la misma que esperará a que este la complete, en una segunda publicación aprenderá cómo utilizar ésta actividad personalizada en un flujo de trabajo para MOSS 2007.

Para poder utilizar esta actividad en un flujo para MOSS 2007 deberá ser firmada con un strong name (La clave para quienes descarguen el codigo de ejemplo es Password1) y publicada en el GAC del servidor de MOSS 2007.

Descargar código Fuente.

Software Requerido

  • Windows Server 2003 o superior
  • Microsoft Office SharePoint 2007 (instalación stand alone)
  • Visual Studio 2008

  

Desarrollo

Empiece abriendo Visual Studio 2008 y cree un nuevo proyecto.

 

  

Los flujos de trabajo para MOSS 2007 son flujos de Windows WorkFlow Foundation, por lo tanto de la lista de Project types seleccione Workflow, y luego seleccione la plantilla Workflow Activity Library, en el nombre del proyecto ingrese BasicTaskActivity.

 

  

Una vez creado el proyecto deberá  firmar el assembly con un strong name, para lo cual haga clic derecho sobre el proyecto y seleccione propiedades, en la ventana de propiedades diríjase al tab signing.

Active la casilla Sign Assembly y seleccione new para crear un nuevo archivo de clave, deberá ingresar un nombre y una clave antes de dar clic en OK.

 

  

Una vez creado cierre la ventana de propiedades. Para poder utilizar las actividades para MOSS 2007 deberá agregar la referencia de los siguientes assemblies:

  

Identity

Description

Microsoft.Sharepoint

Windows® SharePoint® Services

Microsoft.SharePoint.WorkflowActions

Windows® SharePoint® Services Workflow Actions

  

Utilice el nombre que aparece en description (ver tabla anterior) para agregar las referencias.

 

  

Luego proceda a renombrar la actividad llamándola WssTaskActivity.cs

 

  

Vaya al código de la actividad personalizada y dentro de la clase agregue la siguiente definición de variables, las cuales servirán como parámetros de entrada cuando agregue la actividad a un flujo de aprobación de MOSS 2007.

#region Public Parameters

public Guid idCampoEstado;

public string strAsignadoA;

public string strTitulo;

public string strDescripcion;

public DateTime dtDuración;

public bool bEnviarNotificación;

#endregion

  

En el toolbox de VS 2008 existen las actividades necesarias para gestionar tareas de MOSS 2007, así como para enviar email, registrar mensajes en el historial del flujo de trabajo, etc.

 

  

Luego deberá agregar las siguientes actividades con sus respectivas propiedades en el área de diseño de la actividad que estamos creando.

  

Paso

Grupo

Actividad

Ver Paso A

SharePoint Workflow

CreateTask

Ver Paso B

Windows Workflow v3.0

While

Ver Paso C

SharePoint Workflow

OnTaskChanged

Ver Paso D

SharePoint Workflow

CompleteTask

  

 

Paso A

Configure las siguientes propiedades de la actividad CreateTask:

(Name): Ingrese Crear Tarea

CorrelationToken: Ingrese TaskToken

    OwnerActivityName: Seleccione WssTaskActivity

Invoked: Ingrese CrearTarea_MethodInvoking y presione enter. El código del método será el siguiente:

private void CrearTarea_MethodInvoking(object sender, EventArgs e)

{

taskId = Guid.NewGuid();

CrearTarea_TaskProperties1.AssignedTo = this.strAsignadoA;

CrearTarea_TaskProperties1.Title = this.strTitulo;

CrearTarea_TaskProperties1.Description = this.strDescripcion;

CrearTarea_TaskProperties1.DueDate = this.dtDuración;

CrearTarea_TaskProperties1.SendEmailNotification = this.bEnviarNotificación;

}

TaskId:

Para configurar esta propiedad deberá ir al código de la actividad y declarar una variable pública llamada taskId.

public Guid taskId;

Luego regrese a la vista de diseño y en la propiedad TaskId de clic sobre el botón '…' y seleccione la variable que acaba de definir.

 

  

TaskProperties: De clic en el botón '…', luego en el tab Bind to a new member seleccione Create Field.

  

  

Paso B

(Name): Ingrese mientrasTareaNoCompletada

Condition: Seleccione Code Condition. Luego expanda la propiedad e ingrese el siguiente nombre para el método: CodeConditionMethod.

Una vez en el código agregue otro campo público:

public bool taskCompleted = false;

El método deberá quedar de la siguiente forma:

private void CodeConditionMethod(object sender, ConditionalEventArgs e)

{

e.Result = !taskCompleted;

}

  

  

Paso C

(Name): Ingrese CambiaTarea

CorrelationToken: Seleccione TaskToken

Invoked: Ingrese cambiaTarea_Invoked y presione enter. El código del método será el siguiente:

private void cambiaTarea_Invoked(object sender, ExternalDataEventArgs e)

{

string estado=cambiaTarea_AfterProperties1.ExtendedProperties[this.idCampoEstado].ToString();

if (estado != null)

{

if (estado.Equals("Completed"))

this.tareaCompletada = true;

}

}

AfterProperties: De clic en el botón '…', luego en el tab Bind to a new member seleccione Create Field.

 

  

BeforeProperties: De clic en el botón '…', luego en el tab Bind to a new member seleccione Create Field.

 

  

TaskId: De clic en el botón '…', y seleccione la propiedad TaskId de la actividad Crear Tarea.

  

  

Paso D

(Name): Ingrese TareaCompletada

CorrelationToken: Seleccione TaskToken

TaskId: De clic en el botón '…', y seleccione la propiedad TaskId de la actividad Crear Tarea.

  

  

Finalmente, compile el proyecto y registre la librería en el GAC y a partir de este momento podrá utilizar esta actividad personalizada en los flujos para MOSS 2007 que desarrolle con Visual Studio 2008.


Posted Thu, Aug 7 2008 22:25 by Francisco X. Fagas

Comments

MVPs en Latinoamerica wrote Cómo crear actividades personalizadas con VS2008 -WWF- MOSS 2007
on Wed, Aug 13 2008 16:47

Les recomiendo que lean el interesante articulo de Francisco Fagas “En este artículo aprenderá cómo crear

MVPs en Latinoamerica wrote Cómo crear actividades personalizadas con VS2008 -WWF- MOSS 2007
on Wed, Aug 13 2008 16:48

Les recomiendo que lean el interesante articulo de Francisco Fagas “En este artículo aprenderá cómo crear

jonathan0299 wrote re: [VS2008 -WWF- MOSS 2007] ¿Cómo crear actividades personalizadas?
on Thu, Sep 4 2008 13:55

a todo esto q es moss

Francisco X. Fagas wrote re: [VS2008 -WWF- MOSS 2007] ¿Cómo crear actividades personalizadas?
on Mon, Sep 8 2008 10:57

Microsoft Office SharePoint Server 2007:office.microsoft.com/.../FX100492001033.aspx

Visual Studio Team System wrote [VS2008 – WWF – MOSS 2007] ¿Cómo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?
on Mon, Mar 16 2009 11:44

Introducción En un artículo anterior publiqué cómo crear una tarea en MOSS 2007 , en este artículo aprenderá

Visual Studio Team System wrote [VS2008 – WWF – MOSS 2007] ¿Cómo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?
on Mon, Mar 16 2009 11:51

Introducción En  un artículo anterior publiqué cómo crear una tarea en MOSS 2007 , en este artículo

El blog de Francisco Fagas wrote [VS2008 – WWF – MOSS 2007] ¿Cómo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?
on Mon, Mar 16 2009 11:56

Introducción En un artículo anterior publiqué cómo crear una tarea en MOSS

Visual Studio Team System wrote [VS2008 – WWF – MOSS 2007] ¿Cómo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?
on Mon, Mar 16 2009 11:56

Introducción En  un artículo anterior publiqué cómo crear una tarea en MOSS 2007 , en este artículo

Francisco Fagas wrote [VS2008 – WWF – MOSS 2007] ¿Cómo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?
on Mon, Mar 16 2009 12:33

Introducción En  un artículo anterior publiqué cómo crear una tarea en MOSS 2007 , en este artículo

Blog de .NET - FinderIT » Blog Archive » ??C??mo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ? wrote Blog de .NET - FinderIT » Blog Archive » ??C??mo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?
on Sun, Mar 22 2009 12:26

Pingback from  Blog de .NET - FinderIT  » Blog Archive   » ??C??mo crear tareas paralelas en MOSS 2007 desde Visual Studio 2008 ?

Add a Comment

(optional)  
(optional)
(required)  
Remember Me?

Questions? Contact Susan at Susan-at-msmvps.com. Each post's copyright held by the original author. All rights reserved. Blog site is an independent site not sponsored by Microsoft.
Our servers would like to thank www.ownwebnow.com and www.exchangedefender.com. We wouldn't be here without the generosity of Vlad Mazek and his companies.

Powered by Community Server (Commercial Edition), by Telligent Systems