Strumenti Utente

Strumenti Sito


sviluppo:integrazione_alfresco

Integrazione con Alfresco

Introduzione

L'integrazione con Alfresco avviene mediante l'interfaccia AlfCity, una Servlet Java che si occupa del dialogo verso il motore di Alfresco e riespone dei servizi REST.

La classe, oltre ai metodi relativi ai client, ha anche i seguenti:

  • getErrCode: codice di errore (0=nessun errore; <>0 = errore)
  • getMessage: messaggio di risposta
  • getHttpStatus: stato http della chiamata

Parametri di configurazione del modulo

  • host: Nome host
  • path: Percorso servlet

Elenco dei servizi

contentByUUID

Restituisce contenuto documento in funzione dell'UUID.
Parametri in ingresso:

  • uuid: chiave del documento su Alfresco

Valore di ritorno: Se esito positivo, binary che corrisponde all'UUID specificato; altrimenti null

countQuery

Conta documenti in Alfresco, in funzione dei criteri di ricerca impostati.
Parametri in ingresso:

  • docType: tipo di documento
  • codEnte: Codice Ente (Corrisponde alla cartella di Alfresco)
  • codAoo: Codice AOO (Corrisponde alla cartella di Alfresco)
  • aspects: array degli aspetti ricercati
  • props: array delle proprietà (chiave→valore) da ricercare
  • fullText: stringa per ricerca full text

Valore di ritorno: Numero di elementi che soddisfano i criteri di ricerca

countQueryAll

Conta documenti in Alfresco, in funzione dei criteri di ricerca impostati (ricerca libera).
Parametri in ingresso:

  • docType: tipo di documento
  • codEnte: Codice Ente (Corrisponde alla cartella di Alfresco)
  • codAoo: Codice AOO (Corrisponde alla cartella di Alfresco)
  • aspects: array degli aspetti ricercati
  • props: array delle proprietà (chiave→valore) da ricercare
  • fullText: stringa per ricerca su tutti i metadati e full text

Valore di ritorno: Numero di elementi che soddisfano i criteri di ricerca

deleteDocumentByUUID

Cancella documento in funzione dell'UUID specificato
Parametri in ingresso:

  • uuid: chiave del documento su Alfresco

Valore di ritorno: -

initEnv

Attualmente non gestito.

insertDocument

Inserimento di un documento in Alfresco con metadati.
Parametri in ingresso:

  • docType: tipo di documento
  • place: percorso Alfresco dove memorizzare il documento
  • fileName: nome file
  • mimeType: mime type (Es.: application/xml)
  • content: contenuto del file
  • aspects: array degli aspetti presenti sul documento
  • props: array delle proprietà del documento

Valore di ritorno: Se esito positivo, UUID del documento aggiunto; altrimenti stringa vuota

placeByUUID

Restituisce percorso logico del documento in Alfresco, in funzione della chiave unica specificata.
Parametri in ingresso:

  • uuid: chiave del documento su Alfresco

Valore di ritorno: Se esito positivo, percorso logico che corrisponde all'UUID specificato; altrimenti stringa vuota.

query

Ricerca documenti in Alfresco.
Parametri in ingresso:

  • docType: tipo di documento
  • codEnte: Codice Ente (Corrisponde alla cartella di Alfresco)
  • codAoo: Codice AOO (Corrisponde alla cartella di Alfresco)
  • aspects: array degli aspetti ricercati
  • props: array delle proprietà (chiave→valore) da ricercare
  • fullText: stringa per ricerca full text
  • page: Pagina inizio ricerca (0=prima pagina)
  • blockSize: Dimensione blocco (0=carica tutto)

Valore di ritorno: Se esito positivo, array dei risultati che soddisfano i criteri di ricerca; altrimenti array vuoto

queryAll

