Lo scopo delle regole di esportazione è quello di definire dei task da eseguire periodicamente sulla base dati per poter esportare le registrazioni con un formato a scelta, su di un path specifico del file system e poi per poter rimuovere opzionalmente rimuovere le registrazioni esportate.
I task contengono informazioni quali:
Quando far girare il task, con che frequenza
Quali dati esportare
Dove esportarli
Come esportarli: archivio di file, nomi specifici dei file, paginazione degli archivi (es. 1000 registrazioni per volta)
Rimozione dal sistema oppure solo export oppure entrambe le operazioni
Indicazioni sull’utente che ha definito il task
Tasks
In base alle considerazioni fatte sopra ogni task è definito da questi campi
Nome campo | Descrizione | Commenti |
---|---|---|
enable | Booleano che abilita/disabilita il task |
|
name | Nome del task | Utilizzato per il nome del file zip |
schedule | Stringa che definisce la frequenza con cui far girare il task | pattern cron disponibili: Asterisk. E.g. * Cron ranges:
Esempio: task che gira una volta al giorno alla 01:47:30 di notte: "30 47 1 * * *" |
query | Stringa che rappresenta la definizione dei filtri da applicare per l’esportazione. Usare un formato tale che possa essere usato con Mongo. | { |
greaterThanInDays | Numero di giorni precedenti all’attuale oltre il quale ricercare le registrazioni | Tale proprietà verrà ignorata se non valorizzata o valorizzata a null |
lessThanInDays | Numero di giorni precedenti all’attuale prima del quale ricercare le registrazioni | Tale proprietà verrà ignorata se non valorizzata o valorizzata a null. |
destination | Definizione della destinazione dell’export. Ogni modalità potrebbe avere parametri specifici | Possibili valori della tipologia: FileSystem (fs), FTP (ftp), FTPS (ftps), SFTP (sftp).
In base alla tipologia scelta, devono essere aggiunti parametri specifici. FileSystem: Path FTP/FTPS/SFTP: Server, Porta,path,username,password
Nota: attualmente risulta disponibile la sola modalità file system (fs)
|
format | Formato con cui esportare le registrazioni. | Nota: al momento è disponibile solo “archive” (formato zip). Il nome dell’archivio creato sarà composto dal nome del task + ts |
fileNamePattern | Definizione del pattern che devono avere i nomi dei file | E' possibile utilizzare dei segnaposto ({<nome_tag>}) prendendo i valori dai tag standard/custom per dare un nome ai file. Esempio: “{macroactivity}_{tags.AGENT}” . In ogni caso, per evitare duplicati, il nome del file inizierà sempre con “<mongo_id>_” |
blockSize | Dimensione del numero di registrazioni che deve essere processato alla volta | Es. 1000 per fare file di archivio contenenti al massimo 1000 registrazioni |
maxNumber | Limite massimo al numero di registrazioni estraibili | Se un’esportazione coinvolgesse un numero maggiore di registrazioni: verranno esportate tutte le registrazioni fino al raggiungimento della soglia. Tale proprietà verrà ignorata se non valorizzata o valorizzata a null. |
action | export, delete, exportAndDelete |
|
exportWithTags | Booleano che indica, per le action “export” e “exportAndDelete” se includere o meno nella procedura di esportazione i file .tags delle registrazioni |
|
user | Utente che ha inserito il task |
|
Esempio
Configurazione di un task che gira 1 volta a settimana il lunedì alle 23:30 ed esporta e cancella tutte le registrazioni con ts più vecchio di 3 mesi
{ "enable" : true, "user" : "admin", "action" : "exportAndDelete", "blockSize" : 1000, "fileNamePattern" : "{macroactivity}_{tags.AGENT}", "format" : "archive", "destination" : { "type" : "fs", "path" : "temp/ExportDestination", "server" : "", "port" : "", "username" : "", "password" : "" }, "query" : "{}", "greaterThanInDays" : null, "lessThanInDays" : 90, "schedule" : "0 30 22 * * 1", "maxNumber" : null, "exportWithTags" : true, "name" : "Esportazione settimanale" }