Automazione

L'automazione è un aspetto pervasivo della piattaforma LogicalDOC e rappresenta il modo che hai di programmare cose utilizzando un semplice linguaggio di scripting. A volte si desidera che LogicalDOC esegua la tua propria logica quando accade qualcosa di speciale durante un flusso di lavoro o in reazione ad eventi specifici che si verificano all'interno del repositorio: con l'automazione è possibile iniettare il proprio algoritmo per eseguire automaticamente le azioni corrette. Molti oggetti supportano l'automazione e consentono di definire script di automazione personalizzati (cartelle, flussi di lavoro, e-mail, ecc.)

Per cortesia leggi la guida Sintassi dell'Automatione per familiarizzare con la sintassi. Puoi anche consultare gli Esempi di Automazione.

Nel tuo script di automazione, puoi referenziare le seguenti variabili:

GENERALMENTE DISPONIBILI
Oggetto Metodi Descrizione
nl   rappresenta il carattere di ritorno a capo
product   nome del prodotto
locale   il locale corrente(la lingua corrente)
CURRENT_DATE   data corrente
tenantId   identificatore del tenant corrente
dictionary   mappa con tutte le variabili(nome > valore)
log print(String message) stampa un messaggio sul system output
debug(String message) stampa un messaggio di debug nel file di log
info(String message) stampa un messaggio di info nel file di log
warn(String message) stampa un messaggio di warning nel file di log
error(String message) stampa un messaggio di error nel file di log
I18N format(String key, String value) stampa la traduzione di una chiave e sistituisce un valore opzionale
format(String key, String value1, String value2) stampa la traduzione di una chiave e sistituisce 2 valori opzionali
format(String key, String value1, String value2, String value3) stampa la traduzione di una chiave e sistituisce 3 valori opzionali
format(String key, String value1, String value2, String value3, String value4) stampa la traduzione di una chiave e sistituisce 4 valori opzionali
format(String key, String value1, String value2, String value3, String value4, String value 5) stampa la traduzione di una chiave e sistituisce 5 valori opzionali
format(String key, String[] values) stampa la traduzione di una chiave e sistituisce un array di valori opzionali
DateTool format(Date date, boolean time) formatta una data per il locale corrente opzionalmente includendo l'ora
currentTime() crea un'istanza di un nuovo oggetto Date che rappresenta l'ora corrente
NumberTool format(String format, Object number, String locale) formatta un numero utilizzando il formato specificato
DocTool downloadUrl(long docId)

stampa l'Url di download per un dato id di documento

downloadUrl(Document doc) stampa l'Url di download per un certo documento
downloadUrl(History history) stampa l'Url di download per un certo evento
downloadTicket(long docId, boolean pdfConversion, Integer expireHours, Date expireDate) crea e stampa un ticket di download per un certo documento o la sua conversione in PDF
displayUrl(long tenantId, long docId) stampa l'Url di visualizzazione per un dato id di documento
displayUrl(Document doc) stampa l'Url di visualizzazione per un certo documento
displayUtl(History history) stampa l'Url di visualizzazione per un certo evento
store(Document doc) stampa un documento
store(Document doc, String username) memorizza un documento a nome di un dato utente
move(Document doc, String targetPath, String username) muove un documento in un certo percorso
copy(Document doc, String targetPath, String username) copia un documento in un certo percorso
Folder createPath(Document doc, String targetPath)

crea un percorso, se il percorso è relativo, viene calcolato a partire dalla cartella del documento. Ritorna la cartella creata.

Document convert(Document doc, String format, Sring username)

converte un documento in un diverso formato nel nome dell'utente specificato. Restituisce il documento creato

displayFileSize(Long size)

stampa una dimensione di file formattata

