XML configuration files

The File Watcher Utilities application reads XML configuration files from the application root folder. The XML configuration file (fwatcher.xml) specifies how the file system is monitored and what actions are performed when there is a file system change. The XML configuration file provides many configuration options that can suit specific needs. You may configure as many file watchers (file system monitors) as is needed. Application starts a file watcher for each config table (configuration set) in the XML configuration file.

File name Description
fwatcher.xml This file contains the actual configuration information.
fwatcher.xsl This file contains structure of the configuration.

XML configuration file structure

config table (the <config> element)

Element name Description
daemonName Unique name of the file watcher.
startDaemon True | False if to start file watcher.
displayFileSystemChange True | False if to display file system change.
logFileSystemChange True | False if to log file system change to log file.
logFileSystemSearchError True | False if to log file system search error to log file.
displayFileSystemSearchError True | False if to display file system search error.
logFileSystemSearchProgress True | False if to log file system search process to log file.
displayFileSystemSearchProgress True | False if to display file system search process.
path Path of the directory to watch.
filter File name filter string.
generateFileSystemEventsAtStartup True | False if to generate file system events at startup.
generatedEventFileNameRegularExpressionFilter Generated file system event file name regular expression filter.
changedRegularExpressionFilter Changed event file name regular expression filter.
createdRegularExpressionFilter Created file name regular expression filter.
deletedRegularExpressionFilter Deleted event file name regular expression filter.
renamedRegularExpressionFilter Renamed event file name regular expression filter.
includeSubdirectories True | False if to monitor subdirectories.
internalBufferSize File watcher internal buffer size. (The default buffer size is 8192).
subscribeToBufferErrorEvent True | False if to subscribe to file watcher buffer error event.
subscribeToChangedEvent True | False if to monitor file change.
subscribeToCreatedEvent True | False if to monitor file creation.
subscribeToDeletedEvent True | False if to monitor file deletion.
subscribeToRenamedEvent True | False if to monitor file renaming.
notifyAttribute True | False if to notify file of folder attribute change.
notifyCreationTime True | False if to notify file or folder creation time change.
notifyDirectoryName True | False if to notify directory name change.
notifyFileName True | False if to notify file or folder name change.
notifyLastAccess True | False if to notify file or folder last access change.
notifyLastWrite True | False if to notify file or folder last write change.
notifySecurity True | False if to notify security change.
notifySize True | False if to notify file or folder size change.
startProcess True | False if to start process when file watcher detects file system change.
logProcessStart True | False if to log process start.
logProcessEnd True | False if to log process end.
processFileName Name of the process executable (or document). Cannot be empty. Not applied when 'callService' is True.
processArguments Process arguments. Not applied when 'callService' is True.
processUseFileNameAsArgument True | False if to use changed file as argument. Not applied when 'callService' is True.
processArgumentsFileNameEscapeString Arguments escape string for the file name. Not applied when 'callService' is True.
processUseOldFileNameAsArgument True | False if to use old file name as argument. Not applied when 'callService' is True.
processArgumentsOldFileNameEscapeString Arguments escape string for the old file name. Not applied when 'callService' is True.
processUseChangeTypeAsArgument True | False if to use the file system change type as argument. Not applied when 'callService' is True.
processArgumentsChangeTypeEscapeString Arguments escape string for the file system change type. Not applied when 'callService' is True.
processVerb Process verb. If not specified the default verb "open" is used. Not applied when 'callService' is True.
processWorkingDirectory Process working directory. Not applied when 'callService' is True.
processUseShellExecute True | False if to use shell execute method. Not applied when 'callService' is True.
processCreateNoWindow True | False if to create no window. Ignored if processUseShellExecute is True. Not applied when 'callService' is True.
processWindowStyle Process window style: normal | minimized | maximized | hidden. Set processShellExecute to True. Not applied when 'callService' is True.
processSynchronizedExecution True | False if to execute this process synchronized. Blocks other processes until the process is done. Not applied when 'callService' is True.
processMaxWaitTime Amount of time in milliseconds to wait for the synchronized process to exit. -1 to wait infinite. Not applied when 'callService' is True.
processRedirectStandardError True | False if to redirect process standard error to this application. Cannot be used if processUseShellExecute is True. Not applied when 'callService' is True.
processRedirectStandardOutput True | False if to redirect process standard output to this application. Cannot be used if processUseShellExecute is True. Not applied when 'callService' is True.
processLoadUserProfile True | False if to load user profile to execute process. Not applied when 'callService' is True.
processDomain Process user profile domain. Saved as plain text. Not applied when 'callService' is True.
processUserName Process user profile user name. Saved as plain text. Must be empty if processUseShellExecute is True. Not applied when 'callService' is True.
processPassword Process user profile password. Saved as plain text. Must be empty if processUseShellExecute is True. Not applied when 'callService' is True.
processBatchSize Process batch size (limits amount of simultaneous service calls or processes run by this file watcher). Zero value for no limit.
processFileMustExist True | False to not to run the process if file does not exist.
processDelay Process delay in milliseconds.
processLockFile True | False to test for file lock.
processLockFileLastWriteDelay The file last write time must occur specified amount of milliseconds before. The process will be requeued if the last write time condition is not met. This counts as a retry. Otherwise the file is tested for a file lock.
processLockFileRetries File lock test retries. Zero for infinite.
processLockFileRetriesQueueLimit Preserves the specified amount of processes even if the file lock retries count is met. The specified value is compared to the global process queue size shared among all file watchers. If the value is not greater than the global queue size the process is re-enqueued. Otherwise the process is removed from the queue.
callService True | False if to call Windows Communication Foundation service when the file watcher detects a file system change.
streamFile True | False if to stream the changed file to Windows Communication Foundation service.
tryRenameFile True | False if to rename file before processing it.
tryRenameFileRetries Rename retries.
filteredMode True | False if to suppress duplicate created, changed and deleted file system events. The filter uses the full path of the file or folder and the file system event type to filter duplicate file system events.
filteredModeFilterTimeout Duplicate file system event suppression timeout in minutes. This value should always be set as low as possible to minimize the use of system resources.
pollDirectory True | False if to poll directory for new (created) and changed files. Changed or created file system events must be monitored. Only new/changed files since the last poll will generate artificial file change event. Generated events can be filtered and duplicate created or/and changed events can be suppressed.
directoryPollInterval Directory polling interval in minutes. This time should be longer than 'Duplicate file system event suppression timeout' if duplicate file system event suppression is used.
recycleFileWatcher True | False if to allow file watcher recycling. File watcher can be recycle on error or when directory is not found or when recycle timeout elapses.
recycleInterval Recycle file watcher after x minutes. File watcher will be recycle whenever possible.

Copyright © 2006-2013 Jussi Hiltunen