by Chris Silverberg
Suzie is a utility that performs several user management functions for TeleFinder sysops. Suzie was designed to be used manually, in a Tabby LaunchNext chain, or as a scheduled function periodically. Suzie 1.7 requires Group Edition Host 3.0 or later, along with System 7.
1. Stat files: Five different stat files can be generated. These are "User Stats," "Top Uploaders," "Simple Top Uploaders,", "Freeloaders", and "Membership List."
2. User deletion: Users that have not logged onto the BBS for a specified number of days can be automatically deleted from the TeleUsers file. A log will be kept of who was deleted in case the sysop needs to recover an entry.
3. Group File Adjusting: You can setup Suzie to change the group file for a user based on uploads and downloads. If the user has a good ratio between the two, the user will be assigned a "good group." If the user has a bad ratio, the "abusive group" will be assigned.
I think the best way to show you what Suzie can do is to take you on a tour of Suzie and show you what the settings mean.
You can put Suzie anywhere you'd like. It doesn't have to be in the same folder as your BBS, but that might be a good place to put it nevertheless. Double click on Suzie to begin.
Once Suzie is running, there will be four menus. The Apple menu, File, Edit, and Settings. For now, we'll be concerned with the Settings menu. This is where you'll setup Suzie. Your settings will be saved between sessions. (A preferences file is in the System folder, or the Preferences folder under System 7.)
1. Stat Files
When you choose the
first choice, Stat Files, you'll be presented with the window below.
The checkboxes on the left are for creating the various Stat
The first file is User Stats. This file contains a listing of all users. For each user the file will show last logon date, total number of calls, amount in uploads, amount in downloads, number of public messages posted, number of private messages sent. File transfers are given by kbytes, or if necessary, Megabytes.
User Name Last On Calls Ul's Dl's
Andy Dunkman .................... 04/27/92 843 2M 16M 30 56
Anita Yezet ..................... 04/27/92 20 5k 137k 0 18
Ann Nuuver ...................... 12/13/91 22 0k 0k 0 0
Bob Sandfer ..................... 04/28/92 137 0k 8M 0 0
Bob Thertski .................... 04/26/92 65 14k 1000k 0 1
Brad Parker ..................... 04/18/92 121 322k 8M 11 19
The second file is Top Uploads. This file contains a list of the top uploads on your BBS, ordered by how much data was uploaded:
User Name Last On Ul's Dl's Pub Pri
Chris Silverberg ................ 04/28/92 3M 2M 38 63 1384
Andy Dunkman .................... 04/27/92 2M 16M 30 56 843
Kevan Yards ..................... 04/28/92 1M 4M 10 4 368
Carol Ramboli ................... 04/09/92 1M 0k 0 1 90
John Justaguy ................... 04/26/92 718k 0k 1 2 42
Lori Richards ................... 03/10/92 484k 0k 0 0 13
The third file is Simple Top Uploaders. You're probably wondering why this is necessary? Well, I wanted it for use on my BBS... so everyone has it. This file is the Top Uploaders with just the names listed.
The fourth file is Freeloaders. It lists the users who have poor upload-to-download ratios. These entries are in order by name, and not by the degree of the offense. We'll go through how to modify who appears on this list later on.
User Name Last On Calls Ul's Dl's
Anita Mundi ..................... 04/27/92 20 5k 137k 0 18
Bob Coateau ..................... 04/28/92 137 0k 8M 0 0
Bob Thatcher .................... 04/26/92 65 14k 1000k 0 1
Brad Parker ..................... 04/18/92 121 322k 8M 11 19
The last file is the "Membership List." This file is similar to what User Manager itself can generate. It creates a simple text file with the following fields TAB delimited:
Name, Phone, Access Group, Time Allowed, Logins per day, Date of last login
Why have Suzie generate this file? This feature was added as a user request so user groups can maintain a file which can be imported into a database and used to verify memberships. The nice thing about this is that you can put the file into someone's mailbox and they will always have the up to date user list.
For each file, there are two items to fill in... the path and the creator. The path allows you to specify both a name for the file and where it's located. A path is the drive name, the folders, and the filename separated by colons. So, a path might be:
Hard Drive:Folder 1:Folder 3:WMUG User Stats
As you can see, you don't have to use the default names, you can use whatever names you'd like. If you have just a name of the file listed, then the file will be created in the same folder as Suzie.
The second item, the creator, is a field that will help some sysops. This can be useful for determining what kind of Finder icon displays. The default value, 'LCLB' is a TeleFinder text file, so when viewed on the BBS, it will have the "TF" icon.
The next item in
the Settings menu is "Group/Values." This is where we'll decide who
makes it onto some of the stat files. Jump down to the bottom and
we'll see 5 fields. Let's go through them:
# of UL'ers: This is how many people to list in the Top Uploaders and Simple Top Uploaders file. If you aren't creating these files, then it doesn't matter what number is here. The maximum value is 50.
UL Weight: This is the weight of an upload. For each user, Suzie calculates an internal upload-to-download value. Normally, this value is:
uploads - downloads\
If this value is positive, the user is "good." If the value is negative, the user is "abusive." But you may want an upload to be weighted so the user can download more than he uploads. That's what the weight is for. The value now becomes:
( UL Weight * uploads ) - downloads
So if you want 1 upload to be worth 10 downloads, set your UL Weight to the value of 10.
Msg. Weight: Some sysops value public message posting just as important as uploads. That's why the Msg. Weight exists. The sysop can have a message posted equal to the value of an upload measured in kbytes. So, if you want a message to be worth 10k, then make the message value 10. The value now becomes:
( UL Weight * ( uploads + ( Msg Weight * Msgs Posted ) ) ) - downloads
Min. Calls: Sometimes you may want to give your new users some time before they have to meet your upload requirements. For that reason, a user will not appear on the Freeloaders list or have a value calculated until the user has called this many times.
Min. Kbytes: You may also want to give your users a certain amount of downloading freedom before they will be subject to upload requirements. Until the user has downloaded this amount, the name will not appear on the Freeloaders list and no value will be calculated.
Now that you know about the values, I can explain the top of this window. If you are using group files for your users, you can opt to have two different groups for your normal users. A "good group" and an "abusive group."
To implement this feature, turn "Update Groups" on. Then enter in the name of your a group file for your "good" uses and also for your "abusive" users. When Suzie runs, it will calculate a value for each user, and assign the group file depending on the calculation.
This feature only works back and forth between the good and abusive groups, and that is an important feature. This means if a user does not already have one of these groups, the user will never have their group file changed.
The next item brings up the "Options" window. There are two checkboxes in this window.
The first option is "Delete Inactive Users." This allows you to delete users that haven't logged onto your BBS in a while. Simply set how many days a user should be inactive for before they will be tossed. For safety, Suzie writes some information about the users it deletes in a file called "Deleted Users." If a user gets deleted that you later wish to restore, you can use this file to find out the name, phone, and password. (You can also use this file with the User Manager to import. Just name it "New Users" and remove the entries you don't want. )
The last choice is "User 'Publish Name' flag." If this is checked, any users that do not have the "Publish Name" flag checked in their user setup will not be modified, and will not appear on any stat files. This is good for keeping those users hidden if that's your intention.
The next menu item
is "Mode." When you select this choice you will be presented with
three choices for Suzie to operate with; Manual, Automatic, and
Schedule. By default, Suzie is in Manual mode.
For sysops that wish to run Tabby in their event chain, change this setting to automatic. This means that Suzie will launch and immediately process the "TeleUsers" file found in the same folder as Tabby. When it finishes, it will launch the next program in the chain.
In order to change your settings, you will need to regain control of Suzie. Fortunately, this is simple enough. Launch Suzie by double clicking on it, and then hold down the mouse button until the menus appear on the screen. As this point you can let go and change your settings. But Suzie is still in automatic mode for the next time it runs.
The last option schedule, is great for people who have some extra memory to let Suzie run in the background. You can set the start time to whenever you want, and then Suzie will run one occurrence every interval period you specify. Suzie "stamps" each file with the processing date, so you're users will be impressed at how current the information is. (well, maybe). Scheduled operation works well when Suzie is in the background, and users can continue logging into your BBS!
Now that you've seen all the settings, you're ready to process your TeleUsers file. Choose "Process" from the File menu, and locate your TeleUsers file. Processing will take place with a status bar so you can see what's happening.
There are additional ways to process files. You can drag a TeleUsers file on top of Suzie if you're running System 7. That will launch and begin processing. Suzie also supports the required Apple©Events. So users with the right tools can script Suzie to some degree.
For those of you who would like to use Suzie over a network, before you choose "Process" from the File Menu, choose "Link to User Manager." This will let you specify which program should receive the messages from Suzie. In this way, you can run Suzie on a different machine than the BBS. A new feature of 1.6 allows Suzie to remember exactly which User Manager you chose over the network, and Suzie will use that version every time thereafter.
Suzie uses two special files if you decide to implement them. Both files are text files that simple list users, one per line. The first file is called "Special Users." Users listed in this file are exempt from appearing on the Freeloaders file and exempt from having their group file changed. But that may appear on both the User Stats and Top Uploaders. In addition, special users are never deleted for inactivity. The second file is called "Unlisted Users." Users listed in this file are exempt from appearing in the Top Uploaders, Simple Top Uploaders, and Freeloaders file. But they may appear in the User Stats files, and may have their group file changed.
All settings are stored in readable resources, found in both the application and the Suzie Prefs file. In fact, there are a few items in the Suzie Prefs file that I didn't include an editing feature for. If you decide to modify these items, I recommend making the changes in the Suzie Prefs file. That way, if I come out with an update to Suzie, you wont have to make these changes again.
Suzie was written before I started working for Spider Island Software. It one of my first publicly released utilities. I may continue to add features here and there as required, but most of the functionality of Suzie will be incorporated into TeleFinder. The source code to Suzie is written in C. Looking back at this source code, it is a little embarrassing... I write much better code now.