Processmaker y Alfresco

cancel
Showing results for 
Search instead for 
Did you mean: 
inggarcia
Active Member

Processmaker y Alfresco

Buenas tardes, en la empresa donde trabajo estaban usando Processmaker para hacer flujos de trabajo, pero como no almacena de una forma "amigable" para el usuario decidieron utilizar alfresco.

Alfresco es una herramienta estable y confiable, no habiamos tenido problemas hasta que se decidio subir los archivos directamente desde Processmaker ya que dichos archivos no los encuentra el buscador de alfresco si los subes directamente al repositorio central, solo los encuentra si primero creas un sitio y los subes a la carpeta "documentLibrary". Quisiera saber si para subir un archivo a alfresco es necesario subir un parametro en especial, considerando que en la funcion de processmaker le mandas la direccion a donde se va a subir, la ubicacion del archivo a subir, el tipo mime, descripcion, el servidor de alfresco, usuario y contraseña.
6 Replies
cristinamr
Advanced

Re: Processmaker y Alfresco

Buenas.

No conozco el Processmaker pero creo que no te he comprendido bien: ¿Que quieres hacer conlgar los archivos en Alfresco para utilizarlo como repositorio, o en Share para trabajar con ellos, visualizarlos, etc..?

La diferencia entre ambos es que si usas alfresco, debes subir el documento en /company home/tu_carpeta, tu alfresco debe reconocerlo sin problemas. En el caso del Share, sería en company home/sites/nombre_del_sitio/Document Library/tu_carpeta/

En ambas opciones no deberías tener ningún tipo de problema a la hora de buscar, o tratar los archivos. Todo es cuestión del uso que quieras darle a Alfresco o al Share.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
inggarcia
Active Member

Re: Processmaker y Alfresco

gracias por la pronta respuesta

Estamos usando el share para subir los archivos, alfresco solo para administrar los usuarios

En share, en tu pagina principal existe una opcion llamada "repositorio", ahi existe una carpeta llamada "Sites" donde se crean las carpetas de los sitios, lo que estamos haciendo es crear una carpeta en el directorio "Sites" y subir archivos desde processmaker sin hacer un sitio, ir directamente al repositorio. Al hacer de esta manera el buscador no encuentra los archivos.

Este es un ejemplo de la direccion a donde lo estamos subiendo:

$alfrescoServerUrl/s/cmis/p/paneldecontrol/caso_211/children"
donde $alfrescoServerurl es la direccion de alfresco
paneldecontrol es una carpeta que creamos desde alfresco en el repositorio para guardar los documentos de ese proceso
caso_211 es una carpeta que creamos desde processmaker
cristinamr
Advanced

Re: Processmaker y Alfresco

Buenas.

Estás haciendo una mala práctica: Alfresco es Alfresco, y Share es Share. En un principio no debéis mezclar ambas aplicaciones (o contextos), porque aunque el Share comparta el repositorio y la BBDD, cada uno de ello lleva sus gestiones de forma diferente, que no quita que desde Alfresco veas los usuarios del Share y viceversa porque a fin de cuentas comparten BBDD y Repositorio.

Vamos, en plan resumido: Os estais metiendo con la persistencia de ambas aplicaciones, y no descarto que haciendo este "mal uso" el día de mañana os vaya a fallar. Si usáis alfresco, usad SOLO Alfresco. Si usáis Share, solo el Share.

¿Por qué no lleváis la gestión de usuarios desde el share?  :roll:

Prueba a realizar la carga en una carpeta que crees en el repositorio, por ejemplo en Company Home/Mi carpeta y comprueba su resultado. Como te comento me da más que es un problema de mal uso que propio de Alfresco.

Un saludo.
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc
inggarcia
Active Member

Re: Processmaker y Alfresco

Buenos dias

En la capacitacion que nos dieron de Alfresco nos dijeron que trabajaramos de esa forma con respecto a los usuarios, no sabia que hubiera problemas.

La direccion completa que uso para subir el archivo a alfresco es http://100.100.141.122:7070/alfresco/s/cmis/p/paneldecontrol/caso_211/children" (la ip la cambie por motivo de seguridad), entonces quiere decir que esta direccion es para el repositorio de alfresco y no de share?
inggarcia
Active Member

Re: Processmaker y Alfresco

Buenos dias

