La FIleSentinel Activity è una Activity propria della piattaforma IrionEDM che consente di lanciare l'esecuzione di una o più Activity in seguito ad un evento scatenante, rappresentato da uno specifico cambiamento in una cartella del file system.
Durante l'esecuzione di un Workflow, la FileSentinel Activity rimane sempre attiva (anche se non in esecuzione) in attesa che il file system le invii la notifica di un cambiamento in una cartella di riferimento. Se si desidera disattivarla dopo un certo periodo di tempo è necessario forzarne l'arresto mediante la combinazione con altre Activity. |
Questa Activity dispone delle seguenti proprietà configurabili mediante il riquadro delle Properties:
✓ DisplayName, nome visualizzato per questa Activity nella working area del Designer;
✓ ChangeTypes, variabile di tipo WatcherChangeTypes che specifica l'evento scatenante in termini di azioni su file;
✓ NotifyFilters, variabile di tipo NotifyFilters che specifica l'evento scatenante in termini di modifica degli attributi di file.
✓ Filter, stringa contenente il nome di un file la cui modifica scatena l’Activity.
✓ Path, stringa contenente il percorso assoluto alla cartella monitorata dal file system.
✓ IncludeSubdirectories, booleano che abilita/disabilita il monitoraggio di eventuali sotto cartelle.
La proprietà Filter può accettare anche wildcard (e.g. *.txt) con cui specificare una classe di file da monitorare. |
La proprietà ChangeTypes ammette le variabili descritte nella seguente tabella, che riporta anche il tipo di evento scatenante che rappresentano.
Variabile |
Evento scatenante |
---|---|
WatcherChangeTypes.Created |
Creazione di un nuovo file nella cartella di riferimento. |
WatcherChangeTypes.Deleted |
Cancellazione di un file nella cartella di riferimento. |
WatcherChangeTypes.Changed |
Modifica di un file nella cartella di riferimento (e.g. modifica di dimensione, attributi e impostazioni di sicurezza). |
WatcherChangeTypes.Renamed |
Cambiamento del nome di un file nella cartella di riferimento. |
WatcherChangeTypes.All |
Ciascuno degli eventi precedenti. |
La proprietà NotifyFilters ammette le variabili descritte nella seguente tabella, che riporta anche il tipo di evento scatenante che rappresentano.
Variabile |
Evento scatenante |
---|---|
NotifyFilters.FileName |
Modifica del nome di un file nella cartella di riferimento. |
NotifyFilters.DirectoryName |
Modifica del nome della cartella di riferimento. |
NotifyFilters.Attributes |
Cambiamento degli attributi di un file nella cartella di riferimento. |
NotifyFilters.Size |
Variazione della dimensione di un file nella cartella di riferimento. |
NotifyFilters.LastWrite |
Modifica della data di ultima scrittura su un file nella cartella di riferimento. |
NotifyFilters.LastAccess |
Modifica della data di ultima apertura di un file nella cartella di riferimento. |
NotifyFilters.CreationTime |
Modifica dell'ora di creazione di un file nella cartella di riferimento. |
NotifyFilters.Security |
Variazione delle impostazioni di sicurezza su un file o la cartella di riferimento stessa. |
Le varibili di tipo WatcherChangeTypes e NotifyFilters appartengono al namespace System.IO, il quale non è caricato in automatico dal sistema ma va aggiunto manualmente nel riquadro Imports del tab Designer. |
Il riquadro che espone l'Activity nella working area del tab Designer dispone di un ulteriore elemento configurabile, il File Element. Esso consente di attribuire un nome al file che ha scatenato l'esecuzione della FileSentinel Activity (il nome di default è item). Questo nome consente di richiamare in altre Activity (e.g. una WriteTrace) attributi di tale file mediante opportune variabili, quali:
✓ item.Name, attuale nome del file;
✓ item.FullPath, attuale percorso assoluto del file;
✓ item.OldName, nome del file precedente alla modifica;
✓ item.OldFullPath, percorso assoluto del file precedente alla modifica;
✓ item.IsInError, booleano che segnala eventuali errori sul file;
✓ item.Exception, eventuale eccezione sollevata dalla modifica del file;
✓ item.ChangeTypes, tipo di variazione che ha interessato il file.
Il riquadro che espone l'Activity dispone infine di un riquadro dove è possibile inserire, mediante drag & drop, una qualsiasi Activity da eseguire al verificarsi dell'evento scatenante, definito nel riquadro delle Properties.