Innovative File Transfer and Management
_


 
 

You've Got Files! User Manual v2.415

Niwot Networks, Inc, 721 9th Ave., Longmont, CO 80501. (303) 772-8664

You've Got Files! Features Supported

Running The Program
    Starting/Stopping The Program
    Monitoring Windows Computers On Your Network
    Monitoring Linux Computers On Your Network

Configuring The Program

Reference list of ygfconf.txt entries

Troubleshooting You've Got Files!

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

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:

Feature   BASIC   Expiring DEMO   PROFESSIONAL     CORPORATE  
Maximum Quantity of
Directory Structures
Monitored
2 2 100 Unlimited
Monitor Directories
on Remotely Hosted
FTP Servers
Generate Email
To Multiple
Email Addresses
Authenticate using AUTH or
POP3 before SMTP, and
support Multiple SMTP servers
Supports
LaunchApplication
Feature
 
Configurable
Subject for
Email Messages
 
Old File and Staleness
detection for watched folders
   
Private Label and BCC
for Email Messages
     


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 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
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:
support@youvegotfiles.com

Priority will be given to customers who have purchased updates.


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.


    Minimum Required Configuration
    Multiple Email Addresses
    Spurious emails
    Example Configurations
    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 Multiple Directories
    Ignoring Zero Length Files
    Startup Delay

• Minimum Required Configuration

In order to correctly operate You've Got Files!, a minimum of the six following key/value pairs must be configured:

1) 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

2) 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=.

3) 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 15 day demo of the program:

SerialNumber=NIWOTDEMO

After the 15 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.

4) 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=.
5) & 6) 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 an FTP directory might look like: Ygf*Dir=ftp://username@ftp.widgetworld.com

Monitoring a network mounted directory might look like: Ygf*Dir=//servername/sharename/monitoredfoldername

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

• 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=

• 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=
You may override the default FromEmailAddress= with Ygf*FromEmailAddress=


• "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

For the Corporate version of You've Got Files!, all product branding is removed from email messages. Using header and footer files, the Corporate user may fully customize their email messages.

• 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 ScanIntervalInMinutes configuration entry should be the shortest time value of all, in order for your file system to be scanned frequently. Something like this would be correct:

ScanIntervalInMinutes=5
# The RegularDirectory is scanned every 5 minutes
Ygf*Dir=C:\RegularDirectory
Ygf*WaitBeforeSendingNextEmailInMinutes=5
# The HighVolumeDirectory is scanned every 3 hours
Ygf2Dir=C:\HighVolumeDirectory
Ygf2WaitBeforeSendingNextEmailInMinutes=180

This configuration entry, if not used, will default to 1 minute, as follows:

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.

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 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

• 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 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 files for each Dir entry in your configuration. The text within these files will be written at the top/bottom of each email message that is sent, providing further information as desired. Use only plain text files for this purpose, do not use files created by a word processor like Word.

For example, if your configuration identified the following files:

Ygf*EmailHeaderFile=C:\messages\header1.txt
Ygf*EmailFooterFile=C:\messages\footer1.txt

Where the contents of "C:\messages\header1.txt" was:

On the BIGWIDGET server:

And the contents of "C:\messages\footer1.txt" was:

Please contact admin@widgetworld.com if you have any questions.

Then an email message might look something like this:

From: bobsmith@widgetworld.com
To: bobsmith@widgetworld.com
Subject: You've Got 1 File
Date: Fri, 5 Apr 2002 10:04:20 -0700
On the BIGWIDGET server:

Added: C:\Incoming\NewPolicy.doc
04/05/02 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

• 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

• 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]. 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 for files. 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

Note that the FtpPassword field will be found in all configuration file directory entries. It should be left blank if you are not monitoring an FTP server:

Ygf*FtpPassword=


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 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 Configurations

