Using a Shared Database

Back up Data Prior to Setting up a Shared Database:

Prior to setting up and using a shared database create a Sponsor Update file in Maintenance/Export Data from TroopSoft. Be sure to include the date in the file name. When using a shared database you should create additional Sponsor Update files periodically (at least after each Court of Honor & Pack Meeting) using a date in the filename to make the file unique. This will protect you if your internet shared database fails. It is recommended that you keep the Sponsor Update files on an external hard drive such as a jump drive to protect your database from hard disk drive failure.

* TroopSoft currently only supports using FTP file servers or IMAP email servers for the Shared Database repository *

Using Shared Database:

It is recommended that you have a member of your sponsoring organization who is experienced with internet data file sharing set up your shared database. TroopSoft does not provide support for the setting up of or maintaining your shared database.

When configured to use a Shared Database, TroopSoft will automatically store it's local database on an Internet server. This allows multiple individuals using separate computers to easily collaborate without having to manually transfer the database back and forth. Only one user can edit the database at a time, they are referred to as the Database Master. Other users can access the database at the same time, but they must do so in Read-Only mode, no changes that they make will be save to the shared database.

Upon starting, TroopSoft will automatically contact the online data repository to check if other users are logged into the Shared Database and to download the latest database file. If there is not a current Database Master then mastership will be claimed, allowing editing to be performed and saved. If there is already someone else editing the database then you will be given the option of starting TroopSoft in read-only mode.

Along with resolving database mastership, the current Shared Database will also be automatically downloaded when the program is started. This ensures that all computers are using the same database, preventing any discrepancies from being created. After the Database Master has concluded their session and closes TroopSoft the changed database will be uploaded to the Shared Database repository. At this point, all the changes that were made by the Database Master will be visible by subsequent users.

Shared Database Guidelines and Restrictions:

* The Shared Database feature requires a constant Internet connection. It is intended for users that have "Always On" or "Unlimited" Internet access plans. If your Internet plan requires you to pay per usage then be aware that your entire TroopSoft session will be billed.

* Changes are only sent when the Database Master logs out of the Shared Database and closes TroopSoft. It is not advisable for users to log into TroopSoft as the Database Master and then leave TroopSoft running unattended for hours. This prevents other users from making edits to the Shared Database, and prevents any changes made by the current Database Master from being seen by others.

* Be aware that your TroopSoft Database will be stored on the Internet. Be cautious with your choice of Internet servers, ensure that they are secure and that you protect your login credentials from being mishandled.

* TroopSoft does not encrypt it's database. The Drivers License # is never shared within a Shared Database (It will be removed prior to uploading the database), but other private information such as phone numbers and addresses will be present. It is highly advised that you take advantage of TroopSoft's support for third-party encryption applications such as GNU Privacy Guard to encrypt your database to provide better protection for the privacy of your records.

Standard Configuration Instructions:

Use Shared Database for current Sponsor: This must be checked to enable Database Sharing.

Displayed Name: This is a unique name to describe either the local computer or the primary user of the computer. For example "John Smith" or "Clerk Office Computer".

Pre-Upload Command: This is an optional command that can be used to execute a third-party encryption or compression program to alter the TroopSoft database before it is uploaded to the Internet. The syntax is a command-line argument to start the application or to start a batch file which will execute the application.

Post-Download Command: This is an optional command that can be used to execute a third-party encryption or compression program to alter the TroopSoft database after it is downloaded from the Internet. The syntax is a command-line argument to start the application or to start a batch file which will execute the application.

* FTP Server is the TroopSoft Preferred Server Type to Use *

Server Type - TroopSoft recommends the FTP Server option over the IMAP Server option as the FTP server seems to be more successful for our users. We also recommend that users set up a free AOL email account to use for sending out all emails FROM TroopSoft. *

FTP Server Guidelines and Restrictions:

To set up your email account click on Settings/System Settings/Setup Email Accounts\Destinations. In the top Email Accounts window click on the Add button to access the leaders email account set up screen for the email account(s) that are available to be used for sending out messages. The screen below shows a leader's AOL email account being set up for the transmission of emails to their leaders and youth's parents from TroopSoft.



* The FTP directory should already be present on the server, TroopSoft will not create the FTP directory automatically.

* The FTP directory should be dedicated to TroopSoft usage only, it is recommended but not required that no other types of files be stored in the FTP directory.

* Do not use an insecure server or an account or directory that can be accessed by anyone except those who should have access to your database information.

FTP Configuration Instructions:

FTP Server Name: This is the actual hostname of the FTP server that is used to connect to it over the Internet. Example: ftp.ispname.com

