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:
- 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()); }
3 visualizzazioni.