Ricerca libera di documenti in Alfresco.
Parametri in ingresso:

  • docType: tipo di documento
  • codEnte: Codice Ente (Corrisponde alla cartella di Alfresco)
  • codAoo: Codice AOO (Corrisponde alla cartella di Alfresco)
  • aspects: array degli aspetti ricercati
  • props: array delle proprietà (chiave→valore) da ricercare
  • fullText: stringa per ricerca full text. Se valorizzata, cerca in tutti i metadati.
  • page: Pagina inizio ricerca (0=prima pagina)
  • blockSize: Dimensione blocco (0=carica tutto)

Valore di ritorno: Se esito positivo, array dei risultati che soddisfano i criteri di ricerca; altrimenti array vuoto

queryByUUID

Ricerca documento in Alfresco per chiave.
Parametri in ingresso:

  • uuid: chiave del documento su Alfresco

Valore di ritorno: Se esito positivo, documento che corrisponde all'UUID specificato; altrimenti array vuoto

saveCustomModel

Attualmente non gestito.

updateDocumentContent

(Metodo deprecato)
Aggiornamento metadati Alfresco.
Parametri in ingresso:

  • uuid: UUID documento
  • content: Contenuto del file
  • fileName: Nome file
  • mimeType: mime type (Es.: application/xml)

Valore di ritorno: -

updateDocumentMetadata

Aggiornamento metadati Alfresco.
Parametri in ingresso:

  • uuid: UUID documento
  • docType: tipo di documento
  • aspects: array degli aspetti presenti sul documento
  • props: array delle proprietà del documento

Valore di ritorno: -

version

Restituisce versione libreria.
Parametri in ingresso: -
Valore di ritorno: Array con i seguenti campi:

  • ESITO: 0=Nessun errore; >0 = Errore
  • MESSAGGIO: Se esito positivo, versione libreria; altrimenti, messaggio di errore

Esempi di utilizzo

Ricerca

$alfcityClient = new itaAlfcityClient();
$aspects = array();
$props = array(
	'stato_flusso' =>  1,
);
$result = $alfcityClient->query(DOC_TYPE, COD_ENTE, COD_AOO, $aspects, $props);
if ($alfcityClient->getErrCode() == 0 && $alfcityClient->getHttpStatus() == 200) {
	Out::msgInfo("dump", print_r($result, true));
} else {
	Out::msgStop("Errore", $alfcityClient->getErrCode() . ' - ' . $alfcityClient->getMessage());
}

Inserimento

$alfcityClient = new itaAlfcityClient();
$fileName = 'prova.pdf';    
$mimeType = 'application/pdf';
$contentString = file_get_contents('C:/Test/prova.pdf');
file_put_contents('C:\\temp\\documento.pdf', $contentString);
$aspects = array(
	'asp_prot' =>  0,
	'asp_fasc' => 0,      
	'asp_com' => 1,      
);
$props = array(
	'com_ente' =>  'Ente Test',
	'com_aoo' => 'Aoo Test',      
	'com_area_cityware' => 'A', 
	'com_modulo_cityware' =>  'PI',
	'com_codice_ipa' => 'Ipa Test',      
	'com_descrizione' => 'Documento inserito da itaEngine', 
	'com_organigramma_corrente' =>  '1.2 Ufficio Protocollo',
	'com_ruolo_corrente' => 'Responsabile Protocollo',      
	'com_utente_login' => 'MROSSI', 
);
$result = $alfcityClient->insertDocument(DOC_TYPE, ALFRESCO_PLACE, $fileName, $mimeType, $contentString, $aspects, $props);
if ($alfcityClient->getErrCode() == 0 && $alfcityClient->getHttpStatus() == 200) {
	Out::msgInfo("dump", print_r($result, true));
} else {
	Out::msgStop("Errore", $alfcityClient->getErrCode() . ' - ' . $alfcityClient->getMessage());
}      
sviluppo/integrazione_alfresco.txt · Ultima modifica: 2018/03/19 10:45 da 127.0.0.1