FTP Directory: TroopSoft stores all it's files in a single directory. This directory should be dedicated to TroopSoft usage and other files will be deleted. If this account is dedicated to TroopSoft usage then you can use the user's main directory by entering / in the directory field. Otherwise specify the directory name in reference to the starting directory for the user account.

FTP User Name: The login name used to access the FTP account. Sometimes this will be in email format such as johnsmith@ispname.com, other times it will be just the name such as johnsmith. Speak with your FTP provider to verify the logon name required.

FTP Password: Enter the password to access the FTP account, reenter it in the following field.

Use FTP Passive Mode: FTP transfers files in either Active Mode or Passive Mode. At times, firewall filters will prevent Active Mode from working properly, in this case Passive Mode should be used instead.

IMAP Server Guidelines and Restrictions:

* The IMAP Email Account should be dedicated to TroopSoft usage only, it should not be a personal account. TroopSoft will send a high amount of email messages to the account, and will delete messages from the account.

* Only IMAP is supported, if your email provider requires IMAP-SSL or IMAP-TLS then a different email server must be used.

* Most free online email servers will not support this feature. This is because their IMAP support is generally not their primary focus so they do not support all the features or the functionality that is required.

* The IMAP server should support multiple simultaneous users to allow for a Database Master to be connected to the Shared Database along with other users connecting in Read-Only mode.

* Some IMAP email services will auto-archive or delete email after a certain amount of time. It is critical that you login and refresh the Shared Database within that time limit, otherwise it will be lost when the email message it is stored in is deleted or moved.

IMAP Configuration Instructions:

IMAP Server Name: This is the actual hostname of the IMAP email server that is used to connect to it over the Internet. Example: mail.ispname.com

IMAP Email Address: This is the email address of the IMAP email account. Example: johnsmith@ispname.com

IMAP User Name: The login name used to access the IMAP email account. Sometimes this will be in email format such as johnsmith@ispname.com, othertimes it will be just the name such as johnsmith. Speak with your IMAP email provider to verify the logon name required.

IMAP Password: Enter the password to access the IMAP email account, reenter it in the following field.

How to change the IMAP email account password:

If your IMAP email account password has to be changed then do the following:

1. Log into TroopSoft and ensure that you have become the Database Master

2. Go to Shared Database Settings: Settings -> System Settings -> Share Sponsor Database and turn off Database Sharing

3. After you have disconnected from the Shared Database, change your IMAP email account password on the IMAP server

4. Return to Shared Database Settings, edit the stored IMAP email account password and then reconnect to the Shared Database

5. All other users will be unable to connect to the Shared Database when TroopSoft first starts, they should enter local read-only mode and edit the password for their Shared Database. Afterwards they will be able to connect correctly.

Using Third-Party Encryption:

TroopSoft supports executing a third-party command-line encryption program to encrypt it's database prior to upload and to decrypt after download. Use the "Pre-Upload Command" and "Post-Download Command" fields to enter the necessary command-line to execute the encryption program.

There are three variables that are important to use, the first is used to indicate a space between two distinct arguments within the command-line. It is "[ ]" (Left square bracket, space, right square bracket, do not include the quotation marks). The other two variables relate to the input and output file, they will be replaced by the actual file name for the Shared Database: "__[INPUT_FILE]__" and "__[OUTPUT_FILE]__".

Here is an example of how Windows XP and Windows Vista users could utilize the free GNU Privacy Guard encryption application:

1. Download a copy of GnuPG from www.gnupg.org

2. Install the program into C:\GnuPG

3. Create an encryption batch file called encrypt.bat in the C:\GnuPG directory that includes the following commands (Change ENCRYPTIONKEY to the encryption password you wish to use): @echo off echo ENCRYPTIONKEY | C:\GnuPG\gpg.exe --passphrase-fd 0 -o %2 -c %1

4. Create an decryption batch file called decrypt.bat in the C:\GnuPG directory that includes the following commands (Change ENCRYPTIONKEY to the encryption password you wish to use): @echo off echo ENCRYPTIONKEY | C:\GnuPG\gpg.exe --passphrase-fd 0 -o %2 -d %1

5. Set the Pre-Upload command to the following: cmd[ ]/C[ ]C:\GnuPG\encrypt.bat[ ]__[INPUT_FILE]__[ ]__[OUTPUT_FILE]__

6. Set the Post-Download command to the following: cmd[ ]/C[ ]C:\GnuPG\decrypt.bat[ ]__[INPUT_FILE]__[ ]__[OUTPUT_FILE]__