05-23-2018 04:37 PM
Hola, estoy trabajando con alfresco y al momento de subir un archivo no hay problema, el problema es que al momento de intentar subir un archivo con el mismo nombre no sube nada. ¿Cómo hago para que cuando suba documentos que ya existan en Alfresco no me de error sino que tome el documento como una nueva versión del archivo que ya se encuentra en Alfresco? la version de alfresco que estoy utilizando es la 5.2 y el codigo para subir un archivo es el siguiente:
05-24-2018 03:38 AM
Para subir nuevas versiones, necesitas bloquear el nodo previamente.
Tienes un ejemplo aquí: https://community.alfresco.com/community/ecm/blog/2016/11/11/v1-rest-api-part-5-versioning-locking
05-25-2018 01:10 PM
Estimado, lamentablemente no he conseguido obtener resultados positivos siguiendo el tutorial. al momento de agregar propiedades no tengo ningún problema por ejemplo en el siguiente código añado la propiedad MajorVersion=true de la siguiente manera:
<?php
//DATA
$ticket = 'TICKET_f7acb34052591bf8cc49add5be1dd17578ebc5cc';
$pdfnode = '13caa245-2249-4769-953c-b010053a6fd4';
$server = 'http://192.168.120.209';
$port = ':8080';
$filename = '../informeGeneradores/files/minuta12.pdf';
$type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
$url = $server.$port.'/alfresco/api/-default-/public/alfresco/versions/1/nodes/'.$pdfnode.'/children?alf_ticket='.$ticket;
$ch = curl_init($url);
$args = new CurlFile($filename,$type,$filename);
$data = array(
'nodeType'=>'cm:content',
'filedata'=>$args,
'name'=> 'version',
'MajorVersion'=>'true'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$result = curl_exec($ch);
echo $result;
?>
y el resultado es el siguiente:
{"entry":{"isFile":true,"createdByUser":{"id":"admin","displayName":"Administrator"},"modifiedAt":"2018-05-25T16:41:49.397+0000","nodeType":"cm:content","content":{"mimeType":"application/pdf","mimeTypeName":"Adobe PDF Document","sizeInBytes":5172,"encoding":"UTF-8"},"parentId":"13caa245-2249-4769-953c-b010053a6fd4","aspectNames":["cm:versionable","cm:titled","cm:auditable","cm:author"],"createdAt":"2018-05-25T16:41:49.397+0000","isFolder":false,"modifiedByUser":{"id":"admin","displayName":"Administrator"},"name":"version","id":"0418771d-adc4-4343-8eba-9d9015b8e1b2","properties":{"cm:versionLabel":"1.0","cm:versionType":"MAJOR"}}}
Pero luego en el siguiente paso le añado la siguiente propiedad:
majorversion= false de la siguiente manera:
<?php
//DATA
$ticket = 'TICKET_f7acb34052591bf8cc49add5be1dd17578ebc5cc';
$pdfnode = '13caa245-2249-4769-953c-b010053a6fd4';
$server = 'http://192.168.120.209';
$port = ':8080';
$filename = '../informeGeneradores/files/minuta12.pdf';
$type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
$url = $server.$port.'/alfresco/api/-default-/public/alfresco/versions/1/nodes/'.$pdfnode.'/children?alf_ticket='.$ticket;
$ch = curl_init($url);
$args = new CurlFile($filename,$type,$filename);
$data = array(
'nodeType'=>'cm:content',
'filedata'=>$args,
'name'=> 'version',
'majorVersion'=>'false',
'comment'=>'second'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$result = curl_exec($ch);
echo $result;
?>
y el resultado es el siguiente:
{"error":{"errorKey":"version already exists.","statusCode":409,"briefSummary":"04250647 version already exists.","stackTrace":"Por motivos de seguridad, ya no se muestra el seguimiento de la pila, pero se guarda la propiedad para versiones anteriores.","descriptionURL":"https://api-explorer.alfresco.com"}}
la verdad no se qué es lo que estoy haciendo mal también he intentado subiendo un archivo con la propiedad majorversion=false y repitiendo el procedimiento me da el mismo error. Espero me puedas ayudar.
05-29-2018 02:41 PM
Estimado angel, lamentablemente yo tambien estoy teniendo el mismo problema... paso los argumentos y puedo modificar el nombre, cambiar de majorVersion a minorVersion pero al momento de cargar el segundo archivo sigo atrapado en el mismo problema.
05-29-2018 02:55 PM
Hace tiempo que no lo pruebo, pero esto funcionaba:
Hace la siguiente invocación pasando el contenido en el payload
[PUT] http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/0a3f5195-4884-49bb-b1a... version
05-31-2018 10:48 AM
Estimado,
He intentado con la url que me has mandado en el enlacePero lo que hace es descargar un archivo y no modifica la version, obviamente algo esto haciendo mal pero no logro darme cuenta en que estoy fallando, espero me puedas ayudar.
05-31-2018 03:26 PM
Haz un PUT, no un GET
05-31-2018 05:14 PM
Muchas gracias por la paciencia Angel Voy a intentar nuevamente.
03-07-2019 07:20 PM
Aldo, cordial saludo. Pudiste resolver este asunto?
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.