getPath(Document doc) stampa il percorso del documento specificato
FolderTool displayUrl(long tenantId, long folderId) stampa l'Url di visualizzazione per un dato id di cartella
displayUrl(Folder folder) stampa l'Url di visualizzazione per una certa cartella
displayUrl(FolderHistory history) stampa l'Url di visualizzazione per un certo evento
getPath(Long folderId) stampa il percorso della cartella specificata
ClassTool Object newInstance(String classname) instanciates the given class. Returns the created instance.
SystemTool exec(String commandline) esegue un comando
exec(String commandline, String path) esegue un comando da una specifica cartella
String execGetOutput(String commandline) esegue un comando e ritorna il risultato
String execGetOutput(String commandline, String path) esegue un comando da una specifica cartella e ritorna il risultato
MailTool sendDocuments(Collection<Document> documents, String from, String to, String subject, String message) invia una collezione di documenti per posta elettronica a un destinatario
sendDocuments(Collection<Document> documents, String from, Collection<String> to, String subject,
String message)
invia una collezione di documenti per posta elettronica a dei destinatari
sendDocument(Document document, String from, String to, String subject, String message) invia un documento via e-mail a un destinatario
sendDocument(Document document, String from, Collection<String> to, String subject, String message) invia un documento via e-mail a dei destinatari
sendMessage(long tenantId, String from, String to, String subject, String message) invia un e-mail a un destinatario
sendMessage(long tenantId, String from, Collection<String> to, String subject, String message) invia un e-mail a dei destinatari
BarcodeTool extract(Document doc, String possibleFormats) estrae i codici a barre all'interno di un dato documento, puoi opzionalmente filtrare in base al formato("CODE_39,EAN_8")
extract(String filePath, String tenant, String possibleFormats) estrae i codici a barre all'interno di un determinato file, puoi facoltativamente filtrare in base al formato("CODE_39,EAN_8")
extractBarcode(Document doc, String possibleFormats) estrae il primo codice a barre all'interno di un determinato documento, puoi opzionalmente filtrare in base al formato("CODE_39,EAN_8")
extractBarcode(String filePath, String tenant, String possibleFormats) estrae il primo codice a barre all'interno di un determinato file, puoi opzionalmente filtrare in base al formato("CODE_39,EAN_8")
StampTool stamp(Document doc, String stampName, User user) applica un timbro nel documento specificato nel nome dell'utente specificato
stamp(Document doc, String stampName, User username) applica un timbro nel documento specificato nel nome dell'utente specificato
SignTool sign(Document doc, User user, String reason, String password) firma digitalmente un documento con il certificato digitale dell'utente
sign(Document doc, String username, String reason, String password) firma digitalmente un documento con il certificato digitale dell'utente
AutomationTool execute(String routine, long tenantId, Map<String, Object> dictionary) esegue una routine nello stesso thread di esecuzione. Restituisce il risultato della routine
fork(String routine, long tenantId, Map<String, Object> dictionary) esegue una routine in un nuovo thread di esecuzione
DISPONIBILI IN REAZIONE AGLI EVENTI
event   l'evento corrente
document   il documento associato all'evento corrente (se presente)
folder   la cartella associata all'evento corrente (se presente)
DISPONIBILI ALL'INTERNO DEL WORKFLOW
candidates   lista dei candidati per l'attività corrente
documents   lista dei documenti associati al workflow
task   l'attività corrente
taskName   nome dell'attività corrente
initiator   l'utente che ha iniziato il workflow
workflow   nome del workflow
processId   identificatore del processo corrente
definitionId   identificatore della definizione del processo corrente
actions   lista delle possibili azioni(transizioni) dichiarate per l'attività corrente
assignee   utente assegnato all'attività corrente
WorkflowTool complete(Task task, String transition) completa l'attività con la transizione specificata
claim(Task task, String username) reclama l'attività per un certo utente
completeUrl(Task task, String transition, User user) stampa l'Url per completare un'attività con una specifica transizione
claimUrl(Task task, User user) stampa l'Url per reclamare un'attività per uno specifico utente
addNote(Task task, String note) aggiunge una nuova nota sulla data istanza di attività
getHistories(String processId, String eventName) ottiene l'elenco degli eventi di una determinata istanza di processo, è possibile opzionalmente filtro per un determinato nome evento('task.start', 'task.end', ...)
getLastHistory(String processId, String eventName) ottiene l'ultimo evento di una determinata istanza di processo, è possibile opzionalmente filtro per un determinato nome evento('task.start', 'task.end', ...)