Here is an example of a correctly configured ygfconf.txt file, which is checking the files of two directories and one FTP server:

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=
Ygf1EmailHeaderFile=
Ygf1ExcludeFilesNamed=
Ygf1IncludeFilesNamed=
Ygf1FtpPassword=
Ygf1LaunchApplication=
Ygf1NoSubfolders=
Ygf1Subject=Bob Smith
Ygf1WaitBeforeSendingNextEmailInMinutes=5
#
### Scanning a second directory, more complicated configuration
Ygf2Alias=http://www.widgetworld.com
Ygf2Dir=E:\webroot
Ygf2Email=webusers@widgetworld.com
Ygf2EmailFooterFile=E:\webusers\footer.txt
Ygf2EmailHeaderFile=E:\webusers\header.txt
Ygf2ExcludeFilesNamed=
Ygf2IncludeFilesNamed=*.htm?
Ygf2FtpPassword=
Ygf2LaunchApplication=
Ygf2NoSubfolders=1
Ygf2Subject=
Ygf2WaitBeforeSendingNextEmailInMinutes=5
#
### Scanning an FTP server
Ygf3Alias=
Ygf3Dir=ftp://harryj@ftp.widgetworld.com
Ygf3Email=support@widgetworld.com, hjohnson@widgetworld.com
Ygf3EmailFooterFile=
Ygf3EmailHeaderFile=
Ygf3ExcludeFilesNamed=
Ygf3IncludeFilesNamed=
Ygf3FtpPassword=password
Ygf3LaunchApplication=
Ygf3NoSubfolders=
Ygf3Subject=
Ygf3WaitBeforeSendingNextEmailInMinutes=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) 
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*Dir=  Required  
Ygf*DontNotifyOnAdd=  Default blank interpreted as 0 
Ygf*DontNotifyOnChange=  Default blank interpreted as 0 
Ygf*Email=  Each monitored directory needs this or LaunchApplication 
Ygf*EmailFooterFile=  Default blank (gives "You've Got Files! http://youvegotfiles.com ") 
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:// 
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*NoSubfolders=  Default blank interpreted as 0 
Ygf*NotifyOnDelete=  Default blank interpreted as 0 
Ygf*OldFileDetectInMinutes=  Default 0 Corporate version can detect old files 
Ygf*Pop3ServerName=  Default is the global Pop3ServerName 
Ygf*SmtpServerName=  Default is the global SmtpServerName 
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 global ScanIntervalInMinutes 


• 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.


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 NT4:

1) From the Start menu, select Settings -> Control Panel. The following Control Panel window will be shown:




2) 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:




3) To start the service, click on the Start button. Once the service is started, the Services window will look like so:



To stop the service, click on the Stop button.


  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.


• 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 15 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 users.megapathdsl.net
using username niwot and password "password"
The example command line is :
ftp://niwot:password@users.megapathdsl.net -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://niwot:password@users.megapathdsl.net -sub %1 -len %2 -get .\getfolder -del -log

NIWOT NETWORKS, INC. NiwotFTPtool Ver 1.0.0.6 Copyright 2004-2006 All Rights Reserved

Usage: NiwotFTPtool ftpspec [options]
ftpspec ftp://[username[:password]@]urlroot[/subdir/][filespec]
-sub [/subdir/][filespec] Alternate location for the ftp subdir and filespec
-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 fulllocalpathname The local file to be put up to the FTP site (not compatible with - sub)
-del Deletes the source file after verifying that a file with the desired name and size exists at the destination.
-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
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 5 if You've Got Files! is not running
Return System Error Value if couldn't walk process list
GET EXAMPLE: NiwotFTPtool ftp://niwot:password@users.megapathdsl.net -sub /test/download.txt c:\getfolder GET DEL EXAMPLE: NiwotFTPtool ftp://niwot:password@users.megapathdsl.net/test/downloads.txt c:\getfolder -del PUT DEL EXAMPLE: NiwotFTPtool ftp://niwot:password@users.megapathdsl.net/test c:\getfolder\upload.txt -del


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 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 LICENSE AGREEMENT and
ELECTRONIC END USER DEMO 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 License Agreement
and End User Demo License Agreement accompanies the Niwot Networks
You've Got Files! product, related explanatory materials and "online"
or electronic documentation ("Software"). The term "Software" also
shall include any upgrades, modified versions or updates of the
Software licensed to you by Niwot Networks. The Software product is
licensed, not sold. Please read this Agreement carefully. Do not use
the Software if you do not accept this Agreement.

"The Software" is defined as the contents of this installation package with the exception of the public domain blat.dll (see www.blat.net).
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; install and use the Software on a file server for
use on a network for the purposes of (i) permanent installation onto
hard disks or other storage devices or (ii) use of the Software over
such network; and make backup copies of the Software. Without prejudice
to any other rights, Licensor may terminate this Agreement if Licensee
breaches any of its terms and conditions. Upon termination, Licensee
shall destroy all copies of You've Got Files!.

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 15 days from first installation on a
computer.

2. Copyright and Trademark Rights. The Software 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 intellectual
property rights in the Software.

