Indice

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:

Parametri di configurazione del modulo

Elenco dei servizi

contentByUUID

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

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:

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:

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

deleteDocumentByUUID

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

Valore di ritorno: -

initEnv

Attualmente non gestito.

insertDocument

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

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:

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

query

Ricerca documenti in Alfresco.
Parametri in ingresso:

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:

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:

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:

Valore di ritorno: -

updateDocumentMetadata

Aggiornamento metadati Alfresco.
Parametri in ingresso:

Valore di ritorno: -

version

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

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());
}