Automatización

La Automatización es un aspecto omnipresente de la plataforma LogicalDOC y representa la forma en que puede programar las cosas utilizando un simple lenguaje de scripting. A veces desearás que LogicalDOC ejecute tu propia lógica cuando ocurre algo especial durante un flujo de trabajo o en reacción a eventos específicos ocurridos dentro del repositorio: con la Automatización puedes inyectar tu propio algoritmo para tomar las acciones apropiadas automáticamente. Muchos objetos admiten Automatización y le permiten definir scripts personalizados de Automatización (carpetas, flujos de trabajo, correos electrónicos, etc.)

Para utilizar esta función, debe tener un mínimo de conocimientos de programación. Por favor, mire la guía Sintaxis de la Automatización para familiarizarse con la sintaxis. También puede ver los Ejemplos de Automatización.

En el script de automatización puede hacer referencia a las siguientes variables:

GENERALMENTE DISPONIBLE
Objeto Metodos Descripción
nl   representa una nueva línea
product   nombre del producto
locale   localización actual(idioma actual)
CURRENT_DATE   fecha actual
tenantId   identificador del tenant actual
dictionary   mapa con todas las variables (nombre > valor)
log print(String message) imprime un mensaje en el system out
debug(String message) imprime un mensaje de debug en el archivo de log
info(String message) imprime un mensaje de info en el archivo de log
warn(String message) imprime un mensaje de warn en el archivo de log
error(String message) imprime un mensaje de error en el archivo de log
I18N format(String key, String value) imprime la traducción de una clave y se expande un valor opcional
format(String key, String value1, String value2) imprime la traducción de una clave y se expanden 2 valores opcionales
format(String key, String value1, String value2, String value3) imprime la traducción de una clave y se expanden 3 valores opcionales
format(String key, String value1, String value2, String value3, String value4) imprime la traducción de una clave y se expanden 4 valores opcionales
format(String key, String value1, String value2, String value3, String value4, String value 5) imprime la traducción de una clave y se expanden 5 valores opcionales
format(String key, String[] values) imprime la traducción de una clave y se expande una matriz de valores opcionales
DateTool format(Date date, boolean time) formatea una fecha para la localización actual incluyendo opcionalmente la hora
currentTime() crea una instancia de un nuevo objeto Date que representa la hora actual
NumberTool format(String format, Object number, String locale) formatea un número usando el formato dado
DocTool downloadUrl(long docId) imprime la URL de download para un cierto id de documento
downloadUrl(Document doc) imprime la URL de download para un cierto documento
downloadUrl(History history) imprime la URL de download para un cierto evento
downloadTicket(long docId, boolean pdfConversion, Integer expireHours, Date expireDate) crea e imprime un boleto de descarga para un cierto documento o su conversión PDF
displayUrl(long tenantId, long docId) imprime la URL de visualización para un cierto id de documento
displayUrl(Document doc) imprime la URL de visualización para un cierto documento
displayUtl(History history) imprime la URL de visualización para un cierto evento
store(Document doc) guarda un documento
store(Document doc, String username) guarda un documento en nombre de un cierto usuario
move(Document doc, String targetPath, String username) mueve un documento en una ruta
copy(Document doc, String targetPath, String username) copia un documento en una ruta
Folder createPath(Document doc, String targetPath) crea una ruta, si la ruta es relativa se calcula a partir de la carpeta del documento. Devuelve la carpeta creada
Document convert(Document doc, String format, Sring username) convierte un documento en un formato diferente en el nombre del usuario dado. Devuelve el documento creado
displayFileSize(Long size) imprime un tamaño de archivo formateado
getPath(Document doc) imprime la ruta del documento dado
findByPath(String path, Long tenantId) recupera el documento por su ruta
FolderTool displayUrl(long tenantId, long folderId) imprime la URL de visualización para un cierto id de carpeta
displayUrl(Folder folder) imprime la URL de visualización para una cierta carpeta
displayUrl(FolderHistory history) imprime la URL de visualización para un cierto evento
getPath(Long folderId) imprime la ruta de la carpeta dada
findByPath(String path, Long tenantId) recupera la carpeta por su ruta
ClassTool newInstance(String classname) instancia una clase. Devuelve la instancia creada
SystemTool exec(String commandline) ejecuta un comando
exec(String commandline, String path) ejecuta un comando en una ruta especificaì
execGetOutput(String commandline) ejecuta un comando y devuelve el resultado
execGetOutput(String commandline, String path) ejecuta un comando en una ruta especificaì y devuelve el resultado
MailTool sendDocuments(Collection<Document> documents, String from, String to, String subject, String message) envía una colección de documentos por correo electrónico a un destinatario
sendDocuments(Collection<Document> documents, String from, Collection<String> to, String subject,
String message)
envía una colección de documentos por correo electrónico a un conjunto de destinatarios
sendDocument(Document document, String from, String to, String subject, String message) envía un documento por correo electrónico a un destinatario
sendDocument(Document document, String from, Collection<String> to, String subject, String message) envía un documento por correo electrónico a un conjunto de destinatarios
sendMessage(long tenantId, String from, String to, String subject, String message) envía un correo electrónico a un destinatario
sendMessage(long tenantId, String from, Collection<String> to, String subject, String message) envía un correo electrónico a un conjunto de destinatarios
BarcodeTool extract(Document doc, String possibleFormats) extrae los códigos de barras dentro de un documento dado, opcionalmente puede filtrar por formato("CODE_39,EAN_8")
extract(String filePath, String tenant, String possibleFormats) extrae los códigos de barras dentro de un archivo dado, opcionalmente puede filtrar por formato("CODE_39,EAN_8")
extractBarcode(Document doc, String possibleFormats) extrae el primer código de barras dentro de un documento dado, opcionalmente puede filtrar por formato("CODE_39,EAN_8")
extractBarcode(String filePath, String tenant, String possibleFormats) extrae el primer código de barras dentro de un archivo dado, opcionalmente puede filtrar por formato("CODE_39,EAN_8")
StampTool stamp(Document doc, String stampName, User user) aplica un sello en el documento dado en el nombre del usuario dado
stamp(Document doc, String stampName, String username) aplica un sello en el documento dado en el nombre del usuario dado.
SignTool sign(Document doc, User user, String reason, String password) firma digitalmente un documento con el certificado digital del usuario
sign(Document doc, String username, String reason, String password) firma digitalmente un documento con el certificado digital del usuario
AutomationTool execute(String routine, long tenantId, Map<String, Object> dictionary) ejecuta una rutina en el mismo proceso de ejecución. Devuelve el resultado de la rutina
fork(String routine, long tenantId, Map<String, Object> dictionary) ejecuta una rutina en un nuevo proceso de ejecución
ContextTool getBean(String id) devuelve el bean identificado por el ID dado
getBeanIds recupera la lista de todos los identificadores de bean
DISPONIBLE CUANDO REACCIONA A EVENTOS
event   el evento actual
document   el documento asociado con el evento actual (si corresponde)
folder   la carpeta asociada con el evento actual (si corresponde)
DISPONIBLE DENTRO DEL FLUJO DE TRABAJO
candidates   lista de los candidatos de la tarea actual
documents   lista de los documentos adjuntos
task   la terea actual
taskName   nombre de la tarea actual
initiator   el usuario que inició el flujo de trabajo
workflow   nombre del flujo de trabajo
processId   identificador del proceso actual
definitionId   identificador de la definición del proceso
actions   lista de acciones(transiciones) posibles declaradas para la tarea actual
assignee   usuario asignado a la tarea actual
WorkflowTool complete(Task task, String transition) completa una tarea con la transición dada
claim(Task task, String username) reclama una tarea para el usuario dado
completeUrl(Task task, String transition, User user) imprime la Url para completar la tarea con una transición específica
claimUrl(Task task, User user) imprime la dirección URL para solicitar una tarea para un usuario específico
addNote(Task task, String note) añade una nueva nota en una instancia de tarea
getHistories(String processId, String eventName) obtiene la lista de eventos de una instancia de proceso dada, puede filtrar opcionalmente para un nombre de evento('task.start', 'task.end', ...)
getLastHistory(String processId, String eventName) obtiene el último evento de una instancia de proceso dada, puede filtrar opcionalmente para un nombre de evento('task.start', 'task.end', ...)