| |
You've Got Files! User Manual v3.016
Niwot Networks, Inc, 721 9th Ave., Longmont, CO 80501. (303) 772-8664
You've Got Files! Features Supported
Running The Program
Monitoring Local Directories
Monitoring Network Directories
Monitoring FTP servers
Monitoring SFTP Servers
Schedule Starting and Stopping The Program
Monitoring Windows Computers On Your
Network
Starting/Stopping You've Got Files!
Configuring The Program
Example Configuration
Alphabetic list of ygfconf.txt entries
The You've Got Files! configuration GUI
Troubleshooting You've Got Files!
Notes On Using An Exchange Server to Send Email
Uninstalling You've Got Files!
Program Log Files
The Run Log
Errors Found In The Run Log
The Send Log
The FTP Log
Undeliverable Mail
NiwotFtpTool
Interface to WhoDunIt
Change Notes
The You've Got Files! License Agreement
You've Got Files! Features Supported
You've Got Files! has 4 levels of feature support:
Troubleshooting You've Got Files!
The biggest help in troubleshooting is by looking at the log files generated.
Program Log Files
These files are located in the installation directory and include:
The Run Log runlog.txt
The Send Log sendlog.txt
The FTP Log ftplog.txt
Monitoring Network-Mounted drives requires UNC paths and that the ygf
service be logged on with a username/password with access to those paths. See:
Monitoring A Network-Mounted drive
Other files generated during operation include:
scandir*.txt and oldrdir*.txt These UTF-8 text files are
directory listings of the monitored directories. You may look at these with
notepad to verify what is being monitored. The modification times on these
files reflect when the directory listing was performed.
msg*.txt These files are emails that are not yet
successfully sent.
Additional log information may be obtained with a Debug
statement inserted at the top of the ygfconf.txt file:
Debug=1 logs SMTP
Debug=2 logs FTP/SFTP
Debug=3 logs both
Debug=16 generates a notification.txt file containing reasons a notification was generated.
If you'd like Niwot Networks to assist, please email a description of the
problem and attach a zip of all the .txt files in the installation directory
to:
productsupport@niwotnetworks.com
Priority will be given to customers who have purchased updates.
• Spurious emails from monitored ftp sites
As You've Got Files! is running, it keeps a record of the contents of
your directories in order to know when new/changed files have arrived or
deletions have occurred.
The program no longer generates spurious emails when a Ygf*Dir= value is
changed,
but there are some other changes that can generate spurious emails:
A time change occurs on a monitored FTP site which does not report file times
in UTC time.
A monitored FTP site changes the format in which it reports file times.
If you are monitoring an FTP site you may want to
First: Stop the You've Got Files! Service before the time change.
Second: Within your installation directory, delete the scandir*.txt and
oldrdir*.txt files associated with the FTP site.
Third: Start the You've Got Files! Service after the time change.
Notes On Using An Exchange Server to Send Email
Setting up EXCHANGE 2003 to allow You've Got Files! to send email:
(1)From System Manager: Expand to the Default SMTP Virtual
Server
(2) Right Click the Default SMTP Virtual Server and select
Properties:
(3)Select The Access Tab and click Relay:
(4)Click Add and enter the IP address of the machine on which You've Got Files!is running:
In this example 192.168.0.2
(5)Please Note that if the machine on which You've Got Files! is running is separated from the Exchange server by a proxy (one example would be a NAT(Network Address Translation) proxy) then Add the address of the Proxy as seen by the Exchange Server.
Configuring The Program
You've Got Files! determines where to scan for files and who to send
email to based on how you configure the program. This information is kept in a
configuration file. As You've Got Files! runs, it checks the
configuration file every 15 minutes to see if you have made any changes.
The configuration of You've Got Files! is done by adding/modifying the
entries in the configuration file ygfconf.txt. This may be done by
editing the configuration file with Notepad (do not use a word processor like
Word, this can cause problems). The configuration file is found in the
directory where you installed You've Got Files!
Entries in the configuration file are defined as key/value pairs, like so:
Key=Value
All keys follow the convention of each word having the first letter
capitalized, and the remaining letters in lower case. The value may be
anything, a number or a text string, etc. Following is an example of a valid
key/value pair:
SmtpServerName=mail.widgetworld.com
Lines in ygfconf.txt which begin with the '#' character are comment
lines (hence they are ignored), like so:
# This is a comment line.
Multiple Email Addresses
Example Configuration
Multiple From Email Addresses/Servers
"AUTH" authentication
POP3 before SMTP "P3B4SMTP"
authentication
Wait Before Sending Next Email
Optional Subject For Email Message
Email Message Header And Footer Files
Private Label For Email Messages
Send Email on File Deletion
Don't Send Email on File Change
Don't Send Email on File Add
Wildcard Directories
No Subfolders
Alias For the Directory Specification
AliasExclude For Web Servers with
"htmldocs" directory
Alias "file://" For Files
IncludeFilesNamed/ExcludeFilesNamed
IncludeFoldersNamed/ExcludeFoldersNamed
Launching An Application
Monitoring A Network-Mounted drive
Monitoring An FTP Server
Monitoring An FTP Server Using Specific
Or Wildcard Directories
Monitoring An SFTP Server
Monitoring Multiple Directories
Ignoring Zero Length Files
Startup Delay
• ScanIntervalInMinutes
This entry determines how frequently You've Got Files! will scan the
file system for new/changed files. This value may be set to as low as 1 minute,
or you may want an upper limit of 1440 minutes (the number of minutes in one
day). The default value in ygfconf.txt is set to 1 minute:
ScanIntervalInMinutes=1
This global may be overridden for specific directories with the Ygf*ScanIntervalInMinutes feature.
This entry determines how frequently You've Got Files! will scan the
file system for new/changed files. This value may be set to as low as 1 minute,
or you may want an upper limit of 1440 minutes (the number of minutes in one
day). The default value in ygfconf.txt is set to 1 minute:
ScanIntervalInMinutes=1
• SmtpPort
The default SMTP Port 25 is used if this entry is not specified. Use SmtpPort= to specify an alternate SMTP port. You may also use Ygf*SmtpPort= to override the default for a specific directory.
• SmtpServerName
This entry defines the name of the SMTP server which will be responsible for
sending email. A value for this entry is defined during the installation of You've
Got Files! A typical entry might be something like:
SmtpServerName=mail.widgetworld.com
This default SMTP server may be over-ridden on a directory-by-directory basis
by entering Ygf*SmtpServerName=mail.differentserver.com
• SerialNumber
This entry defines the serial number that you must have in order for You've Got
Files! to run. This serial number must be obtained from Niwot Networks
Inc. The default value in ygfconf.txt will allow for a 30 day demo of
the program:
SerialNumber=NIWOTDEMO
After the 30 day demo period, You've Got Files! will no longer run
unless a valid serial number from Niwot Networks Inc. is obtained and entered
into ygfconf.txt.
• FromEmailAddress
This entry defines the From: email address that will be used on all email. A
value for this entry is defined during the installation of You've Got Files! It
is advised that you use a real email address for this entry, as some SMTP
servers may return "unknown user account" if the email address is not an actual
account on the system. A typical entry might be something like:
FromEmailAddress=bobsmith@widgetworld.com
This default FromEmailAddress may be over-ridden on a directory-by-directory
basis by entering Ygf*FromEmailAddress=different@fromemailaddress.com
• Ygf*Dir and Ygf*Email
These two entries work hand-in-hand. The Dir entry defines the directory
that will be scanned for new/changed files, and the Email entry defines
the email address(es) that will be notified of any new/changed files. Values
for these entries are defined during the installation of You've Got Files! Typical
entries for these two values might be something like:
Ygf1Dir=C:\incoming
Ygf1Email=bobsmith@widgetworld.com
Monitoring a LOCAL directory might look like:
Ygf1Dir=C:\incoming
Monitoring a network mounted directory might look
like: Ygf*Dir=//servername/sharename/monitoredfoldername
The niwotdir module is used to retrieve the directory listing for local as well as network mounted directories. The directory information in Unicode format is retrieved and stored in the UTF-8 formatted Scandir*.txt file.
Monitoring an FTP directory might look like:
Ygf*Dir=ftp://username@ftp.widgetworld.com
If the FTP server is UTF-8 compliant, the directory information in Unicode format is retrieved and stored in the UTF-8 formatted Scandir*.txt file.
Monitoring an SFTP directory might look like:
Ygf*Dir=sftp://username@secure.widgetworld.com
Note: for more advanced functionality, the Ygf*Dir entry may be combined with Launching
An Application. Click here for an explanation of
this functionality.
• Multiple Email Addresses
It is possible to specify more than one email address in the Email definition,
by separating the email addresses with commas. An optional space after each
comma may be added for clarity. The destination email list must not exceed 511
characters total length.
Ygf*Email=bobsmith@widgetworld.com, bsmith@home.net, bobscellphone@abc.com
• Multiple From Email Addresses/Servers
It is possible to specify a unique "From" email address and SMTP server to use
for each directory entry.
You may override the default SmtpServerName= with Ygf*SmtpServerName=different.mailserver.com
You may override the default FromEmailAddress= with Ygf*FromEmailAddress=different@fromemailaddress.com
• Optional Subject For Email Message
With Demo, Professional, and Corporate licenses, you may specify your own
Subject field for your email message. For example, if the following description
was entered in the configuration file:
Ygf*Subject=John Wilson has new files!
Then any email messages sent would have a Subject field like this:
From: johnwilson@widgetworld.com
To: johnwilson@widgetworld.com
Subject: John Wilson has new files!
Date: Fri, 8 Feb 2002 16:22:08 -0700
You may also make use of the following substitution strings:
| $count |
Shows the count of new files. |
| $file |
Shows the name of the first new file. |
A Subject field making use of the sustitution strings might look like:
Ygf*Subject=$count New File(s) for John Wilson: $file
Which could generate the following message:
From: johnwilson@widgetworld.com
To: johnwilson@widgetworld.com
Subject: 1 New File(s) for John Wilson: Updates.doc
Date: Fri, 8 Feb 2002 16:22:08 -0700
Note that the Subject field will be found in all configuration file directory
entries. It may be left blank if you do not wish to have a description added to
the Subject field:
Ygf*Subject=
• HTML Formatted Email Message
With Demo, Professional, and Corporate licenses, you may specify HTML formatting for
your email message using Ygf*HtmlFormatEmail=1
This causes the generated email message to be Content-Type: text/html; charset=ISO-8859-1
For example:
Ygf2EmailHeaderFile=<html><b>
Ygf2EmailFooterFile=</b></html>
Ygf2HtmlFormatEmail=1
Would cause the Added/Changed/Deleted messsages generated from a change in Directory 2 to be bolded when read in an HTML-enabled client.
Cautions:
Please see the Header and Footer File section
Embedded image support has not been tested.
The first characters in HeaderFile or the file referenced by HeaderFile should be <html>
The last characters in FooterFile or the file referenced by FooterFile should be </html>
• "AUTH" authentication
If your default SMTP server requires "AUTH" authentication, specify
MailUserName= and MailPassword= in your ygfconf.txt file. DO NOT specify a POP3
server name, as that will be interpreted as P3B4SMTP authentication.
If you are using multiple SMTP servers to send, then specify the
Ygf*MailUserName= and Ygf*MailPassword= on a directory-by-directory basis. If
the default uses P3B4SMTP then also put in a Ygf*Pop3ServerName= with nothing
specified to use "AUTH" with the specific non-default server.
• POP3 before SMTP "P3B4SMTP" authentication
If your default SMTP server requires POP3 before SMTP authentication, specify
Pop3ServerName= MailUserName= and MailPassword= in your ygfconf.txt file.
If you are using multiple SMTP servers to send, then specify the
Ygf*Pop3ServerName= Ygf*MailUserName= and Ygf*MailPassword= on a
directory-by-directory basis.
• Private Label For Email Messages
In the Corporate version of You've Got Files!, the "You've Got Files! http://www.niwotnetworks.com" last line is
removed from email messages.
• Carbon Copy For Email Messages
All versions allow you to also send "Carbon copy" emails to a
comma-separated list of email addresses.
• Blind Carbon Copy For Email Messages
The Corporate version allows you to also send "Blind carbon copy" emails to a
comma-separated list of email addresses.
• Wait Before Sending Next Email
You've Got Files! can check different directories at different
frequencies with the configuration entry "Wait Before Sending Next Email". This
can be very helpful if certain directories experience high volume or have slow
network connections. Without this configuration entry, many emails might be
generated due to the traffic throughout the workday. This configuration entry
is defined in minutes and will look as follows:
Ygf*WaitBeforeSendingNextEmailInMinutes=60
Note that the Global ScanIntervalInMinutes configuration entry
may be overridden on a per-directory basis.
Ygf*WaitBeforeSendingNextEmailInMinutes=1
• Detecting files with aged modification dates in the monitored directory
You've Got Files! Demo and Corporate versions can specify a "OldFileDetectInMinutes" time which
is useful when you want a notification that a file time in a monitored file is older than your specifed allowed time.
With a OldFileDetectInMinutes=2880 you will receive a notification when a file's
file modification time is 2 days old. This is particularly useful to launch a batch file to archive and/or delete the Old file(s) detected.
Please Note: OldFileDetectInMinutes does not check if the file is entirely there before triggering a notification. This was brought to our attention by a customer that tried a setting of 30 minutes when the gigabyte size files they were monitoring might take hours to transfer. Please use a large enough OldFileDetectInMinutes value to be sure the file transfer has completed.
Ygf*OldFileDetectInMinutes=2880
Selecting this feature causes DontNotifyOnChange and DontNotifyOnAdd to default to 1.
This feature is intended to be used with LaunchApplication to archive or delete the old files.
NiwotFTPTool works in conjunction with OldFileDetectInMinutes to download and delete old files from monitored FTP sites.
• Detecting first level folders within the monitored directory whose files are all old
You've Got Files! Demo and Corporate versions can specify a "OldFirstLevelFolderDetectInMinutes=" time which may be useful when you want a notification that a first level folder contains nothing but old files.
For example, this feature may be used to detect old project folders within a monitored "all projects" folder.
Please Note: OldFirstLevelFolderDetectInMinutes does not check if all the files in the FirstLevelFolder are entirely there before triggering a notification.
Ygf*OldFirstLevelFolderDetectInMinutes=2880
This feature may be used with LaunchApplication ($file is the name of the old first level directory) to archive or delete an old local or UNC-accessible folder.
Contact Niwot networks for a sample batch file for UNC or Local paths.
• Detecting files that have grown stale in the monitored
directory
You've Got Files! Corporate version can specify a "Staleness" time which
is useful when you want a notification that a file has been in the monitored
directory for more than your specifed allowed time.
With a StalenessDetectInMinutes=60 you will receive a notification when a new
file has remained in the monitored directory for at least 60 minutes.
This is accomplished by monitoring the specified directory at the interval you
specified, so while the minimum time is the time you specify, the maximum is
twice that value (or longer on a heavily loaded system).
Ygf*StalenessDetectInMinutes=60
• Send Email On File Deletion
You've Got Files! can send email notification of files which are deleted
with the "NotifyOnDelete" configuration entry. Normally You've Got Files!
does not notify of file deletions, so this selection must be added specifically
on a directory by directory basis. This configuration entry is enabled with a
"1" and will look as follows:
Ygf*NotifyOnDelete=1
• Send Email On Folder Addition
You've Got Files! can send email notification of new folders
with the "NotifyOnFolderAdd" configuration entry. Normally You've Got Files!
does not notify of folder addition, so this selection must be added specifically
on a directory by directory basis. This configuration entry is enabled with a
"1" and will look as follows:
Ygf*NotifyOnFolderAdd=1
• Don't Send Email On File Change
You've Got Files! can be configured to not send email notification of
files which are changed with the "DontNotifyOnChange" configuration entry.
Normally You've Got Files! will notify of file changes, so this
selection must be added specifically on a directory by directory basis. This
configuration entry is enabled with a "1" and will look as follows:
Ygf*DontNotifyOnChange=1
• Don't Send Email On Time Change
You've Got Files! can be configured to not send email notification of
files which have the same size and name but whose Modification times have changed
with the "DontNotifyOnTimeChange" configuration entry.
This entry was added for a customer that re-writes the contents of his FTP site
daily and schedules operation of "You've Got Files!" so it won't run during
the update. This configuration entry is enabled with a "1" and has the fomat:
Ygf*DontNotifyOnTimeChange=1
• Don't Send Email On File Add
You've Got Files! can be configured to not send email notification of
files which are added with the "DontNotifyOnAdd" configuration entry. Normally You've
Got Files! will notify of file additions, so this selection must be
added specifically on a directory by directory basis. This configuration entry
is enabled with a "1" and will look as follows:
Ygf*DontNotifyOnAdd=1
• Wildcard Directories
It is possible to specify wildcard directory names by ending the Dir definition
with an "*" asterisk character, like so:
Ygf*Dir=C:\incoming\nutsbolts*
In the example above, directories with the names "nutsbolts", "nutsbolts1",
"nutsboltsX", etc would all be searched for files. Note also that with the
wildcard specification, ONLY the directories meeting the "nutsbolts*" criteria
in C:\incoming would be searched.
• No Subfolders
By default, You've Got Files! will examine all folders within the
directory you specify. If you wish to examine only the top level folder, then
you may provide the following specification:
Ygf*NoSubfolders=1
This configuration entry, if not used, will default to no value, as follows:
Ygf*NoSubfolders=
• Email Message Header And Footer Files
You may specify email message header and footer information for each Dir entry
in your configuration. You've Got Files! will attempt to find and read the file specified,
if no file is found then the text itself (up to 500 characters) will be inserted. Use only plain text (or html)
files for this purpose, do not use files created by a word processor like Word.
For example, IF your configuration identified for Directory 2 the following entries:
Ygf2EmailHeaderFile=Direct Header Text
Ygf2EmailFooterFile=Direct Footer Text
AND there were no files in the installation directory named "Direct Header Text"
or "Direct Footer Text" then the generated email message would have "Direct Header Text" as its first line
and "Direct Footer Text" as its next to last line (last line for Corporate, which removes the last line branding).
If the entry does reference a file, like:
Ygf2EmailHeaderFile=C:\messages\header1.txt
Ygf2EmailFooterFile=C:\messages\footer1.txt
And the Ygf2HtmlFormatEmail=1
specifying an HTML format then the "C:\messages\header1.txt" and "C:\messages\footer1.txt" files taken together as a single file should be in html format.
If the contents of "C:\messages\header1.txt" is:
<html><body><b>On the BIGWIDGET server:<br><br>
And the contents of "C:\messages\footer1.txt" is:
<br>Please contact admin@widgetworld.com </b> <br> if you have any questions.</body></html>
Then a Corporate version email message might look like:
From: bobsmith@widgetworld.com
To: bobsmith@widgetworld.com
Subject: You've Got 1 File
Date: Fri, 5 Apr 2006 10:04:20 -0700
On the BIGWIDGET server:
Added: C:\Incoming\NewPolicy.doc 04/05/06 09:42a 23,142 bytes
Please contact admin@widgetworld.com
if you have any questions.
• Email Priority Low, Normal, and High
You may specify email priority to 0(Low), 1(Normal..Default), or 2 (High)
If you do not specify an EmailPriority, the default value is 1.
Ygf*EmailPriority=2
• Alias For the Directory Specification
The Alias may be used to replace the directory specification in the
notification.
If the Alias begins with "http://", "ftp://", or "\\" then spaces in the
notification path are replaced with "%20" in order to make the links clickable.
Email clients and servers insert spaces (returns) after the notification line
exceeds 72 characters, so keep your pathnames and filenames short if want them
to be clickable.
It is possible to provide a clickable link in your email messages for new files
that appear, if the directory being monitored actually corresponds to a
directory of a live HTTP or FTP server. For example, if the following Dir
and Alias specifications were created:
Ygf*Dir=C:\webroot
Ygf*Alias=http://www.widgetworld.com
Then a new file named "The example.html" in the "C:\webroot" directory would
create a clickable link within the email message like so:
Added: http://www.widgetworld.com/The%20example.html
Likewise, the same type of configuration could apply to an FTP server:
Ygf*Dir=C:\ftproot
Ygf*Alias=ftp://ftp.widgetworld.com
Note that this functionality may be combined with the IncludeFilesNamed/ExcludeFilesNamed
feature below for more precise notification.
• AliasExclude For Web Servers with "htmldocs"
directory
It is possible to exclude part of a clickable link, which is required when
using the FTP client feature of You've Got Files!
along with some web servers. This is because some web servers will serve web
pages from the "htmldocs" directory rather than the root directory of the FTP
server. For example, if the following Dir, Alias, and FtpPassword
specifications were created:
Ygf*Dir=ftp://username@www.widgetworld.com
Ygf*Alias=http://www.widgetworld.com
Ygf*FtpPassword=password
Then a new file named "the specs.html" in the "htmldocs" directory would create
a clickable link within the email message like so:
Added: http://www.widgetworld.com/htmldocs/the%20specs.html
Unfortunately the link above will not work. To correct links in an environment
like this, you may add the configuration entry as follows:
Ygf*AliasExclude=htmldocs/
Note the "/" at the end of the string ... that is important, as this will
remove the entire substring "htmldocs/" from the clickable link to create a
link which now works:
Added: http://www.widgetworld.com/the%20specs.html
• Alias "file://" For Files
You may create clickable links in your email messages for new files that
appear. This may be useful if your company shares disk drives on a network or
uses UNC paths. For example, if the following Dir and Alias specifications
were created:
Ygf*Dir=M:\sales
Ygf*Alias=file://
Then a new file named "procedure.doc" in the "M:\sales" directory would create
a clickable link within the email message like so:
Added: file://M:\sales\procedure.doc
Likewise, the same type of configuration for UNC paths:
Ygf2Dir=\\sales\evol\sales
Ygf2Alias=file://
Then a new file named "meetings.doc" in the "\\sales\evol\sales" directory
would create a clickable link within the email message like so:
Added: file://\\sales\evol\sales\meetings.doc
Note that this functionality will not work if the path is too long and causes
the link to be displayed on 2 lines of the email message. Currently there are
no email client programs that can correctly resolve a link which is broken onto
2 lines of the email message.
• IncludeFilesNamed/ExcludeFilesNamed
It may be desirable to include or exclude the scanning of certain types of
files from directories. This may be accomplished with the IncludeFilesNamed/ExcludeFilesNamed
configuration entries. If the IncludeFilesNamed entry is used, then only
those files specified would cause notification. If the ExcludeFilesNamed
entry is used, then those files specified would never cause
notification. Pattern matching allows for expressions like "*.jpg|*.htm?",
where the "*" asterisk character is a wildcard specification for 0 to many
characters, and the "?" question mark character is a wildcard specification for
0 to 1 character. Multiple entries are separated by the "|" vertical bar
character.
For example, suppose we wished to only be notified of files ending with ".htm"
or ".html". (This matching is case insensitive) The following rule would apply:
Ygf*IncludeFilesNamed=*.htm?
Or if we wanted to exclude files ending with ".JPG" and ".gif", then this rule
would apply:
Ygf*ExcludeFilesNamed=*.JPG|*.gif
If you create an IncludeFilesNamed entry and an ExcludeFilesNamed
entry, they will work correctly together. For example, (imagine this!):
Ygf*IncludeFilesNamed=*.htm?
Ygf*ExcludeFilesNamed=*.html
In this case, files ending with ".htm",".HTM", ".htMa" or ".htmz" would be
reported on, but not files ending with ".hTml".
It may also be desirable to send notification only if a particular
well-known file arrives in a directory. Use a rule with no wildcards for this
instance:
Ygf*IncludeFilesNamed=SalesOrder.doc
• IncludeFoldersNamed/ExcludeFoldersNamed
You may wish to include or exclude the monitoring of certain named directories.
This may be accomplished with the ExcludeFoldersNamed and IncludeFoldersNamed
configuration entries.
If the ExcludeFoldersNamed entry is used, then if any part of the
directory path matches (this is case insensitive) this entry, the folder will
not be monitored.
If the IncludeFoldersNamed entry is used, at least one part of the
directory path must match (this is case insensitive) this entry in order for
the folder to me monitored.
For example, if an ExcludeFoldersNamed entry was defined as follows:
Ygf*ExcludeFoldersNamed=temp
Then no email notification would occur for the following paths:
C:\Temp
C:\SalesDocs\TEMP
C:\Meetings\December\temp
Pattern matching (this is case insensitive) allows for expressions like
"temp*|done?", where the "*" asterisk character is a wildcard specification for
0 to many characters, and the "?" question mark character is a wildcard
specification for 0 to 1 character. Multiple entries are separated by the "|"
vertical bar character.
For example, suppose we wished to not be notified of folder names with "tem" or
"temp". The following rule would apply:
Ygf*ExcludeFoldersNamed=tem*
Or if we wanted to exclude folders ending with "jpg" and "gif", then this rule
would apply:
Ygf*ExcludeFoldersNamed=*jpg|*gif
• Directory-Specific ScanIntervalInMinutes
It is possible to override the global ScanIntervalInMinutes for each directory. If a directory-specific value is not entered the Global is used.
Ygf*ScanIntervalInMinutes=
• Launching An Application
In some environments, you may wish to run an application program/batch
file/script against new files found in directories. This may be combined with
the sending of notification email, in such a way that one or the other (program
or email) or both may be selected based on the entries in your configuration
file. Suppose you had a program named "INVOICE.EXE" that created invoices. You
could run this program on every new file in a directory with the following
entry:
Ygf*LaunchApplication=INVOICE.EXE $file
Note the use of the variable "$file" in the example above. You may use this to
substitute the actual filename in place of the variable "$file" at the time the
program is run.
The variable "$length" may also be used to
substitute the actual filesize (decimal string) in place of the variable "$length" at the time the
program is run.
If you wish to monitor a directory and only run a program against new
files (sending no email), then you would leave the email address field blank
for that entry, like so:
Ygf*Email=
Ygf*LaunchApplication=INVOICE.EXE $file
• Spawning An Application
In some environments, you may wish to run an application program/batch
file/script against new files found in directories and NOT have You've Got Files!
wait for the started application to complete before resuming scanning. We call this spawning.
Spawning may be combined with the sending of notification email, in such a way that one or the other (program
or email) or both may be selected based on the entries in your configuration
file. Extreme care must be taken by the user to ensure that the spawned applications complete,
otherwise SpawnAppNoWait is identical to LaunchApplication.
Ygf*SpawnAppNoWait=INVOICE.EXE $file
• Monitoring A Network-Mounted drive
It is possible to have You've Got Files! monitor Network-Mounted drives
using the UNC path \\servername\sharename or
\\servername\sharename\foldername[\foldername].
The niwotdir module is used to retrieve the file and path names in Unicode format and store that information in the UTF-8 formatted Scandir*.txt file.
You may not monitor
Network-Mounted drives using mapped drive letters, as they don't exist for
services. You must have the service login with a username and password that is
authorized to view the monitored UNC path. See Monitoring Windows
Computers On Your Network or Monitoring Linux
Computers On Your Network
The Dir entry should look like:
Ygf*Dir=\\servername\sharename
or
Ygf*Dir=\\servername\sharename\foldername
or
Ygf*Dir=\\servername\sharename\foldername\subfoldername
If you as a user log in with the same username and password that the service is
using, then you may want to go to the Command Prompt and enter "dir /s
\\servername\sharename\foldername" to see if the path is accessible.
• Monitoring An FTP Server
It is possible to have You've Got Files! monitor FTP servers.
If the FTP Server is UTF-8 compliant, UTF-8 will be used and Unicode names are supported. See Notes on UTF-8 FTP
The Dir entry should be modified as follows, along with an additional
entry for the FTP user's password.
Ygf*Dir=ftp://username@ftp.widgetworld.com
Ygf*FtpPassword=password
When monitoring an FTP server, the Dir entry should begin with the six
characters ftp:// followed by the username whose account you wish to log
into, followed by the @ sign, followed by the FTP server name. The FtpPassword
entry will be encrypted in the configuration file once the program has been run
once, thereby maintaining security of passwords. Do not hand modify this string
once it has been encrypted. If you ever need to change the password, enter it
again (overwriting the old encrypted value, including all characters after the
'=' sign) and it will be encrypted again in the configuration file. The
following entry shows what an encrypted password in the configuration file
might look like:
Ygf*FtpPassword=ENC!6CD5772453FB9790
The FtpPassword line should not exist or be left blank if you are not monitoring an FTP or an SFTP
server.
FTP servers normally listen on port 21 for incoming connections. If your FTP server
is listening on a different port, you may configure the FtpPort parameter:
Ygf*FtpPort=1245
• Notes on UTF-8 FTP servers
You've Got Files! sends the CLNT and OPTS UTF8 ON commands whenever it connects to an FTP server.
Information from the FTP server is treated as containing Unicode/UTF-8 names, and that information is preserved in the UTF-8 directory scan "scandir" files and in the notification emails. This supports multiple languages.
Note that if you are using a UTF-8 compliant FTP server, you will need a UTF-8 compliant FTP client in order to see the files and directory names that
You've Got Files! may notify you about with UTF-8 character sets.
Some UTF-8 compliant FTP servers: www.g6ftpserver.com, www.raidenftpd.com
Some UTF-8 compliant FTP clients: www.smartftp.com
• FTP Double Login
Some FTP servers require a "Double Login" where the user must first login as
anonymous and then login with a username/password. A double login with the
first login being "anonymous" and the first password being the
"FromEmailAddress" may be accomplished with:
Ygf*FtpDoubleLogin=1
• Disabling CDUP (use CWD ..) to move up an FTP directory
Some FTP servers require a "CWD .." to make the parent directory the current working directory.
The default behavior is for the You've Got Files! FTP client to send "CDUP" for this purpose.
Should your FTP server require "CWD ..":
Ygf*FtpDontUseCDUP=1
• Monitoring An FTP Server Using Specific Or Wildcard
Directories
You may wish to monitor a specific directory within an FTP server. This is
accomplished by adding the specific directory name onto the end of the Dir
specification:
Ygf*Dir=ftp://jbrown@ftp.widgetworld.com/incoming/sales
The specification above would monitor only the "incoming/sales" directory of
the FTP server using the login "jbrown".
You may also wish to monitor directories using a wildcard specification,
accomplished by adding an "*" asterisk character at the end of the definition.
Suppose the "incoming" directory above also included the folders "salesEast",
"salesSouth", and "salesWest". A wildcard specification that would examine all
of the "salesxxxx" folders would look like:
Ygf*Dir=ftp://jbrown@ftp.widgetworld.com/incoming/sales*
The above specification would monitor the "incoming/sales",
"incoming/salesEast", "incoming/salesSouth", and "incoming/salesWest"
directories.
• Monitoring An FTP Server using Passive FTP
You've Got Files! supports Passive FTP commands to offer a more secure form of
data transfer. If a specification like Ygf*FtpPasv=1 is made for an FTP server being
monitored, then Passive FTP will be used. In this way all flow of data is initiated
by the You've Got Files! FTP client rather than an external FTP server program. Customers
using Passive FTP will know that all data flow initiation comes from inside their network
rather than from the outside. Note: not all FTP servers support Passive FTP.
• Monitoring An SFTP Server
It is possible to monitor SFTP servers that accept Keyboard-interactive authentication via password with SSH-2.
Public Key and SSH-1 methods.
Unicode/UTF-8 names are supported when monitoring VanDyke's VShell SFTP server (www.vandyke.com).
Ygf*Dir=sftp://username@secure.widgetworld.com
Ygf*FtpPassword=password
When monitoring an SFTP server, the Dir entry should begin with the seven
characters sftp:// followed by the username whose account you wish to log
into, followed by the @ sign, followed by the SFTP server name. The FtpPassword
entry will be used and will be encrypted in the configuration file once the program has been run
once, thereby maintaining security of passwords. Do not hand modify this string
once it has been encrypted. If you ever need to change the password, enter it
again (overwriting the old encrypted value, including all characters after the
'=' sign) and it will be encrypted again in the configuration file. The
following entry shows what an encrypted password in the configuration file
might look like:
Ygf*FtpPassword=ENC!6CD5772453FB9790
The FtpPassword line should not exist or be left blank if you are not monitoring an FTP or an SFTP
server.
SFTP servers normally listen on port 22 for incoming connections. If your SFTP server
is listening on a different port, you may configure the SftpPort parameter:
Ygf*SftpPort=1246
Common errors in runlog.txt you may see when attempting connections to an SFTP server:
Tue Sep 25 16:17:24 2007 Ygf1Dir SFTP server=192.168.1.176:22 user=jake
Network error: Connection timed out
ssh_init: error during SSH connection setup -10060
Possible cause: SFTP server is not running, or incorrect server address.
Tue Sep 25 16:32:23 2007 Ygf1Dir SFTP server=192.168.1.176:22 user=jake
Access denied
Disconnected: Unable to authenticate
ssh_init: error during SSH connection setup -1
Possible cause: Bad password.
• SFTP Server Authentication
ADD_KEY_REQUEST: SFTP servers usually require a one-time response from the user in order to proceed with authentication. The following shows the sequence of events that can occur. An attempt by You've Got Files! to login and authenticate with your SFTP server will generate an email similar to the following:
From: CharlieBrown@widgetworld.com
Date: Tuesday, September 25, 2007 12:25 PM
To: JakeRogers@widgetworld.com
Subject: You've Got Files! SECURITY MESSAGE
ADD_KEY_REQUEST for Ygf1Dir
Please see the You've Got Files! runlog.txt file for specific information.
A message similar to the following will be found in the runlog.txt file:
Tue Sep 25 12:25:39 2007 Ygf1Dir SFTP server=192.168.1.176:22 user=jake
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 1024 5d:68:a3:bc:e4:3f:1c:b4:2c:b2:1d:9a:f9:09:72:a0
### IMPORTANT NOTE ###
If you trust this server, enter Ygf1SftpAddKeyToRegistry=1 to your ygfconf.txt file.
### ############## ###
Connection abandoned.
Disconnected: User aborted at host key verification
ssh_init: error during SSH connection setup -1
Adding Ygf1SftpAddKeyToRegistry=1 to the ygfconf.txt file and restarting You've Got Files!
will cause the program to allow this authentication to complete. This operation will add the proper key to the
registry (found in HKEY_CURRENT_USER\Software\NiwotNetworks\PuTTY\SshHostKeys or HKEY_USERS\.DEFAULT\Software\NiwotNetworks\PuTTY\SshHostKeys). You've Got Files! will automatically reset the entry in the ygfconf.txt file to Ygf1SftpAddKeyToRegistry=0 after adding the registry key. No email message will be sent, though a message similar to the following will be found
in the runlog.txt file:
Tue Sep 25 12:44:23 2007 Ygf1Dir SFTP server=192.168.1.176:22 user=jake
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 1024 5d:68:a3:bc:e4:3f:1c:b4:2c:b2:1d:9a:f9:09:72:a0
### IMPORTANT NOTE ###
You had Ygf1SftpAddKeyToRegistry=1 in your ygfconf.txt file, so we will proceed.
### ############## ###
UPDATE_KEY_REQUEST: If certain changes occur within the environment of your SFTP server, like the server
administrator changing the host key, then an email like the following will be sent:
From: CharlieBrown@widgetworld.com
Date: Tuesday, September 25, 2007 1:48 PM
To: JakeRogers@widgetworld.com
Subject: You've Got Files! SECURITY MESSAGE
UPDATE_KEY_REQUEST for Ygf1Dir
Please see the You've Got Files! runlog.txt file for specific information.
A message similar to the following will be found in the runlog.txt file:
Tue Sep 25 13:48:49 2007 Ygf1Dir SFTP server=192.168.1.176:22 user=jake
WARNING - POTENTIAL SECURITY BREACH!
The server's host key does not match the one PuTTY has
cached in the registry. This means that either the
server administrator has changed the host key, or you
have actually connected to another computer pretending
to be the server.
The new rsa2 key fingerprint is:
ssh-rsa 1024 49:3f:60:9b:4d:e9:f7:a2:74:d7:d9:99:73:cf:34:29
### IMPORTANT NOTE ###
If you were expecting this change and trust the new key,
enter Ygf1SftpAddKeyToRegistry=-1 in your ygfconf.txt file.
### ############## ###
Connection abandoned.
Disconnected: User aborted at host key verification
ssh_init: error during SSH connection setup -1
Adding Ygf1SftpAddKeyToRegistry=-1 to the ygfconf.txt file and restarting You've Got Files!
will cause the program to allow this authentication to complete. This operation will update the proper key in the
registry (found in HKEY_CURRENT_USER\Software\NiwotNetworks\PuTTY\SshHostKeys or HKEY_USERS\.DEFAULT\Software\NiwotNetworks\PuTTY\SshHostKeys). You've Got Files! will automatically reset the entry in the ygfconf.txt file to Ygf1SftpAddKeyToRegistry=0 after updating the registry key. No email message will be sent, though a message similar to the following will be found
in the runlog.txt file:
Tue Sep 25 14:29:13 2007 Ygf1Dir SFTP server=192.168.1.176:22 user=jake
WARNING - POTENTIAL SECURITY BREACH!
The server's host key does not match the one PuTTY has
cached in the registry. This means that either the
server administrator has changed the host key, or you
have actually connected to another computer pretending
to be the server.
The new rsa2 key fingerprint is:
ssh-rsa 1024 49:3f:60:9b:4d:e9:f7:a2:74:d7:d9:99:73:cf:34:29
### IMPORTANT NOTE ###
You had Ygf1SftpAddKeyToRegistry=-1 in your ygfconf.txt file, so we will proceed.
### ############## ###
• Monitoring Multiple Directories
In order to handle the scanning of more than one directory/email list, you may
specify additional YgfxxDir/YgfxxEmail pairs by using the next
numbered pair of entries, as follows:
Ygf2Dir=D:\NewWidgets
Ygf2Email=johnbrown@speedy.com
• Ignoring Zero Length Files
Some systems report files that are being uploaded as having zero length until
the file has been completely received. You've Got Files! will not send
notification regarding any zero length files if you enable the following in the ygfconf.txt
configuration file:
IgnoreZeroLengthFiles=1
Please note that this entry is system-wide and applies to all directories being
scanned. The default setting for this entry is blank or 0 [zero], which would
send notification of zero length files.
• Mail Multiple Lines Per File
The default email format now has a single line per file Added, Changed, Deleted, or Detected as Old
If you'd like to return to the old 3-lines-per-file format set this parameter in the ygfconf.txt
configuration file:
MailMultipleLinesPerFile=1
Please note that this entry is system-wide and applies to all emails generated.
scanned. The default setting for this entry is blank or 0 [zero].
• Startup Delay
When system reboots occur in particular environments, it may be desirable to
wait for some length of time for all network systems to stabilize. If you wish
to have a startup delay take affect when You've Got Files! begins
execution, you may enable the following in the ygfconf.txt configuration
file:
StartupDelayInMinutes=2
This would cause a 2 minute delay before any directory scanning when You've Got
Files! starts. The default setting for this entry is blank or 0 [zero],
corresponding with no startup delay.
• Example Configuration
Here is an example of a correctly configured ygfconf.txt file, with varying complexity and use of features:
ScanIntervalInMinutes=5
SmtpServerName=mail.widgetworld.com
SerialNumber=NIWOTDEMO
FromEmailAddress=bobsmith@widgetworld.com
IgnoreZeroLengthFiles=
StartupDelayInMinutes=
#
### Scanning one directory, a minimal configuration
Ygf1Alias=
Ygf1Dir=C:\incoming
Ygf1Email=bobsmith@widgetworld.com
Ygf1EmailFooterFile=C:\Program Files\Niwot\You've Got Files!\footers\bobsmith.txt
Ygf1EmailHeaderFile=C:\Program Files\Niwot\You've Got Files!\headers\bobsmith.txt
Ygf1ExcludeFilesNamed=
Ygf1IncludeFilesNamed=*.doc|*.pdf
Ygf1ExcludeFoldersNamed=temp|tmp
Ygf1FtpPassword=
Ygf1LaunchApplication=
Ygf1NoSubfolders=
Ygf1Subject=Bob Smith file notification - $count new files
Ygf1WaitBeforeSendingNextEmailInMinutes=5
#
### Scanning a second directory, more complicated configuration
Ygf2Alias=http://www.widgetworld.com
Ygf2AliasExclude=htmldocs/
Ygf2Dir=E:\webroot
Ygf2Email=webusers@widgetworld.com
Ygf2EmailPriority=2
Ygf2HtmlFormatEmail=1
Ygf2EmailFooterFile=E:\webusers\footer.txt
Ygf2EmailHeaderFile=E:\webusers\header.txt
Ygf2ExcludeFilesNamed=A*.*|B*.*|C*.*
Ygf2IncludeFilesNamed=R*.wav|K*.wmv
Ygf2ExcludeFoldersNamed=*/archive/*
Ygf2FtpPassword=
Ygf2LaunchApplication=
Ygf2NoSubfolders=1
Ygf2Subject=
Ygf2WaitBeforeSendingNextEmailInMinutes=15
#
### Scanning an FTP server and launching an application
### Don't notify/launch application if file is changed
Ygf3Alias=
Ygf3Dir=ftp://harryj@ftp.widgetworld.com
Ygf3Email=support@widgetworld.com, hjohnson@widgetworld.com
Ygf3EmailFooterFile=
Ygf3EmailHeaderFile=
Ygf3ExcludeFilesNamed=
Ygf3IncludeFilesNamed=
Ygf3FtpPassword=password
Ygf3DontNotifyOnChange=1
Ygf3LaunchApplication=SendTheFile.bat $file >> SendTheFilelog.txt
Ygf3NoSubfolders=
Ygf3Subject=$count New File(s) for harryj
Ygf3WaitBeforeSendingNextEmailInMinutes=30
#
### Uses UNC path
### This one sends notifications for stale incoming files using OldFileDetectInMinutes
Ygf4Alias=
Ygf4Dir=\\jackson\sales\incoming
Ygf4Email=support@widgetworld.com, hjohnson@widgetworld.com
Ygf4OldFileDetectInMinutes=240
Ygf4EmailFooterFile=This is Direct Footer Text - not from a file
Ygf4EmailHeaderFile=This is Direct Header Text - not from a file
Ygf4ExcludeFilesNamed=
Ygf4IncludeFilesNamed=
Ygf4FtpPassword=
Ygf4LaunchApplication=
Ygf4NoSubfolders=
Ygf4Subject=$count Stale File(s): $file
Ygf4WaitBeforeSendingNextEmailInMinutes=60
Alphabetic list of ygfconf.txt entries:
| ENTRY (case sensitive) |
DEFAULT |
| Debug= |
Default blank interpreted as 0 (Global) |
| DirAccessTimeInSeconds= |
Default 10, Do not enter this parameter. (Global) |
| FromEmailAddress= |
Required (Global) |
| FtpWatchdogTimeoutInSeconds= |
Default 30, Modify if you have a very slow FTP server (Global) |
| IgnoreZeroLengthFiles= |
Default blank interpreted as 0 (Global) |
| MailMultipleLinesPerFile= |
Default blank interpreted as a 0(Global) |
| MailPassword= |
Default blank, needed for AUTH or P3B4SMTP (Global) |
| MailUserName= |
Default blank, needed for AUTH or P3B4SMTP (Global) |
| Pop3ServerName= |
Default blank, needed for P3B4SMTP (Global) |
| ScanIntervalInMinutes= |
Default 1 so Demo users will get quick notifications.(Global) |
| SerialNumber= |
Default NIWOTDEMO expires. (Global) |
| SmtpPort= |
Default is 25 (Global) |
| SmtpServerName= |
Required (Global) |
| StartupDelayInMinutes= |
Default blank interpreted as 0 (Global) |
| Ygf*Alias= |
Default blank |
| Ygf*AliasExclude= |
Default blank |
| Ygf*BccEmail= |
Default blank, Corporate version can send to a BCC list |
| Ygf*CcEmail= |
Default blank, send email to a CC list |
| Ygf*Dir= |
Required |
| Ygf*DontNotifyOnAdd= |
Default blank interpreted as 0 |
| Ygf*DontNotifyOnChange= |
Default blank interpreted as 0 |
| Ygf*DontNotifyOnTimeChange= |
Default blank interpreted as 0 |
| Ygf*Email= |
Each monitored directory needs this or LaunchApplication |
| Ygf*EmailFooterFile= |
Default blank (Basic and Professional always have "You've Got Files! http://www.niwotnetworks.com as last line") |
| Ygf*EmailHeaderFile= |
Default blank |
| Ygf*EmailPriority= |
Default blank is a 1 (normal) |
| Ygf*ExcludeFilesNamed= |
Default blank |
| Ygf*ExcludeFoldersNamed= |
Default blank |
| Ygf*FromEmailAddress= |
Default is the global FromEmailAddress |
| Ygf*FtpDontUseCDUP= |
Default blank interpreted as 0 |
| Ygf*FtpDoubleLogin= |
Default blank interpreted as 0 |
| Ygf*FtpPassword= |
Default blank, required if Ygf*Dir=ftp:// or Ygf*Dir=sftp:// |
| Ygf*FtpPasv= |
Default blank, if set to 1 then Ftp Client uses Passive FTP |
| Ygf*FtpPort= |
Default blank, only required if FTP server listening on non-standard port (standard is port 21) |
| Ygf*HtmlFormatEmail= |
Default blank interpreted as 0 |
| Ygf*IncludeFilesNamed= |
Default blank |
| Ygf*IncludeFoldersNamed= |
Default blank |
| Ygf*LaunchApplication= |
Default blank |
| Ygf*MailPassword= |
Default is the global MailPassword |
| Ygf*MailUserName= |
Default is the global MailUserName |
| Ygf*NetworkSolutionsFtpServer= |
Default 0, 1 ignores empty site scans. |
| Ygf*NoSubfolders= |
Default blank interpreted as 0 |
| Ygf*NotifyOnDelete= |
Default blank interpreted as 0 |
| Ygf*NotifyOnFolderAdd= |
Default blank interpreted as 0 |
| Ygf*OldFileDetectInMinutes= |
Default 0 Corporate version can detect old files |
| Ygf*OldFirstLevelFolderDetectInMinutes= |
Default 0 Corporate version can detect old first level folders |
| Ygf*Pop3ServerName= |
Default is the global Pop3ServerName |
| Ygf*RetrieveInfo= |
Default blank, Corporate may specify WhoDunIt $file to retrieve audit info |
| Ygf*ScanIntervalInMinutes= |
Default blank, specify value to override Global ScanIntervalInMinutes |
| Ygf*SftpAddKeyToRegistry= |
Default blank |
| Ygf*SftpPort= |
Default (blank) is port 22, use this to specify a custom port |
| Ygf*SmtpPort= |
Default is the global SmtpPort |
| Ygf*SmtpServerName= |
Default is the global SmtpServerName |
| Ygf*SpawnAppNoWait= |
Default blank |
| Ygf*StalenessDetectInMinutes= |
Default 0 Corporate version can detect stale files |
| Ygf*Subject= |
Default blank (Subject will be "You've Got $count File") |
| Ygf*WaitBeforeSendingNextEmailInMinutes= |
Default is ScanIntervalInMinutes |
| Ygf*WhoDunItObjectEnable= |
Default 0, Corporate can call WhoDunItObjectEnable for the object. |
The You've Got Files! configuration GUI
YgfGUI.exe allows the user to convert the "ygfconf.txt" configuration
file into a CSV (comma separated values) file which can be easily edited in a
spreadsheet program like Microsoft Excel™. After editing is complete, the
user may convert the CSV file back into the "ygfconf.txt" format.
When YgfGUI.exe is first started, the user will be prompted to browse for
the "ygfconf.txt" file to be opened. Upon opening and verifying the configuration
file, the corresponding CSV file will be created. The user will see a dialog box
like the following:

The dialog box shows the name of the CSV file, the column names within the CSV file,
and the indexed entries found in the CSV file which correspond to the "ygfconf.txt" data.
The global fields at the top of the "ygfconf.txt" file are not included in the CSV file.
Dialog buttons:
• Launch Excel - Click this button to launch Excel with the current CSV file.
NOTE: Do NOT edit the COMMENTS column of the CSV file when you are in Excel. If the format
of the COMMENTS are changed, there is a good possibility for error when bringing the CSV file
back to the "ygfconf.txt" configuration file. Please edit comments in "ygfconf.txt" before
and after using YgfGUI.exe
NOTE: Do NOT change any "_HTML_" or "_html_" strings, they MUST be stored within the CSV
file that way. They will be restored when converted from CSV to "ygfconf.txt".
• Close - Click this button to close the dialog box. If changes have been made
to the CSV file, a dialog box like the following will be displayed:

• If the user clicks on "Yes" to save the changes in the CSV file back to "ygfconf.txt",
then the program will create backup copies of the files changed before saving "ygfconf.txt".
A dialog box like the following will alert the user of the file(s) effected:

• If the user clicks on "No" to NOT save the changes in the CSV file back to "ygfconf.txt",
then the program will only create a backup copy of the CSV file changed. A dialog
box like the following will alert the user of the file effected:

Note the format of the backup filenames where a name like "ygfconf.20071019_152915.csv"
represents a timestamp of the backup. The format follows the convention:
YEAR MONTH DAY (underscore character) HOURS MINUTES SECONDS
The HOURS field is represented in 24-hr time, so the file "ygfconf.20071019_152915.csv" is a
backup created on 2007 October 19, at 3PM (1500 hrs), 29 minutes and 15 seconds.
• If the user changes the "ygfconf.txt" or CSV file when YgfGUI.exe is not running:
When the program starts up again, it will detect that there are differences between the two
files and the following dialog box will be displayed:

• If the user clicks on "No" to NOT use the current CSV file, then the
program will create a backup copy of that CSV file before creating a new CSV file
from "ygfconf.txt". A dialog box like the following will alert the user of the file effected:

Running The Program
You've Got Files! runs as a Windows service. This means it runs
unattended, whether or not any user is physically working with the computer on
which it is running. It runs as a "background process" and as such has
absolutely no user interface.
Services can be remotely administered. Windows offers a number of
administrative tools that allow a service to be managed from other machines
connected on the network so that you don't have to physically check the
computer running the service. You are probably already familiar with the
Services Control Panel. This is the primary interface to start, stop and
administer You've Got Files!
• Starting/Stopping The Program
For Windows 2000:
1) From the Start menu, select Settings -> Control Panel. The following
Control Panel window will be shown:
2) Double-click on the Administrative Tools icon. The following Administrative
Tools window will be shown:
3) Double-click on the Services icon. The following Services window will be
shown. Scroll down to the bottom of the window and select the You've Got Files!
service in the list:
4) To start the service, click on the You've Got Files! line with the
right button of the mouse, and select Start from the popup menu that appears.
Once the service is started, the Services window will look like so:
To stop the service, click on the You've Got Files! line with the right
button of the mouse, and select Stop from the popup menu that appears.
• Schedule Starting and Stopping You've Got Files!
The ygf service may be started and stopped with the windows scheduler.
(these directions apply to Windows XP)
Start->Control Panel->Scheduled Tasks->File->New->Scheduled Task
You'll need to name the new task ("sched start ygf" is a suggestion)
Rightclick your new task->Properties
Run: net start ygf
Select when you want You've Got Files! to start,
you will be prompted with a username and password to use.
Similarly create a stop task ("sched stop ygf" is a suggestion)
Run: net stop ygf
Select when you want You've Got Files! to stop,
you will be prompted with a username and password to use.
Please set the ygf service (in Services) to "manual" so it will not start when the machine reboots.
• Monitoring Windows Computers On Your Network
You've Got Files! has the ability to monitor not only the file system of
the computer that it is running on, but also of other computers on your
network. In order for this to work correctly, the service must be given the
proper rights for your network to be able to log on as Administrator (or as
another user with similar privileges to read from the file systems of other
computers). All monitoring of Network-Mounted drives requires UNC paths. See
Monitoring A Network-Mounted drive
For Windows NT4:
1) From the Services window, double-click on the Startup button to bring up the
Service window:
2) Select 'This account' and enter Administrator and password. Confirm the
password and then click on 'OK'. The service will now be able to monitor the
file systems of other network computers.
For Windows 2000:
1) From the Services window, double-click on the You've Got Files! selection
to bring up the Properties window:
2) Click on the Log On tab:
3) Select 'This account' and enter Administrator and password. Confirm the
password and then click on 'OK'. The service will now be able to monitor the
file systems of other network computers.
• Monitoring Linux Computers On Your Network
First, run Samba (or its equivalent) on your Linux machine. With Samba, client
PCs running Windows NT4 or 2000 can access directories on the Linux machine
using the SMB protocol which is the underlying protocol for Windows file
sharing. You can verify whether Samba is already installed by running "rpm -q
samba" in a Linux terminal window.
Second, make sure the directories on the Linux machine will allow the
username/password you are using on the NT4 or 2000 machine to read the
directories on your Linux machine. Samba directories are specified in the
/etc/samba/smb.conf file.
Third, make sure you can read the directory on the Linux drive from your NT4 or
2000 command prompt. For example, suppose the Linux machine was named
"widget7", the mountable drive was also named "widget7", and the directory you
wanted to watch was "temp". In the ygfconf.txt file you would set:
Ygf*Dir=\\widget7\widget7\temp
You should be able to run "dir \\widget7\widget7\temp" from the command prompt.
You might also mount \\widget7\widget7 as "L:" and test with Ygf*Dir=L:\temp.
That should work as well.
Fourth, go to the services applet and set the "LogOn As" to the account and
password that works to accessthe Linuxmachine.In NT4 this is
Settings->Control Panel->Services->You've Got Files!.In 2000this
isSettings->ControlPanel->Administrative Tools->Services->You've
GotFiles->Log On Tab.
Fifth, stop the service and restart the service so it will use your new log on.
You can verify that You've Got Files! is examining the directory by
double-clicking on the scandir1.txt file and viewing the directory contents.
See Monitoring A Network-Mounted drive
Program Log Files
You've Got Files! creates log files as it runs, in order to have a
record of when it was active and what emails have been sent. The log files also
record any errors that may occur. All log files will be found in the directory
where You've Got Files! was installed. As the log files grow in size,
they are archived and will eventually be deleted from the file system.
• The Run Log
The log file runlog.txt records information about the execution of the
program and any errors that may occur. If the program was run for a period of
time and no problems were encountered, this would be the typical output to this
log file:
>>> Starting: You've Got Files -- version 2.201 [pid=155]
Time: Thu Sep 18 12:46:00 2002
Exiting: You've Got Files -- version 2.201 [pid=155]
<<< Time: Thu Sep 18 13:55:20 2002
• Errors Found In The Run Log
DEMO Expired, version 2.201 Niwot Networks 303-772-8664
This error will appear after the 30 day demo period has expired. Contact Niwot
Networks for a valid Serial Number to continue using the program.
ERROR: unable to connect to remote host: yoursmtpserver.com
This error will occur if unable to connect to your SMTP server. The most common
reason for this error is a bad or misspelled server name. Check the
SmtpServerName entry in the ygfconf.txt file. Click
here for an explanation of this entry.
ERROR: missing SmtpServerName in ygfconf.txt
This error will occur if the SmtpServerName entry is not defined in the ygfconf.txt
file. Click here for an explanation of this
entry.
ERROR: missing FromEmailAddress in ygfconf.txt
This error will occur if the FromEmailAddress entry is not defined in the ygfconf.txt
file. Click here for an explanation of this
entry.
ERROR: missing directory specification for Ygf*Dir entry in ygfconf.txt
This error will occur if a directory specification is not defined in the ygfconf.txt
file. Click here for an explanation of this entry.
ERROR: missing email addresses/launch application for Ygf*Email entries in
ygfconf.txt
This error will occur if both email address and launch application
specifications are not defined in the ygfconf.txt file.
Click here for an explanation of this entry.
ERROR: missing directory list in ygfconf.txt
This error will occur if Ygf*Dir and Ygf*Email entries are missing entirely
from the ygfconf.txt file. Click here for an
explanation of these entries.
• The Send Log
The log file sendlog.txt records the email messages that have been sent
by the program. An example of typical output to this log file:
From: bobsmith@widgetworld.com
To: bobsmith@widgetworld.com
Subject: You've Got 1 File
Date: Fri, 5 Apr 2002 10:44:00 -0700
Added C:\Incoming\WidgetSales.doc
11/02/01 02:12p 19,822 bytes
• The FTP Log
The log file ftplog.txt records any errors that may have occurred during
scanning of an FTP server. These errors may also be written to the runlog.txt
file. Following is an example of an FTP error that might be written to these
files:
FTP ERROR: 530 User johns cannot log in.
• Undeliverable Mail
During the course of running You've Got Files!, it is entirely possible
for the SMTP server you are using to be unavailable for mail delivery due to
any number of reasons, like network outage, maintenance, etc. What happens to
undeliverable mail during these times?
You've Got Files! will keep track of all undeliverable mail (for 3 days)
and resend it later when your SMTP server becomes available again. The messages
that will queue up to be resent later can be found in the directory where You've
Got Files! was installed. These message files will be named
sequentially as follows: "msg1.txt", "msg2.txt", etc. The files will be removed
once they have been successfully sent. Notice that the Date: field reported in
the email will be accurate in regards to when the program originally found the
new/changed file, which may be different from when it was able to send the
email if delayed.
NiwotFtpTool
Adding Ygf*LaunchApplication=NiwotFTPGetTheFile.bat $file >>NiwotFTPGetTheFileLog.txt
will launch the sample batch file to invoke NiwotFTPtool
and retrieve the newly arrived file from ftp site ftp.yourdomain.com
using username "username" and password "password"
The example command line is :
ftp://username:password@ftp.yourdomain.com -sub %1 -log
Use the batch file as a template to move your ftp files.
There is also a sample NiwotFTPGetDelTheFile.bat that deletes the file after successfully downloading it.
The example batch file is :
REM Updated to pass file length to version 1.006 of NiwotFTPtool
REM ygfconf.txt Launch entry looks like:
REM Ygf1LaunchApplication=NiwotFTPGetDelTheFile.bat $file $length >>NiwotFTPGetDelTheFileLog.txt
mkdir getfolder
echo %1 %2
NiwotFTPtool ftp://username:password@ftp.yourdomain.com -sub %1 -len %2 -get .\getfolder -del -log
NIWOT NETWORKS, INC. NiwotFTPtool Ver 2.0.0.2
Copyright 2004-2007 All Rights Reserved
Usage: NiwotFTPtool ftpspec [options]
ftpspec ftp://[username[:password]@]urlroot[/subdir/][filespec]
-sub [/subdir/][filespec] if using -get Alternate location for the ftp subdir
and filespec
if using -put then this is fulllocalpathname
-len length of file in decimal (need this parameter to be zero to delete a
zero-length file after getting)
-get [localfoldername] Retrieve a file into the working directory or
localfoldername if specified
-put if not using -sub, fulllocalpathname to be uploaded to the FTP site
if using -sub then this is the rootlocalpathname, the root of the local
path being scanned by You've Got Files!
-del with -get, Deletes the source file after verifying that a file with the
desired name and size exists at the destination and was modified within the last 10 minutes.
If you are getting to a UNC drive the time on the computer hosting the UNC drive must be within 5 minutes
of the time on the machine on which You've Got Files! is running.
-del is not recommended with -put, because it deletes the source file WITHOUT verifying
that a file with the desired name and size exists at the destination.
-exist returns 0 if the specified file has size >0,
returns 6 if size zero,
returns 7 if it doesn't exist
-log Outputs NiwotFTPtoollog.txt and any scripts used
You've Got Files! must be running for NiwotFTPtool to run
Return 0 if a file was moved or -exist and non-zero length file found
Return 1 if Command Line error
Return 2 if couldn't get current working directory
Return 3 if problem building Put, Get, or Delete script
Return 4 if problem renaming or deleting
Return 5 if You've Got Files! is not running
Return 6 if -exist specified, file exists with length zero
Return 7 if -exist specified, file does not exist
GET EXAMPLE: NiwotFTPtool ftp://username:password@ftp.yourdomain.com -sub /test/download.txt -get c:\getfolder
GET DEL UNC EXAMPLE: NiwotFTPtool ftp://username:password@ftp.yourdomain.com/test -sub download.txt -get \\servername\sharename\getfolder -del
PUT UNC EXAMPLE: NiwotFTPtool ftp://username:password@ftp.yourdomain.com -put \\servername\sharename\folder -sub \\servername\sharename\folder\test\upload.txt
PUT C: EXAMPLE: NiwotFTPtool ftp://username:password@ftp.yourdomain.com -put c:\folder -sub c:\folder\test\upload.txt
WhoDunIt Interface Support
WhoDunIt is a program suite purchased separately that may be driven by Demo and Corporate You've Got Files! licenses. With WhoDunIt installed, if the monitored location is on an NTFS local or UNC-accessible drive, the notification email may be set to include additional audit information on who was responsible for adding/changing/deleting your files and/or folders.
In order for You've Got Files! to drive WhoDunIt, WhoDunIt must be installed on the same machine as You've Got Files! and the program WhoDunItHostEnable must be successfully run once(Administrator required) directly on any machine that you wish to audit. Please see the WhoDunIt User Manual for instructions. Additionally, the ygf service must be logged in with sufficient priveleges to enable auditing on the monitored objects and to access the Security Log on the monitored machine.
There are 2 additional ygfconf.txt entries supported that may be added to a You've Got Files! configuration block to enable You've Got Files! to use WhoDunIt. In the following example, we are adding WhoDunIt functionality to the Ygf1 entries in the ygfconf.txt configuration file:
Ygf1WhoDunItObjectEnable=1
Ygf1RetrieveInfo=WhoDunIt $file
Ygf1WhoDunItObjectEnable=1 causes You've Got Files! to call WhoDunItObjectEnable to enable auditing of the objects monitored in the Ygf1Dir specification.
Ygf1RetrieveInfo=WhoDunIt $file causes You've Got Files! to pass the notification object spec to WhoDunIt.exe and retrieve the returned information from the Security Log and include it in the notification email.
For the example of monitoring Deleted Files/Folders (but not Added or Changed):
Ygf1NotifyOnDelete=1
Ygf1DontNotifyOnChange=1
Ygf1DontNotifyOnAdd =1
An example email message containing WhoDunIt information might look something like:
Deleted: \\niwotd\ftp root\Robert\YgfExample.doc (time in UTC: 06/05/2007 10:31p) 164,576 bytes
Most Recent entry in Event log that has that file/folder: Thu Jun 07 10:17:47 2007 (local time on \\niwotd)
Object Name: F:\ftp root\Robert\YgfExample.doc
Primary User Name: NIWOTD$ Primary Domain: NIWOT_GROUP
Client User Name: Robert Client Domain: NIWOTD
Accesses: DELETE; ReadAttributes
A more verbose and detailed listing of all audit information may be obtained by adding -all to the RetrieveInfo specification in the following manner:
Ygf1RetrieveInfo=WhoDunIt $file -all
An example email message containing verbose WhoDunIt information might look something like:
Added: \\192.168.1.178\share\test\BIRD.WMF Thu Mar 31 00:00:00 1994 2,014 bytes
Thu Jun 07 10:36:19 2007 (local time on \\192.168.1.178)
Object Open:
Object Server: Security
Object Type: File
Object Name: C:\share\test\BIRD.WMF
Handle ID: 3732
Operation ID: {0,85672948}
Process ID: 1176
Image File Name: C:\WINDOWS\explorer.exe
Primary User Name: niwot
Primary Domain: NIWOT2
Primary Logon ID: (0x0,0xDE8A)
Client User Name: -
Client Domain: -
Client Logon ID: -
Accesses: DELETE
READ_CONTROL
SYNCHRONIZE
WriteData (or AddFile)
AppendData (or AddSubdirectory or CreatePipeInstance)
WriteEA
ReadAttributes
WriteAttributes
Privileges: -
Restricted Sid Count: 0
Thu Jun 07 10:36:19 2007 (local time on \\192.168.1.178)
Object Access Attempt:
Object Server: Security
Handle ID: 3732
Object Type: File
Process ID: 1176
Image File Name: C:\WINDOWS\explorer.exe
Accesses: WriteData (or AddFile)
Thu Jun 07 10:36:19 2007 (local time on \\192.168.1.178)
Handle Closed:
Object Server: Security
Handle ID: 3732
Process ID: 1176
Image File Name: C:\WINDOWS\explorer.exe
Uninstalling You've Got Files!
Please stop the "ygf" service before uninstalling You've
Got Files!
You may uninstall You've Got Files! in one of two ways:
1. From the Control Panel, run "Add/Remove Programs" and select You've
Got Files! from the bottom of the list to remove.
OR
2. From Start -> Programs -> Niwot -> Uninstall You've Got
Files!
Change Notes
Version 3.016 changes since version 3.009:
1. Custom SMTP Port supported with SmtpPort=(Global) and Ygf*SmtpPort=(directory specific) feature.
2. You've Got Files! operation is suspended if available disk space in the installation directory falls below 30 million bytes.
3. You've Got Files! logging of insufficient disk space is suspended if available disk space in the installation directory falls below 6 million bytes.
4. ApplicationLogEvent.exe version 1.001 added to installation directory to support Application Event Log of insufficient disk space.
5. YgfGUI version 1.004 handles trailing spaces in ygfconf.txt and browses when you want to browse.
6. WhoDunIt Object Enable sets DELETE and FILE_DELETE_CHILD audit flags for directories with NotifyOnDelete or NotifyOnFolderDelete specified.
7. psftp.dll version 0.6.Niwot.1 supports VanDyke's VShell SFTP server and unicode file names.
8. SFTP interface supports file names over 128 bytes long and SftpAddKeyToRegistry settings over a service restart.
9. SFTP interface supports "Permission Denied" subdirectories.
10. Resent emails no longer contain the header of the email in the body.
11. Ygf*WaitBeforeSendingNextEmailInMinutes is no longer written as a default ygfconf.txt entry.
Version 3.009 changes since version 3.007:
1. CC: email address support with Ygf*CcEmail=
2. PASV mode to monitor FTP sites supported with Ygf*FtpPasv=1
3. Timeout before abort while waiting for Linefeed after an FTP LIST command increased from 1 second to 10 seconds.
4. Timeout before abort while waiting for a response to an FTP command increased from 15 to 30 seconds.
5. Case of characters in Ygf*Alias= specification now preserved.
6. "$path" in the Ygf*Subject= specification will be replaced with the path(Windows) or subpath(FTP sites).
7. YgfGUI version 1.003 allows new text placed into the comment field in the ygfconf.csv file to be preserved
when the ygfconf.csv file is translated to a ygfconf.txt file.
Version 3.007 changes since version 3.006:
1. Demo version maximum number of configuration entries updated from 2 to 5.
2. Configuration file after installation now contains 2 entries. The new second entry is an example that accesses an FTP site.
3. YgfGUI.exe v1.002 now correctly handles configuration files with no comments and MFC71.dll is included.
4. Installer no longer creates Niwot program startup link to "YgfGUI Configuration Program".
Version 3.006 changes since version 3.005:
1. YgfGUI.exe configuration program translates "HTML" in ygfconf.txt
to/from "_HTML_" in ygfconf.csv file.
2. Installer creates "YgfGUI Configuration Program" link in Start menu on upgrade.
Version 3.005 changes since version 3.003:
1. Addition of YgfGUI.exe -- You've Got Files! configuration program. With this release
the YgfGUI is useful for translating the ygfconf.txt file to and from a csv format file.
2. Email Header/Footer file specification now accepts wildcards in the filename and UTF-8 files.
3. Last lines of ygfconf, header, and footer files no longer must end in a linefeed.
4. Experimental VisibleLaunch=1 global configuration option causes You've Got Files! to detect if it is running
in a visible window, and if it is running in a visible window to hide itself unless it is launching an application.
Version 3.003 changes since version 3.000:
1. Passwords correctly recoded when serial numbers change .
2. New expiring serial number selects Basic, Professional, Corporate products.
3. ygfconf.txt final line is now correctly parsed even if it does not end in "newline".
4. Support for multiple AUTH or POP3B4SMTP SMTP servers when specified on a per-directory basis.
Version 3.000 changes since version 2.429:
1. Support for communicating with UTF-8 compliant FTP servers.
2. Support for non-standard port usage for FTP (normal is port 21).
3. Support for communicating with SFTP servers (new psftp.dll module).
4. Support for UTF-8/Unicode for local/mounted file systems. (new niwotdir module).
5. Expiring serial number.
6. Version upgrade of ygfconf.txt does not add unnecessary entries.
7. Email notifications are now sent with "-charset utf-8".
8. YGF service can be turned off much faster now.
9. Attributes are included in local/mounted file system scans.
Version 2.429 changes since version 2.425:
1. Add support for WhoDunIt, and configuration entries Ygf*RetrieveInfo and Ygf*WhoDunItObjectEnable.
2. Handle directory specifications even if they have a trailing slash.
3. BccEmail no longer overwrites the regular email address in the msg*.txt file.
4. Alias specification of file:// treated the same as Alias specification of http:// or ftp://, so that an alias of file:// may result in a clickable link in email.
5. Generated HTML links longer than 60 characters are preserved if Ygf*HtmlFormatEmail=1.
6. Blat.dll version 2.502 fix for excessive cpu usage/runlog when attempt to access SMTP server returns Windows error code 10093 (WSANOTINITIALISED).
7. Ygf*SpawnAppNoWait will Spawn even if no parameters are being passed to the spawned app.
8. Demo expiration extended to 30 days.
Version 2.425 changes since version 2.421:
1. ScanIntervalInMinutes may now be specified uniquely for each folder monitored. Ygf*ScanIntervalInMinutes overrides the global ScanIntervalInMinutes.
2. Ygf*OldFirstLevelFolderDetectInMinutes feature in Corporate and Demo may be used to detect when all the files within a first level folder are older than the specified number of minutes.
3. Ygf*SpawnAppNoWait feature in Corporate and Demo may be used to spawn applications and not wait for their completion before resuming You've Got Files! processing.
4. NiwotFTPTool Version 2.0.0.2 adds -exist feature to allow detection of a files existence. This allows a scheduled batch file to generate a notification if a specified file does NOT exist on the FTP site.
Version 2.421 changes since version 2.418:
1. Added the ability ignore an empty FTP site scan with the Ygf*NetworkSolutionsFtpServer feature. (The Network Solutions server farm occasionally erroneously reports that the hosted site is empty.)
2. Error "Day Mon DD HH:MM:SS YYYY FTP ERROR[34]: No List Data Received" written in runlog.txt when Ygf*NetworkSolutionsFtpServer=1 and an empty site scan occurs.
3. Added the ability to ignore file modification time changes with the Ygf*DontNotifyOnTimeChange feature.
4. Made Ygf*IncludeFilesNamed and Ygf*ExcludeFilesNamed work correctly with Ygf*OldFileDetectInMinutes.
5. Added the ability to send HTML-formatted emails with the Ygf*HtmlFormatEmail feature.
6. ygfctrl version 2.421 recovers if ygf.exe was running when ygfctrl.exe thought it was not running (previously required the customer to manually stop the ygf process from the Task Manager).
7. ygfctrl version 2.421 recovers if ygf.exe was not running when ygfctrl.exe thought it was running.
8. NiwotFTPTool Version 2.001 allows Put and Put+Del from UNC drives as well as local drives.
If there is no -sub parameter, then the -put specification is used as a complete path to a local/UNC file and the file is placed into the root of the FTP login.
If there is both a -put and a -sub parameter then the -sub parameter is used as a complete path to a local/UNC file.
The -put is taken as the local monitored root, and the folder structure below that monitored root is replicated on the ftp site.
9. NiwotFTPTool Version 2.001 Allow Get and Get+Del to retrieve files to UNC paths as well as local drives.
10. Blat.dll Version 2.501 based on version 2.50 from blat.net.
11. Blat.dll Version 2.501 Niwot Networks change to not display passwords, quote the username if it has unusual characters, and translate %20 to space in username.
Version 2.418 changes since version 2.416:
1. Increased speed of directory comparison..by an order of magnitude when the directory listings to be compared are megabytes in size.
2. Reduced processor time consumption from 90 per cent to under 10 per cent when comparing directory listings that are megabytes in size.
3. Added the ability to notify on a new folder or new directory with the Ygf*NotifyOnFolderAdd feature.
4. Increased the time to wait for a response from the FTP server from 5 to 15 seconds to accomodate slow links with large delays.
5. Added a copy of the serial number to the YouveGotFiles registry entry so we can recode passwords correctly on upgrades and on the transition from an expired demo to a production serial number.
Version 2.416 changes since version 2.415:
1. Restored ability of Corporate to monitor more than 400 directories. This ability was lost in the 2.411 change.
Version 2.415 changes since version 2.414:
1. Correctly handle FTP site that fails to respond for 5 seconds after we CD to a directory. Previously this resulted in spurious notifications.
2. OldfileDetectInMinutes now handles the Unix FTP site default of not specifying the year of modification if the file was changed in the last six months.
NiwotFTPTool Version 1.006 changes since version 1.005:
1. Now accept as input the length of the file (added -len parameter). Can now perform a Get and a Delete of a zero-length file from an FTP site
Version 2.414 changes since version 2.412:
1. Correctly handle FTP site that gives us a -250 banner after we CD to a directory. Previously this resulted in spurious notifications.
2. Correctly set reenter if Watchdog occurs or bad reply occurs after we CD to a directory. Previously this resulted in spurious notifications.
Version 2.412 changes since version 2.411:
1. Changed notification on OldfileDetectInMinutes so only 1 notification
would arrive if the file was removed immediately after the first notification.
2. FTP client is now 5X faster.
3. FTP client spurious notification no longer occur when scanning a large local FTP site
at high speed.
4. FTP client now treats "500" response as retriable.
5. FTP client now correctly scans sites with sub-subdirectory names that match
the subdirectory of the original Ygf*Dir=ftp://username@ftp.sitename.com/subdirectory.
6. Installer stops the service (if it exists) before upgrading.
Version 2.411 changes since version 2.410:
1. Include/Exclude FileNames and FolderNames when performing OldFileDetect.
2. Handle Include/Exclude foldernames that include a "/" in the foldername.
3. Handled a case where a watchdog failure when accessing an FTP site results in spurious notifications.
4. Debug=16 Show Notification Triggers in notification.txt.
NiwotFTPTool Version 1.005 changes since version 1.003:
1. Overcame a problem with Windows FTP client not handling a space in a mget quoted spec correctly.
2. Wait for large files to complete.
Version 2.410 changes since version 2.409:
1. Eliminate trailing spaces in config values read from ygfconf.txt.
2. Quit printing internal Ftp Password in showconf.txt file.
3. Changed trailing cr-cr-lf "0D 0D 0A" to cr-lf "0D 0A" in FTP directory scan .
4. Debug=16 Show Notification Triggers in notification.txt.
5. Restored ability to not send a notification for a slowly
arriving file until the file is identical in the two latest scans.
If the user specifies DontNotifyOnChange then notification of a newly
arrived file will occur when it does not exist in the oldest scan and
does exist in the two latest scans, even if it is not identical in
the two latest scans.
6. Removed a case where a new empty directory would generate a notification.
Version 2.409 changes since version 2.408:
1. Updated WaitBeforeSendingNextEmailInMinutes when OldFileDetectInMinutes>0
and the SMTP server is not available.
2. utcdir version 1.005 adds TIME: local time offset from UTC in the scandir listing
for mounted drives and version 2.409 adds the TIME: local time offset from UTC in the
scandir listing for FTP-accessible drives.
3. utcdir version 1.005 also now reports multi-gigabyte file sizes.
4. Detects that local time has changed from when the scan was done and rescans.
This should eliminate one more cause of file change notifications due to time changes.
5. Corrected Parsing of email messages queued for re-sending, version 2.408 had the
subject lines of re-transmitted emails overwritten by the first body line.
6. Corrected handling of FTP directory entries when an intermediate Ygf* had been
commented out. This could cause a Dr. Watson crash on 2.408.
7. ScanIntervalInMinutes is back to having 60 seconds in a minute. It had been 10 seconds
in 2.408 for diagnostic purposes.
Version 2.408 changes since version 2.406:
1. Repaired memory leak in versions using Mail Passwords (since in Version 2.400)
2. Ygf*EmailPriority new feature. Default is 1, Set =0 for low priority, 2 for high priority.
3. Ygf*OldFileDetectInMinutes new feature. Default is 0, Set = 1440 minutes for a day, 525600 minutes for a year.
For Windows accessible files, the file time is compared to the current time.
For FTP-accessible files, the FTP time is compared to the local time.
Selecting this feature causes DontNotifyOnChange and DontNotifyOnAdd to default to 1
OldFileDetectInMinutes is available on Demo and Corporate versions.
4. NiwotFTPTool updated to version 1.003 to improve downloading and deletion of files from FTP sites
(especially in conjuction with OldFileDetectInMinutes).
5. MailMultipleLinesPerFile new feature(global). Default is 0, so the email will now be formatted with one line
per file added, changed,deleted, or detected as Old. Set =1 to return to the old 3-line-per-file format.
6. Improved reporting of file time on Added, changed, and detected as Old files. We are now using
the local time of the file as reported by ctime instead of retrieving file time from "Dir" output
7. Changed default on FTP client to move up a directory from "CWD .." to "CDUP"
which is standard and is the only one allowed by Communigate FTP server.
Added Ygf*FtpDontUseCDUP just in case this change needs to revert to "CWD .."
Version 2.406 changes since version 2.404:
1. FTP directory lines that start with " Volume in drive " no longer appear in
notification emails.
2. Fix Directory mismatch on scanning path whose specification did not end in
"\"
Version 2.404 changes since version 2.403:
1. The only changes to ygf.exe and ygfctrl.exe were to update the version
number to 2.404.
2. The previous InstallShield X installation inadvertently installed the
Install Shield Update Manager, that was unexpected.
If you would like to remove Install Shield's Update Manager from your computer
(Assuming the Update Manager is not being used by programs other
than You've Got Files!):
A partial uninstaller is available from Install Shield at:
http://saturn.installshield.com/isus/310/sdk/uninstallupdatemanager.exe
Additional information is at:
http://support.installshield.com/kb/view.asp?articleid=Q111106
After running the uninstaller and rebooting, you
may want to delete the folder:
C:\Program Files\Common Files\InstallShield\UpdateService and its contents.
Version 2.403 changes since version 2.401:
ygfctrl.exe is version 2.403
1. Added Ygf*StalenessDetectInMinutes so Corporate users can monitor workflow
folders and receive notifications of files that have remained in the folder for
too long. On startup of Corporate, if a staleness has been specified and the
current time minus the scandir*.txt time is less than staleness time, then the
first scan is delayed until the staleness detect time has been exceeded.
2. Added Ygf*BccEmail so Corporate users can also send notification to a BCC
list.
3. Added Ygf*IncludeFoldersNamed to enable users to monitor only folders that
have the named folders in their path.
4. Added FTP client support of ephemeral ports 32768 and higher.
5. Clear text passwords converted to encoded text sooner.
6. The directory comparison engine now checks if the specification of the
folder it is monitoring has changed between scans. If it is a different
directory, changes are ignored until after the new path has been scanned three
times.
7. Increased FTPAccept timeout from One second to 5 seconds and retried on FTP
ERROR[12]: Error, Accept on DataSock = -8 SOCKET_ERROR=-8
8. CrushFTP rejected "CWD ../" and "CWD ../.." so now we do "CWD .." over and
over.
9. CrushFTP occasionally loses the connection after we issue a "PORT" command.
We now recover from that.
10. ygfctrl.exe better handshake with ygf.exe when stopping the service.
11. Attempting to start the service without username/password sufficient to
write files in the Installation directory will now return Error 5 Access
Denied.
12. The You've Got Files! installer is now built using InstallShield X. When
installing over an earlier version, the user is prompted to first uninstall the
earlier version.
Version 2.401 changes since version 2.400:
ygfctrl.exe is version 2.401
1. ygfctrl cleans up old kill*.txt files.
2. msg*.txt files deleted after 3 days, From, To, Subject and Date
written to runlog.txt with "Unsent Email deleted after 3 days:"
3. Expiration email tried to use POP3B4SMTP when should have used AUTH
4. Upgrades no longer lose P3B4SMTP and AUTH settings from ygfconf.txt files.
5. ygfconf.txt entries that are default and not required are not written to
ygfconf.txt files.
6. If you are monitoring an FTP site and Ygf*FtpPassword= is blank, "ftp" will
be put in as the password.
7. NiwotFTPtool.exe version added to distribution, allows users
to retrieve newly-arrived files from an FTP site.
Version 2.400 changes since version 2.304:
ygfctrl.exe is still version 2.301
1. Added "AUTH" and "P3B4SMTP" authentication by way of the blat.dll
2. Added blat.dll version 2.2.2 modified by Niwot Networks to not print out
password in debug mode. Removed Niwot's email-sending software.
3. Changed handling of output showconf.txt in debug mode, so only the last
three parses of the ygfconf.txt are saved.
Version 2.304 changes since version 2.303:
ygfctrl.exe is still version 2.301
1. "\" at the end of Ygf*Dir=d:\ftp\ATTCreative\ or
Ygf*Dir=\\Niwotdell1\Temp\niwoth\ will no longer get [ _stat is unable to
obtain status info for this path ]
2. Fixed ygf.exe crash that could occur due to uninitialized smtpserver
variable introduced in version 2.300.
3. Improved Ygf*AliasExclude= , the string after exclusion is now correct.
Version 2.303 changes since version 2.301:
1. When parsing an FTP directory name from an FTP server that returns info in
MS-DOS
format we now space over 9 characters from "|DIR|" to find the directory name.
This gets rid
of extra leading spaces in reported directory names, and lets
ExcludeFoldersNamed work.
2. FTP username is now everything between "FTP://" and the rightmost"@" in the
Ygf*Dir= specifier. This allows support of usernames that contain the "@" sign
3. Alias modified to not insert %20 in place of spaces if the Alias
string does not begin with http://, ftp://, file://, or \\
(this item erroneously said "AliasExclude" in the first issue of this manual)
4. The change in 2.301 to the FTP format written to scandir*.txt resulted in
occasional spurious change notifications, that has been fixed.
5. Installer now adds icons to read Ygfuserman.htm and Uninstall You've Got
Files!
6. Installer now stops ygf service (if it is running), before installing new
files.
Version 2.301 changes since version 2.300:
1. Now generate email time stamp offset by calculating the difference between
localtime() and gmtime(). This will be more accurate than previous method.
2. ExcludeFoldersNamed now works at the first level when monitoring FTP sites.
3. ExcludeFoldersNamed now also works when NotifyOnDelete=1.
4. Improved handling of empty FTP directory.
5. Handle non-ftp directory specifications with and without an ending "\".
6. We now treat all FTP error code 550 "Action Not Taken" the same as error
code 553 "Permission Denied" since all the FTP servers we have encountered that
give us 550 codes are using them for access denied.
7. Remove leading and trailing spaces from include/exclude strings read in from
ygfconf.txt.
8. Clarify in manual that ExcludeFoldersNamed, IncludeFilesNamed, and
ExcludeFilesNamed are case insensitive.
9. Changed the format written to scandir*.txt when scanning FTP sites to make
it editable with notepad.
10. Ygfctrl.exe version 2.301 now handles the possibility that currpid.txt
could not be opened.
Version 2.300 changes since version 2.203:
1. Added YgfXSmtpServerName and YgfXFromEmailAddress to support multiple SMTP
servers.
2. Added YgfXFtpDoubleLogin to support FTP servers that require an anonymous
login before a regular login.
3. When the DontNotifyOnChange is selected and a file is both added and
changing it will be reported as added.
4. When the SmtpServerName, FromEmailAddress, or EmailAddress is blank then we
can still support Launch Application.
5. Added an error code to "cannot create socket" message when failed to send an
email.
6. This version can handle FTP servers that generate a 125 DATA_CONNECTION_OPEN
reply.
7. The EmailAddress field is limited to 511 bytes. The list of "To" email
addresses must fit within 511 bytes.
8. New ygfctrl.exe version 2.300 checks that the service is not already running
trying to rename the ygfactive.txt file which the running ygf.exe keeps open.
This allows You've Got Files! to once again run on Windows NT.
9. New utcdir version 1.004 may now scan drive letter volumes from their root
as well as UNC volumes from their root.
10. utcdir version 1.004 handles the case of a FAT32 mount returning a file
first or a single file in FindfirstFile.
11. utcdir version 1.004 recovers from strange windows handling of a quoted
incoming path where the last character in the path was a "\".
12. utcdir version 1.004 does not crash when the path length exceeds 255
characters.
13. utcdir version 1.004 limits the year to not exceed 9999 (Will this be a
Y10K bug?).
14. utcdir version 1.004 will show hidden folders and hidden folder contents
but not hidden files (more like Microsoft's dir).
The You've Got Files! License Agreement
NIWOT NETWORKS, INC.
ELECTRONIC END USER EXPIRING LICENSE AGREEMENT
FOR You've Got Files! (tm)
NOTICE TO USER:
THIS IS A CONTRACT. BY INSTALLING THIS SOFTWARE YOU ACCEPT ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT.
This Niwot Networks, Inc ("Niwot Networks") End User Expiring License Agreement accompanies the Niwot Networks You've Got Files! SOFTWARE PRODUCT, related explanatory materials and "online" or electronic documentation ("Software"). The term "SOFTWARE PRODUCT" also shall include any upgrades, modified versions or updates of the Software licensed to you by Niwot Networks.
The "SOFTWARE PRODUCT" is defined as the contents of this installation package with the exceptions of:
blat.dll (see www.blat.net)
psftp.dll (see http://www.chiark.greenend.org.uk/~sgtatham/putty/licence.html).
Contact Niwot Networks for the Niwot modified source code for these 2 programs.
The SOFTWARE PRODUCT is licensed, not sold. Please read this Agreement carefully. Do not use the Software if you do not accept this Agreement. At the end of the license term you agree to renew your license or refrain from using the software.
Upon your acceptance of this Agreement, Niwot Networks grants to you a non-exclusive and non-transferable license to use The Software, provided that you agree to the following:
1. Use of The Software. You may install the Software on a hard disk or other storage device; You may also store or install a copy of the SOFTWARE PRODUCT on a storage device, such as a network server, used only to install or run the SOFTWARE PRODUCT on your other computers over an internal network; however, you must acquire and dedicate a distinct license for each operating system instance using the SOFTWARE PRODUCT from the storage device. Any given license for the SOFTWARE PRODUCT may not be shared or used concurrently or otherwise on different computers or different operating systems within the same computer in a given organization.
Without prejudice to any other rights, Licensor may terminate this Agreement if Licensee breaches any of its terms and conditions and Licensee has failed to cure such breach within 15 days of receiving the written notice of such breach. Upon termination, Licensee shall destroy all copies of the SOFTWARE PRODUCT.
If you have not purchased You've Got Files! and been provided a production serial number for this copy of The Software then this is a demo license and is licensed for 30 days from first installation on a computer.
2. Copyright and Trademark Rights. The SOFTWARE PRODUCT is owned by Niwot Networks and its suppliers, and its structure, organization and code are the valuable trade secrets of Niwot Networks and its suppliers. The Software also is protected by United States Copyright Law and International Treaty provisions. Use of any trademark does not give you any rights of ownership in that trademark. Therefore, you must treat The Software product like any other copyrighted material. Except as stated above, this Agreement does not grant you any inte |