Toda la información de producto en wiki.bizagi.com aplica para Bizagi BPM Suite 9.1.X.
Para las nuevas versiones de Bizagi BPM Suite (10.X y superior) visite la Guía de Usuario.
 

Integracion con SharePoint

De

<keywords content="keywords"> share point, sharepoint, microsoft, integrate, integration </keywords>

No disponible para las versiones de Bizagi 9.1.1.1010 y previas.


Contenido

Integración Bizagi con SharePoint

Portal

Algunas compañías tienen la mayor parte de sus aplicaciones disponibles en un portas web (SharePoint). La integración entre Bizagi y estos portales es posible gracias a la Capa SOA de Bizagi y las WebParts de SharePoint. En un sitio SharePoint estan incluidos unos botones para crear nuevas clases y también una vista de los casos pendientes de los usuarios.


Nota: Este ejemplo fue creado utilizando Bizagi Standard 9.1.4, Microsoft Visual Studio 2005 y Microsoft SharePoint 2007



La forma más fácil para hacerlo es usando un Page Viewer Web Part, que requiere la creación de páginas web y luego incluir su URL.



Para este ejemplo fué usado Visual Studio C# para construir las páginas web. Descargue de aquí un archivo .RAR del proyecto de Visual Studio que contiene las páginas mostradas en las imagenes previas. Guarde y extraiga el archivo y cree un directorio virtual nuevo en el Sitio Web por Defecto de su IIS. Acá esta explicado cómo crear un directorio virtual: [1]

Una vez que el directorio virtual es creado, modifique su seguridad a Autenticación Integrada de Windows.



Abra el archivo Web.config y haga los siguientes cambios necesarios:

  • En el valor de la llave openCaseUrl reemplace SERVER_NAME con el nombre o la dirección IP del servidor en donde esta su proyecto Bizagi; y PROJECT_NAME con el nombre del proyecto Bizagi.
  • El valor de la llave refreshFreq esta dado en segundos y es el tiempo que pasaría antes que la página de Casos Pendientes sea refrescada.



  • Haga los mismos cambios como en openCaseUrl para el valor del setting WebBizProject_wfSOA_BPMProject_WorkflowEngineSOA



Ahora edite el sitio SharePoint y agregue dos Page View Web Parts.



Configure un web part seleccionando para que despliegue una Página Web (Web Page) e ingrese la URL de la página de los Casos Pendientes: http://SERVER_NAME/VIRTUAL_DIRECTORY_NAME/PendingCases.aspx

En el otro web part también seleccione para desplegar una Página Web (Web Page) pero ingrese la URL de la página Crear Casos: http://SERVER_NAME/VIRTUAL_DIRECTORY_NAME/CreateCases.aspx


                         Image:IntegrationWithSharepoint_Image006.jpg                           Image:IntegrationWithSharepoint_Image008.jpg

Documentos


Alerta: La forma de hacer esta integración asi como se muestra en los siguientes ejemplos ya es obsoleta, actualice a la versión 9.1.5 de Bizagi y utilice la nueva característica incluida de Integracion con ECM.


Desde un proceso Bizagi es posible subir archivos a SharePoint. Los archivos serían guardados como este:



Para lograr esta integración, un servicio personalizado web es usado junto con los servicios web de SharePoint. Este servicio web puede ser descargado aquí. Guarde y extraiga el archivo y luego cópielo en el directorio C:\Inetpub\wwwroot.

Instale el servicio web siguiendo estos pasos:

1. Abra el Administrador del IIS

2. Abra el Sitio Web por Defecto, encuentre la carpeta DocUploadSP, haga clic derecho sobre esta y seleccione Propiedades (Properties).

3. En la ventana de Propiedades haga clic en el botón Crear (Create) y luego clic en OK.

Luego, abra el archivo Web.config y haga los siguientes cambios necesarios:

  • Reemplace USER_NAME, USER_PASSWORD y USER_DOMAIN por los valores de las credenciales de un usuario que tenga permisos de Agregar/Editar en una Biblioteca de Documentos SharePoint (SharePoint Document Library).
  • En la llave SPSite modifique la cadena SHAREPOINTSITE con el nombre del sitio o la dirección IP con el número de puerto incluido.



  • Haga tambien la última modificación en la configuración DocUploadSP_DWS_Dws.



  • Modifique la cadena DOCUMENT_LIBRARY en la llave SPLib con el nombre de la biblioteca de documentos que será usada para subir los documentos (esta puede ser "Documentos Compartidos (Shared Documents)").


Este servicio web será usado en los siguientes dos ejemplos.

Ejemplo 1

Este ejemplo muestra cómo un documento puede ser subido desde Bizagi hacia SharePoint y luego abierto en Bizagi para ser editado o para solo lectura. Para lograr estos, un Campo de Usuario será usado. También otra aplicación web es necesaria, descárguela de aquí. Guarde y extraiga el archivo y cree un nuevo directorio virtual en el sitio web por defecto de su IIS. Aquí esta explicado cómo crear un directorio virtual: [2]

