=========================================================================== === === === CUSTOMIZING YOUR SYSTEM'S APPEARANCE === === === =========================================================================== Sapphire comes preconfigured as a "private online conversation club" named "The Pinnacle Club". This is a fairly general design, so some Sapphire sysops find this approach appropriate to their requirements. After running the basic system for a while, many sysops decide to fine-tune its function and appearance to suit their needs... ----------------------------------------- YOUR CUSTOMIZATION OPTIONS -- AN OVERVIEW ----------------------------------------- There are several areas of customization for you to consider, which are listed below in order of increasing difficulty: 1. Configuration 2. Application 3. Hardware 4. Stock file text 5. Message bases 6. Doors and events 7. Stock file programming 8. Custom programming These are described, in order, below. ------------------------ OPTION 1. CONFIGURATION ------------------------ The configuration program (SYSOP:CONFIG -- that is to say, CONFIG on the main menu of the SYSOP utility) lets you specify some general information about your hardware and how you want your BBS to run. In particular, you may wish to change some of the following items: 1. Settings on the console ("Presentation" on the CONFIG menu bar) - Use of color - Number of lines displayed on the console (25, 43, or 50) 2. General preferences ("General" on the CONFIG menu bar) - Console sound on/off - Key click at the console - Phone number format (e.g. 999-999-9999 or (999) 999-9999) - Command prompt (e.g. ==> or "Enter your command now") 3. User settings ("Security" on the CONFIG menu bar) - Minimum baud-rate to sign on - Length of time a user may spend on the system For a complete list of the items you can configure with SYSOP:CONFIG, refer to the appendix at the end of this chapter: "Items Configurable via SYSOP:CONFIG". ---------------------- OPTION 2. APPLICATION ---------------------- In deciding how to customize your system, it helps to keep in mind the goals you have set. For example, if you are running a purely conversa- tional system, your users will benefit more from hearing your thoughts on the current topic than they will if you spent time writing online documen- tation. Similarly, if you are running a files system, your users want files, so your time may be well spent reading shareware catalogs, or calling other systems. In other words, sometimes the best customization is none at all. Because when you come right down to it, BBS's are about people interacting, not text files. In order to best support your system's goals, you may decide to change the privileges you give to the various membership levels. For more information about this, see "Customizing Membership Levels" (later in this chapter). ------------------- OPTION 3. HARDWARE ------------------- Without a doubt, the easiest way to improve your BBS is to add a faster modem. This attracts more members -- especially those who own fast modems, since they tend to avoid systems that now seem "slow". Since people can move more data in less time, the traffic on your system picks up, which in turn attracts more traffic. Sapphire supports modem speeds up to 19200, although at higher baud-rates you may find that you need a faster computer. For example, although an old 4.77 Mhz XT can support 9600 baud calls, it doesn't actually send the text out at that speed; the connection will look more like a 2400-baud connec- tion. TECHNICAL NOTE: The current version of Sapphire does not explicitly support "locked baud rates", but you can simulate it by setting all but one connect string to "XXX" (i.e. some nonsense string) and the locked baud-rate as "CONNECT". This will cause all connections to be interpreted as a connection at that speed. In order to do this, though, you must be sure that computer can support the locked baud-rate. For example, you could not lock at 4.77 MHz XT at 9600 baud; it would miss characters. If you are running a file-transfer system, you can improve it by increasing the disk space. When you increase your disk capacity, you should set your related configuration items ("Free space for upload", "Number of files listed" and so on) accordingly. (See SYSOP:CONFIG:ADVANCED:DOWNLOAD) -------------------------- OPTION 4. STOCK FILE TEXT -------------------------- The easiest and most immediately gratifying way to customize your system is to modify the text of your "Stock files". This is explained in detail in SYSOP:INFO:MANUAL:STOCK. ------------------------ OPTION 5. MESSAGE BASES ------------------------ A "message base" is a logical grouping of messages. For example, if your system catered to dog breeders, you might group messages about Dalmatians separately from messages about Spaniels. Thus, somebody with no interest in Dalmatians would not have to read messages about that breed of dog. In the preceding example, the messages were grouped by subject ("breed of dog"). You may decide to group messages by some other criterion, such as how long the person has been a member of your system, or how much they paid to join. Sapphire is initially configured with 5 general message bases which group messages according to membership level. That is to say, a Level 1 (lowest) member has access to no message bases, a Level 2 member has access to one message base, and so on. A Level 5 member has access to 5 message bases. (The sysop, at Level 8, has access to all message bases.) These message bases, along with three other special-case message bases, are defined in a text file named MSGBASES.DEF. You can edit this file with a standard text editor, such as DOS's EDLIN or EDIT, a programmer's editor, or a word-processor in non-document (generic DOS text) mode. The format of the file is literally self-explanatory, since the file itself contains an explanation of its format. In order to view the file, enter the following command at the DOS prompt: SEE MSGBASES.DEF The SEE command can also print the file. Before you modify the file, it is a good idea to either print it out or make a backup copy. You can make a backup copy by entering this DOS command: COPY MSGBASES.DEF MSGBASES.OLD This creates a second copy of the file, named MSGBASES.OLD. Thus, if you make a mistake and Sapphire no longer understands the file, you can restore it to its original form with the command: COPY MSGBASES.OLD MSGBASES.DEF In general, the MSGBASES.DEF file allows you to define up to 15 message bases (including logon announcements, feedback to sysop, and E-Mail). After modifying the MSGBASES.DEF file, log on and try the BASES command to verify that the messages bases are set up the way you want. You can use the level-change function keys (ALT-F3 and ALT-F4) to try the BASES command at each membership level. --------------------------- OPTION 6. DOORS AND EVENTS --------------------------- Doors are external processes that the user can run while online. Events are external processes the run automatically, under a particular set of conditions that you determine. See SYSOP:INFO:MANUAL:EXTERN for details. --------------------------------- OPTION 7. STOCK FILE PROGRAMMING --------------------------------- Stock file programming allows you to insert special actions at various places of a standard Sapphire session. For more information about stock file programming, see SYSOP:INFO:MANUAL:STOCK. ----------------------------- OPTION 8. CUSTOM PROGRAMMING ----------------------------- You might find that Sapphire is excellent for your application, but needs just one little change to make it perfect. For example, you may have an idea for a new command that you think your members would find particularly helpful. In such case, you will require some custom programming. We can do it for you, or -- if you are familiar with Turbo Pascal -- you can do it yourself. There is, of course, a cost associated with custom programming, but this cost can frequently be lowered if your idea can be applied to other customers' systems. For example, Sapphire's file download and message reading systems were largely influenced by custom work. Since in each case the customer had a good idea, we performed the modifications for a low price. Similarly, if you wish to purchase a source code license to make the modifications yourself, we are willing to offer discounts if your work has a wider application. If you have a good idea and you are handy with Turbo Pascal, give us a call! For more details about custom programming and some other choices that are available to you, see SYSOP:INFO:ORDER. =========================================================================== === === === CUSTOMIZING MEMBERSHIP LEVELS === === === =========================================================================== ----------------------------- OVERVIEW OF MEMBERSHIP LEVELS ----------------------------- Sapphire supports 8 membership levels. In general, these levels function as follows: Level 1 Non-members Levels 2-5 Members Levels 6-8 System operations staff Each membership level has a set of privileges associated with it: - Message bases that can be read (see "Message Bases", above) - Commands that can be used For example, as initially configured, Sapphire provides a non-member (Level 1) with the SEND command, but no READ command. This means that a non- member can ask for greater access privileges ("Tell us a bit more about yourself, please!") but can not really use the system (i.e. read messages). A basic member (Level 2) gets the READ command and (as defined in the MSGBASES.DEF file) gets to use one message base. The initial setup described above works well because it forces new users to type in a message. You'll find that you can judge just by reading that one message whether or not to make the person a full member. -------------------- WHY CHANGE ANYTHING? -------------------- No BBS design works for everybody! You may find it necessary to change the initial configuration. For example, if you are a shareware author, you might want to make the GET (i.e. download software) command available to non-members, so that people can obtain your software without waiting around to become a full member. (You can set up a "Guest" account for this kind of application. See SYSOP:CONFIG:BASIC:SECURITY:SIGN-ON) Alternatively, you might decide to give non-members their own message base, so you can watch them in action. You could give them access to a message base by modifying the MSGBASES.DEF file (as explained in the last chapter). In such case, you you would also have to give them access to the READ command by modifying the COMMANDS.LEV file. --------------------- THE COMMANDS.LEV FILE --------------------- COMMANDS.LEV is a text file that defines the minimum membership level required for each of the internal (non-door) commands that Sapphire supports. You can edit COMMANDS.LEV with a standard text editor, such as DOS's EDLIN or EDIT, a programmer's editor, or a word-processor in non-document (generic DOS text) mode. The format of the file is literally self-explanatory, since the file itself contains an explanation of its format. In order to view the file, enter the following command at the DOS prompt: SEE COMMANDS.LEV The SEE command can also print the file. Before you modify the file, it is a good idea to either print it out or make a backup copy. You can make a backup copy by entering this DOS command: COPY COMMANDS.LEV COMMANDS.OLD This creates a second copy of the file, named COMMANDS.OLD. Thus, if you make a mistake and Sapphire no longer understands the file, you can restore it to its original form with the command: COPY COMMANDS.OLD COMMANDS.LEV After modifying the COMMANDS.LEV file, log on and try the HELP command to verify that the commands are set up the way you want. You can use the level-change function keys (ALT-F3 and ALT-F4) to try the HELP command at each membership level. ------------------------- DEFAULT MEMBERSHIP DESIGN ------------------------- Before designing your membership levels, you may find it helpful to understand our rationale in designing the default setup. This is explained below. Level 1: Non-member May post: Non-member message base Commands: BYE Disconnect from system (i.e. logoff) HELP Display a list of commands you can use INFO Membership requirements for this system SEND Leave a message for other users to read SPECS Change the way things look around here TIME Display how much time is left for visit VERSION Display software version and copyright Comments: Note the absence of the READ command. Note also that we do NOT put the BASES command at this level. New users who try out that command tend to get miffed and log off. It's better for them to read the INFO article, and thus get some idea of what you are trying to accomplish with your system. Note: The BYE, TIME and VERSION command are locked at level 1 and can not be assigned to a different membership level. Level 2: Basic Member May post/read: Non-member and Basic member message bases May post: Feedback to Sysop message base May read: Report from Sysop message base Added cmds: EXPERT Switch between casual and expert mode BASES Summary of message bases you can use GIMMICKS Describes various tricks for messages GRAPHICS Switch graphic characters on and off HINTS Tricks and tips for using this system LIBRARY Browse and read in our online library MESSAGES Quick summary of messages (time & user) NAMES Specify names for selecting READ etc. PROTOCOL Select method used for file transfer READ Read new messages left by other users REVIEW Inspect a single message by DATE:MINUTE SET Modify the DATE:MINUTE for READ command TEXT Specify text to reduce READ output etc. USERS Display information about our users Level 3: Special Member Added base: Special Member Added cmds: ACTIVITY Display system activity for past 7 days CHANGE Modify a message you've sent previously FILES List software available for downloading GET Get some software from our collection GIVE Contribute software to our collection MOVE Move a message from one base to another Level 4: Top Notch Member Added base: Top Notch Added cmds: CHAT Page system operator for a conversation OBSERVE Overview of logon/logoff activity, etc. Comments: Note that lower-level members, when doing the USERS command, see Top Notch members listed as "Special". Top Notch mes- saging is completely hidden from lower levels. The idea here is to avoid displaying membership-level differences where it is not relevant, while providing higher-level members with a measure of privacy. Level 5: Inner Circle Member Added base: Inner Circle Added cmds: None Comments: Lower-level members, when doing a USERS command, see an Inner Circle member listed only as "Special" (or "Top Notch", in the case of Level 4 members). Inner Circle messaging is hidden from lower levels. See Level 4 for explanation. Level 6: Aide-de-Sysop Added cmds: ERASE Remove message (resets it to time 0:0) Comments: This level of authority allows people to keep the system tidy without having access to personal member information, such as phone numbers. Level 7: Co-Sysop May read: Feedback to Sysop Added cmds: BANISH Devalidate user (remove from user list) DOORS Update your list of "Door" programs DOS Shell out to DOS; type "EXIT" to return DUMBTERM Start dumb terminal for outgoing calls EVENTS Schedule your BBS's close-down events PROBE Display user info (see also USERS cmd) VALIDATE Grant a user a higher membership level Comments: At this level, the USERS command gives more detailed inform- ation, such as password and phone number. A co-sysop can run the entire system remotely. He can not, however, find out the sysop's password. Level 8: Sysop May post: Logon Announcements Added cmds: CLOSE Shut down system; prevent further calls Comments: The user named "SYSOP" is automatically placed in "Ultra- Mode". See the explanation of "Ultra-Mode" (Alt-F10) in the "Function Keys" section. ------------------------------------------------ APPENDIX A: ITEMS CONFIGURABLE VIA SYSOP:CONFIG ------------------------------------------------ (Listed in alphabetic order) Accounting -- Enable or Disable Accounting Date Format Address of COM Port Annunciator Tune Answer Incoming Calls Attention String Automatically Select File Area by Membership Level Automatically Select File Destination by Membership Level Bonus Connect Time Broken Connection Command Failed Command Successfully Completed Configuration Start-up Menu Configurator Opening Menu Days Back for Files Days Back for Messages Default File Transfer Protocol Detect ANSI Automatically? Disconnect Delay Disconnect Method Display Mode Display in Color Door Safety Level Free Space Required for Questionnaires Free Space Required for Upload Gearshift -- Enable or Disable Give-to-All Level Ignore Incoming Calls Initial Membership Level Initial Setup Initializing Baud Rate Key Click Library Directory -- Extensions to Exclude Local Text Editor Lock DTE Speed? Long-distance Call Pattern Main Pulldown Menu Maximum Sign-ups Membership Level Description Membership Level Masking in USERS Command Membership Levels Subject to Time-Out Minimum Baudrate Modem Command Pacing Modem Connection Response Modem Ring Name of Guest Account Number of Files Listed in Files Area Number of Hours Between Calls Passwords Considered Path to Library Files Path to Message Files Path to Upload/Download Files Phone Hang-up Phone Number Format Phone Pick-up Pop-up Message Speed Pre-call Setup Quote File Name for Local Text Editor Registration or Evaluation Extension Serial Number Screen Saver Delay Screen Saver Speed Show Private and Exclusive Headers Shutdown Reset Software Documentation Files Extension Sound Effects Standard and Graphics Prompts Use Questionnaires Instead of Editor for GIVE Documentation User List Clean-Up Settings