3. Restrictions. Except as otherwise expressly permitted in this
Agreement, Licensee may not: (i) modify or create any derivative works
of You've Got Files! or documentation, including translation or
localization; (ii) decompile, disassemble, reverse engineer, or
otherwise attempt to derive the source code for You've Got Files!
(except to the extent applicable laws specifically prohibit such
restriction); (iii) redistribute, encumber, sell, rent, lease,
sublicense, or otherwise transfer rights to You've Got Files!; (iv)
remove or alter any trademark, logo, copyright or other proprietary
notices, legends, symbols or labels in You've Got Files! or (v) publish
any results of benchmark tests run on You've Got Files! to a third
party without Niwot Network's prior written consent. The Software
product is licensed as a single product. Its component parts may not be
separated for use on more than one computer.

4. No Warranty. The Software is being delivered to you "AS IS" and
Niwot Networks makes no warranty as to its use or performance. NIWOT
NETWORKS AND ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE OR
RESULTS YOU MAY OBTAIN BY USING THE SOFTWARE OR DOCUMENTATION. NIWOT
NETWORKS AND ITS SUPPLIERS MAKE NO WARRANTIES, EXPRESS OR IMPLIED, AS
TO NONINFRINGEMENT OF THIRD PARTY RIGHTS, MERCHANTABILITY, OR FITNESS
FOR ANY PARTICULAR PURPOSE. THE ENTIRE RISK ARISING OUT OF USE OR
PERFORMANCE OF YOU'VE GOT FILES! REMAINS WITH YOU.

5. Limitation of Liability. TO THE MAXIMUM EXTENT PERMITTED BY
APPLICABLE LAW, IN NO EVENT WILL LICENSOR OR ITS SUPPLIERS OR RESELLERS
BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES ARISING OUT OF THE USE OF OR INABILITY TO USE YOU'VE GOT FILES!,
INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
COMMERCIAL DAMAGES OR LOSSES, EVEN IF ADVISED OF THE POSSIBILITY
THEREOF, AND REGARDLESS OF THE LEGAL OR EQUITABLE THEORY (CONTRACT,
TORT OR OTHERWISE) UPON WHICH THE CLAIM IS BASED. IN ANY CASE,
LICENSOR'S ENTIRE LIABILITY UNDER ANY PROVISION OF THIS AGREEMENT SHALL
NOT EXCEED IN THE AGGREGATE THE SUM OF THE FEES LICENSEE PAID FOR THIS
LICENSE (IF ANY) AND FEES FOR YOU'VE GOT FILES! SUPPORT RECEIVED BY
NIWOT NETWORKS UNDER A SEPARATE SUPPORT AGREEMENT (IF ANY), WITH THE
EXCEPTION OF DEATH OR PERSONAL INJURY CAUSED BY THE NEGLIGENCE OF
LICENSOR TO THE EXTENT APPLICABLE LAW PROHIBITS THE LIMITATION OF
DAMAGES IN SUCH CASES. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR
LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
AND LIMITATION MAY NOT BE APPLICABLE. NIWOT NETWORKS IS NOT RESPONSIBLE
FOR ANY LIABILITY ARISING OUT OF CONTENT PROVIDED BY LICENSEE OR A
THIRD PARTY THAT IS ACCESSED THROUGH YOU'VE GOT FILES! AND/OR ANY
MATERIAL LINKED THROUGH SUCH CONTENT.

6. General Provisions. If any part of this Agreement is found void and
unenforceable, it will not affect the validity of the balance of the
Agreement, which shall remain valid and enforceable according to its
terms. You agree that the Software will not be shipped, transferred or
exported into any country or used in any manner prohibited by the
United States Export Administration Act or any other export laws,
restrictions or regulations. This Agreement shall automatically
terminate upon failure by you to comply with its terms. This Agreement
may only be modified in writing signed by an authorized officer of
Niwot Networks.

Unpublished-rights reserved under the copyright laws of the
United States. 2001-2006

Niwot Networks, Inc, 721 9th Ave., Longmont, CO 80501.
You've Got Files, You've Got Files!, and youvegotfiles are trademarks
of Niwot Networks, Inc.

Ygfuserman.htm -- last update:  February 4 2006

Copyright 1995-2006, Niwot Networks, Inc. All Rights Reserved
Gigabyte Express, You've Got Files!, and RELIA are trademarks of Niwot Networks, Inc.