Di de alta un usuario en Share y lo use para subir un archivo desde Processmaker y sigue sin aparecer, lo que si note es que en Alfresco si aparecen dichos archivos, entonces es necesario hacer primero un sitio en Share para que los encuentre el buscador y no directamente al repositorio?
ecolon
Member II

Re: Processmaker y Alfresco

Buenas tardes,

estoy retroalimentando este foro porque hay poca información sobre esto y me pareció una buena discusión.

Tengo instalado:
Processmaker 2.0.37 (funcionando)
Alfresco 4.0 (la última hasta este momento) (funcionando)
Linux Debian 6.0.2 (64x) (plataforma funcionando)

Como referencia estoy usando para integrar esto:
http://wiki.processmaker.com/index.php/Alfresco_V_4.0

Te explica como hacer varias tareas como guardar documentos, crear directorios, checkin, checkout, etc. desde el ProcessMaker hacia Alfresco.

Estoy usando el "share" y creé un sitio llamado "processmakercases" y luego dentro creé un directorio que se llama "caso1", para efectos de mi prueba.

En la URL que paso como parámetro estoy dándole:
http://debian6:8081/share/page/site/processmakercases/documentlibrary/caso1

Ya le estuve probando con varias url para ver si por ahí venía el error:
http://debian6:8081
http://debian6:8081/
http://debian6:8081/share/page/site/processmakercases/documentlibrary/caso1/

En fin, del lado de Processmaker, cuando lo ejecuto me sale un error:

simplexml_load_string() [function.simplexml-load-string]: Entity: line 38: parser error : Entity 'raquo' not defined (line 291):

Revisando el código php, me he dado cuenta que puede ser el cómo se está realizando la conexión, dado que encuentro varias rutas (paths) que no se si aplican para otra versión anterior.


Aquí pongo la info de la clase en cuestión para subir un archivo al repositorio:

<?php
/**
* class.pmTrAlfresco.pmFunctions.php
*
*/
/**
* Alfresco Triggers that allow ProcessMaker to perform common DM actions
* @class pmTrAlfresco
* @name Alfresco DM Triggers v. 0.1
* @icon /images/triggers/alfrescoIcon.png
* @className class.pmTrAlfresco.pmFunctions.php
*/


/**
* @method
*
* Upload file/document in Alfresco Repository
*
* @name uploadDoc
* @label Upload file/document in Alfresco Repository
*
* @param string | $alfrescoServerUrl | Server name and port where Alfresco exists | http://localhost:8080/alfresco
* @param string | $fileSource | File Source
* @param string | $title | File Title
* @param string | $description | Description about File
* @param string | $docType | Type of document to be Uploaded
* @param string | $user | Valid Admin username to connect to Alfresco server
* @param string | $pwd | Valid Admin password to connect to Alfresco server
*
* @return string | $result | Response
*
*/
function uploadDoc($alfrescoServerUrl, $fileSource, $title, $description, $docType, $user, $pwd) {
    $filep          =  fopen($fileSource,"r");
    $fileLength     =  filesize($fileSource);
    $fileContent    =  fread($filep,$fileLength);
    $fileContent    =  base64_encode($fileContent);

    $alfresco_url = "$alfrescoServerUrl/s/cmis/p/Sites/children";
    $xmlData = array();
    $xmlData = '<?xml version="1.0" encoding="utf-8"?><entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"><title>'.$title.'</title><summary>'.$description.'</summary><content type="application/'.$docType.'">'.$fileContent.'</content><cmisra:object><cmis:properties><cmis:propertyId propertyDefinitionId="cmis:objectTypeId"><cmis:value>cmis:document</cmis:value></cmis:propertyId></cmis:properties></cmisra:object></entry>';

    $alfresco_exec = RestClient::post($alfresco_url,$xmlData,$user,$pwd,"application/atom+xml");
    $sXmlArray = $alfresco_exec->getResponse();
    $sXmlArray = trim($sXmlArray);
    $xXmlArray = simplexml_load_string($sXmlArray);
    $aXmlArray = @json_decode(@json_encode($xXmlArray),1);
    var_dump($aXmlArray);
    return $aXmlArray;
}

Me gustaría que me ayudaran a resolver este tema dado que quisiera plantear este DMS para un cliente interesado en gestionar sus documentos de Processmaker en Alfresco y estoy evaluando la facilidad de uso.

Sin más, les agradezco de antemano.

Saludos.