Haga los siguientes cambios en el archivo web.config de esta aplicación web:

  • En la llave SPSite modifique la cadena SHAREPOINTSITE por el nombre del sitio o la dirección IP con el número de puerto incluido.
  • Modifique la cadena DOCUMENT_LIBRARY en la llave SPLib por el nombre de la biblioteca de documentos que va a ser usada para subir los documentos. (Esta puede ser "Documentos Compartidos").



  • CambieWS_SERVER por el nombre del servidor o la dirección IP en donde el servicio Web fue creado.
  • Reemplace las cadenas BIZAGI_SERVER y BA_PROJECT_NAME por los valores correspondientes del servidor de Bizagi y el nombre del proyecto de Bizagi, como la URL que fue creada para la aplicación Web de Bizagi.



Ahora cree un nuevo Proceso Bizagi llamado TestSignalEvents en una aplicación llamada Tests.



Para propósitos del test solo se requiere incluir una Tarea de Usuario en el proceso.




La entidad del Proceso debe además ser llamada TestSignalEvents; en esta entidad cree un atributo tipo cadena llamado SpDocUrl.



Ahora cree un campo de usuario, como se explicó en la página de campos de usuario, usando el siguiente código:

var idCase = Me.Case.Id;
var idTask = Me.Task.Id;

FieldResponse.AppendHTML("<iframe width='100%' height='150' src='http://WS_SERVER/WebAppSharepoint/Default.aspx?case=" + idCase + "&task=" + idTask + "' frameborder='0'>");
FieldResponse.AppendHTML("If you are seeing this message is because your browser doesn't supports this feature.</iframe>");

Reemplace WS_SERVER por el nombre del servidor o la dirección IP del servidor en donde la aplicación descargada fue guardada y su directorio virtual fue creado.

Ahora defina la forma para la actividad. En esta forma incluya el atributo creado pero luego conviértalo al campo de usuario previamente creado.



Finalmente corra la aplicación y cree un nuevo caso. Use el botón Examinar (Browse) para encontrar el documento a subir.



Luego haga clic en Subir Archivo (Upload File). El archivo será enviado a SharePoint y dentro de la aplicación de Bizagi dos botones aparecerán. Uno para abrir el documento como solo lectura (Abrir Documento), y el otro para editar el documento.



Cuando al botón Editar documento se le hace clic una ventana de advertencia se muestra primero, haga clic en OK para continuar. Luego una pequeña ventana informando que el archivo está siendo abierto aparece.



Luego el documento es abierto con la aplicación apropiada, este documento puede ser modificado y guardado.



Cuando el documento está siendo guardado la misma pequeña ventana que apareció cuando fue abierto, aparece.



Este mismo documento puede ser visto en SharePoint


Ejemplo 2

En este segundo ejemplo, el documento puede ser abierto como solo lectura. Para hacer los cambios este debe ser guardado en la máquina local y luego ser subido nuevamente con el mismo nombre. Para este ejemplo cree un proceso en Bizagi con dos Actividades y una Tarea de Servicio (Service Task).



Incluya un atributo de Archivo (SpDoc) en la entidad del proceso.



Para la primera actividad (Tarea Inicial (Initial Task)) cree una forma que tenga este atributo con las propiedades Visible, Editable y Requerido en True/Verdadero. Además, inclúyala en la segunda actividad de la forma (Tarea 6), pero únicamente con la propiedad Visible en Verdadero.

En la Tarea de Servicio, agregue una Acción de tipo Expresión usando el siguiente código:

var SRes=""; //string
var FName; //string
var FData=null; //object
var CaseNum; //string
var ProcessName; //string
try
{
	CaseNum = Me.Case.Id;
	ProcessName = "PROCESS_NAME";
	var file = Me.getXPath("PROCESS_ENTITY.SpDoc");
	for(var i = 0; i < file.size(); i++)
	{
		FName = file.get(i).getXPath("fileName");
		FData = file.get(i).getXPath("data");
		SRes = CWebService.invokeWS("http://WS_SERVER/DocUploadSP/UploadDocument.asmx", "SendFile", [CaseNum, ProcessName, FName, FData]);
		if(SRes.Length > 0)
			CHelper.ThrowValidationError("Interface error: " + SRes);
	}
}
catch(e)
{
	CHelper.ThrowValidationError(e.toString());
}

Reemplace la cadena PROCESS_NAME y PROCESS_ENTITY por los valores correspondientes usando en su proyecto. Además modifique WS_SERVER por el nombre del servidor o la dirección IP en donde el servicio web previo fue creado.

Corra el proceso y pruébelo. En la primera actividad, suba uno o más archivos y haga clic en Siguiente.



Vaya a SharePoint y mire los archivos subidos. <comments />