Chapter 7 - More Advanced Features Page: 143 Introduction This section will explore several other features of Ezycom that have been skipped to date because of their advanced nature. You should remember that all features explained in this section are optional and a BBS can be quite functional without them. We suggest you do not try to understand them till you have a good grasp of the first five chapters and you feel comfortable using Ezycom and at least have a tested and functional system. File & Message Area Groups The use of groups allows file and message areas can be categorised into groups that share a common theme. It is mainly used in conjunction with file and message area templating. For example one use of grouping could be to allow all Amiga related areas to be grouped into one perceived area, totally separate from all IBM areas. Special commands in the questionnaire language can be used to allow users to select the groups they wish to view (see Appendix A). In the configuration for each message and file area there is an option to configure the group to which that message/file area belongs to (do not confuse this with Echo Group for messages). The groups can be configured using any of the letters of the alphabet (A through to Z). To ALWAYS enable access to a certain message/file area no matter what the current group settings are you can make the group a * group (ie Global). Note that file and message areas use the SAME group ie. group A in the message areas is ALSO group A in the file areas. You might like to choose group A for Amiga and group I for IBM for example. With the use of the questionnaire language group commands (see Appendix B) and the group settings, it is possible for the users to select which groups they wish to see. All they have to do is turn on the groups they want and turn off the groups they do not want. Then whenever they do a new files listing, combined read, message area change, file area change, search for files, or any other global type command on message or file areas, then only those groups the user has selected will be displayed. Note: Groups are NOT a security feature and the user will STILL be allowed to access areas they can normally access even if they have the group turned off or if you make it available using /F= or /M= commands. Chapter 7 - More Advanced Features Page: 144 Users can now select which groups they wish to select, but if they have all groups turned on, then they still could be presented with many file/message areas when doing area change commands. It is possible to override the group commands on the Goto/Gosub Menu command (with /F=+ or - or /M=+ or -), the change file area, change message area (and equivalents), and all global message area/file commands. To override group settings the sysop MUST place a /FG= or /MG= on the Data line. The is either a letter from A through to Z, or * (meaning ALL groups). For instance, to change to a file area only in the IBM group, a /FG=I would be used on the Data line of the menu command. So using a totally separate menu for IBM files, the sysop could use /FG=I command on all global type commands in the file area and this will allow only IBM file areas to be viewed and/or be changed into. Using the /CFG= or /CMG= option on a Goto/Gosub Menu command eliminates the need to use totally separate menus for each group you have on your system. This effectively templates the group for a group menu. A problem now arises when a user changes between two overriding groups. The problem is when they go into the other group (Eg. Amiga) they will still be in an area of the group they were last in (Eg. IBM). To overcome this, an option has been added to the /F= /M= command. This option allows you to specify the , which the user should be placed into. For Example: Type : 1 (Goto Menu) Data : FILEMENU /F=A This would place the user into the last Amiga file area they were in. If the user has not yet been in an Amiga File Area, then they are placed in the first available Amiga File Area (or the first global area should one of these come before any Amiga ones). The best way to learn groups is to experiment with them and see what happens. You should at least have tried message/file area templating before you begin to tackle groups however. Be sure to seek help from a support site if you are still lost or re-read this section of the manual a few times and then try again. Chapter 7 - More Advanced Features Page: 145 QWK Offline Mailing Ezycom features a built in QWK offline mail processing facility, a feature quite absent or implemented through a third party door in other packages. QWK is a mail packet standard that has been around for quite some time now and there are mail reader programs for just about every computing platform in common use. There are often many to choose from on each platform too. Some common ones include The Silly Little Mail Reader for DOS, WinQWK for Windows, KWQ for OS/2 2.1 PM and QBLUE for the Amiga. The number available is growing daily. QWK allows users to download all the mail of interest to them in a single compressed bundle for reading later when they are no longer connected to the BBS, hence the term offline mail. They can then reply to messages they read and their mail reader will then make up a reply bundle to be sent back to the BBS on their next call. The BBS then processes this as if it were written online. This allows much greater participation in mail networks and so is a boon for any sysop trying to encourage users to write mail. Configuring Your System To Create QWK Mail There are a number of settings throughout EZYCFG that you need to set up in order for QWK to work. On the Mail Areas menu you will find an option Offline Mail. Selecting this option brings up another menu that has seven options for you to configure. o Unique QWK Filename - Here you define the 8 character filename that all QWK bundles from your BBS will bear to distinguish them from other systems. Eg. If your system was called DOGS BBS, you could use DOGS-BBS and so any QWK packets from your system would be named DOGS-BBS.QWK and any reply bundles sent back would bear the name DOGS-BBS.REP. o Maximum Messages - This is the maximum number of messages you will allow a user to scan out at once in total. The value you put here will largely depend on your disk space. Count on requiring around 1.6K of space for each message you allow for per node you have on air (since more than one user can do this at once). These files are built in the TEMP path (per EZYCFG) and so this is the drive the space is needed on. Pointing this to a sufficiently big RAM drive will speed QWK building up massively. Chapter 7 - More Advanced Features Page: 146 o QWK Message Board - Any BAD QWK mail will end up on this message board. One would normally point this to the same area as their bad echomail area. o Def Local Qwk UL Path - If you choose use an offline message reader to answer your mail, set this option for the directory that the .REP packets are stored in. Ezycom will import the messages and then delete the .REP packet. o Def Local QWK DL Path - Set this option to where you want Ezycom to store your QWK/Bluewave mail packets. o Receive Own QWK - If this is set to Yes, then any messages posted by the user will also be included in downloaded QWK bundles otherwise they will be skipped during building. o Taglines in BWAVE - Set this to yes to allow Users who upload Bluewave mail pkts to include taglines in their replies. (Only registered versions can use the Bluewave options) Here are some other things to make sure you have configured: o Be sure to set a QWK Name for each message area on your system you want to be downloadable. If no name is defined it will not be selectable by users for their QWK bundles. o Message areas must also have the Combined setting set to Yes for them to be selectable in a QWK bundle. Ezycom looks at all security settings when scanning out mail so users CANNOT get access to messages they would normally not be allowed to whilst online. Be careful also if you move message areas around (using ALT-M in EZYCFG or by using EZYUTIL). QWK works on an area number basis only and so depending on how regularly your users send back replies, an area may have moved since they last did so and their message could end up bad or in the wrong area (and get you into trouble when the conference moderator sees it). Ezycom will also complain if there is not enough space on the specified drive to build a user's requested QWK bundle. Chapter 7 - More Advanced Features Page: 147 To allow users to download QWK mail you should set up a special menu that allows them to do the following: - configure their combined settings including by global means - set their compression preference - set their default download protocol - reset their last read pointers - download QWK bundles - upload QWK bundles - allow them to set maximum messages per bundle/area - allow them to set the maximum age of messages to bundle The applicable menu commands to do all this can be found throughout Appendix A. Netmails In QWK Ezycom implements special support to allow netmails to be correctly posted using QWK. Any messages bundled into downloadable packets from netmail areas will automatically get a From: line inserted (where will contain a valid FTN number) at the top of the message to assist the user in replying. When a user replies they should use a To: statement in the same place at the top of the message. Ezycom will automatically process this message as per usual once it has this information. Remote QWK Maintenance Ezycom also supports remote ADD and DROP of QWK areas. It will look for these messages whenever a QWK .REP bundle is uploaded and act on them accordingly. Questionnaires A Questionnaire is simply a script or series of commands that Ezycom can execute. Ezycom has a VERY powerful set of commands that will allow you to do almost anything you like including running your entire BBS out of a questionnaire file. Questionnaires are so named because they were originally invented for asking users a series of sysop customised questions and then storing the answers given. These days they do that plus much more. Questionnaires will be very simple to learn for anyone with programming experience. Those without any programming experience should experiment using simple commands at first and then move on Chapter 7 - More Advanced Features Page: 148 to more advanced commands. Appendix B is a complete reference to all the available commands including examples on how to use them. The commands are introduced gradually in order of complexity and are grouped together by type. You will need to find a suitable text editor to make questionnaire files. The popular shareware editor QEdit or even DOS's EDIT command will do this task nicely. Questionnaire files bear the extension .Q-A and must be located in the Ezycom system directory. They are executed using menu type 12. Compiled Questionaires The main difference in compiled questionnaires and regular versions is that the compiled versions are trimmed of excess characters and gotos/gosubs are optimized for speed. This leads to greater execution speed. Changing the compiled Q-A with an editor in any way will cause weird results. Instead, the Q-A should be altered and then recompiled. Menu Option 93 is used to execute compiled questionnaires. Use EZYUTIL2 -compile to compile the questionnaire. Eg: ezyutil2 -compileTest.q-a Special Questionnaire Files There are some special questionnaire file names reserved for particular purposes in Ezycom. When the time is right and Ezycom detects the presence of these files, it will automatically call them. The purpose of each is outlined below. REG-EXP.Q-A This is a questionnaire defined by you that Ezycom will automatically run when a users registration has run out. This is only used if you have enabled either rego days in the Limits manager in EZYCFG or you have specified an expiry date in the user file for a particular user. NEWUSER.Q-A This allows you to define a new user questionnaire which is presented to each new user after they have finished answering login configuration questions. Be sure to have Chapter 7 - More Advanced Features Page: 149 enough login time set for new users in EZYCFG to answer login questions as well as answer this questionnaire if you have this enabled. MENUCMNDs are NOT available in this questionnaire. NEWUSER2.Q-A This allows you to define a secondary new user questionnaire. This one is run after new user record has already been written so MENUCMNDs are now valid. EMAIL.Q-A This questionnaire allows your Users to see what their email address is on your BBS and shows the proper way to use the email address in a message. Custom Page Tunes Ezycom has the ability to play page tunes while the user is paging the sysop. They take the form of PAGExx.EZY files in the Ezycom system path. This first tune should be named PAGE01.EZY, the second PAGE02.EZY and so on. These are plain text files and they contain either a comment (indicated by a semi-colon ; at the start of the line), the TONE [hz] [1/100's second] command or the WAIT [1/100's second] command. The [hz] indicates the frequency (pitch) of the tone to be played. Following is a table of frequencies together with their respective musical notes. Note Octave Octave Octave Octave Octave Octave 1 2 3 4 5 6 C 45 134 268 536 1071 2145 C# 71 142 284 568 1136 2273 D 75 150 301 602 1204 2408 D# 80 159 319 638 1275 2551 E 84 169 338 676 1351 2703 F 90 179 358 716 1432 2864 F# 95 190 379 758 1517 3034 G 100 201 402 804 1607 3215 G# 106 213 426 851 1703 3406 A 113 225 451 902 1804 3608 A# 119 239 478 956 1991 3823 B 127 253 506 1012 2025 4050 Chapter 7 - More Advanced Features Page: 150 For Example: To play middle C for 1 second and then wait (have silence) for 1 second your page file should contain: TONE 45 100 WAIT 100 File Points - What Are They? (Registered Versions Only) File Points are a file credit management system that do not incur the problems associated with the normal File/Kilobyte Ratio Systems. The unique feature of file points is that when user(s) download a file, the uploader of that file is given credit for the download. So if user(s) upload old/boring files that aren't popular, then they will not receive many (if any, depending on the configuration) filepoints for their upload. This system encourages user(s) to upload decent files as the more times files they uploaded are downloaded by others, the more points they get and so the more downloads they can take. EZYUTIL - A Powerful Collection Of Tools Most of Ezycom's many general purpose utilities are tucked away nicely into a utility called EZYUTIL. There are some very powerful options available from this seemingly insignificant utility and so a large section of this chapter has been devoted to discussing each of these in turn. Message Importing To import a message file into your message base use the following command line : -A This is the message area to post the contents of the file into ie. the message area number in EZYCFG. -F This is who the message is to be from. (Note: You must use underscore characters where there are spaces in the name eg. Peter_Davies). Chapter 7 - More Advanced Features Page: 151 -T This is who the message is to be sent to (once again underscores need to be used where appropriate) -U<5D address> This is the full 5 dimensional network address to send the message to (should it be a netmail message). There are also some optional parameters for use in conjunction with this option in order to specify the status flag(s) to place on the message being posted. They are: PVT Private Status KS Kill/Sent Status FILE File Request Status DIR Direct Status C Crash Status -S This is the subject of the message to be imported (once again, place underscores where spaces are needed). -L Full path and filename of message text to import. For Example: EZYUTIL -IMPORT -A1 -FPeter_Davies -Tall -SHi -LTest.TXT Automatic word wrapping is carried out on any lines that are too long in the text file that you are importing. Quickly Re-arranging Message Areas You can use EZYUTIL to quickly sort message areas using a variety of sorting methods. Use -SORTMESS to activate this command and use the following command line options to control its action: -BYGROUP If this option is present then EZYUTIL will sort message areas by message area group and then by message area name. -BYTAG If you specify this option then message areas will be sorted by echo tag and then by area name Chapter 7 - More Advanced Features Page: 152 -BYAGROUP Use this option to sort by the echo area group, then either the message area name or message area tag. -FROM Use this to specify which message area to begin sorting from (as per the area number in EZYCFG). EZYUTIL will default to area 1 if you do not specify this option. -TO Use this to specify the highest message area that EZYUTIL should sort to. It will default to the highest area you have defined if you do not specify this option. While sorting EZYUTIL will move all the messages within the areas around, it will move the message area entries in EZYCFG and it will update combined and last read pointers in the user file. It will also update the netmail boards and other references to message boards (such as the bad area) elsewhere in EZYCFG. Naturally it will not update batch files and menus that reference areas specifically however so you should check for this carefully after it has finished. You MUST NOT carry this function whilst users are online to your system. Also if you are in any mail networks, ensure that ALL pending echo/netmail has been scanned out and that all echomail message areas have pending linking completed on them before sorting message areas. This should not be a problem if you always link after mail tosses and always scan new mail out straight after users log off. Pruning Batch History You can use EZYUTIL to prune back your download batch history data file so that it does not get too big. -BATCHOLD This specifies how many days to keep batch history for. 7-14 days should be quite adequate in most cases. Note however that the data file for batch history is a linked list so it never shrinks in size, so this option merely frees up entries. After some time however it should stop growing and remain static in size. Chapter 7 - More Advanced Features Page: 153 Rapidly Deleting Certain Messages This feature of EZYUTIL allows you to specify certain text to find in messages areas and when found EZYUTIL will cause the deletion of those messages from your message base. The -STRIPMSG option activates this function and the other command line options are as follows: -L Use this to specify the filename of a special text file that controls message deleting. This file supports the following commands, each instance of which has to be on a separate line. S means search the Subject for the following text. F means search the From field for the following text. T means search the To field for the following text. B means search the From & To field for the following text. For Example: STest TThe Sysop FIdiot BStupid The search is not case-sensitive and the text only has to be a sub-string of the appropriate part of the message. Spaces should NOT be underscored. -A This is an optional field. If present it is used to tell the message stripper to only search the specified message area. By default all message areas will be searched. Undeleting Messages One function of EZYUTIL also allows you to undelete specific messages. Use the following command line: EZYUTIL -UNDELETE You will then be prompted for the message area number from where you wish to undelete the messages that it contains within. If you select a valid message area, then EZYUTIL will undelete all the messages in that conference that have been marked as deleted. Only messages that were deleted Chapter 7 - More Advanced Features Page: 154 AFTER the last MSGCOMP will be undeleted however. After a MSGCOMP, you can NOT retrieve any messages that were deleted. Sorting Your Node Manager EZYUTIL can sort your up/downlink node manager so that all nodes appear in numeric/domain order. Use the following command line: EZYUTIL -SORTNODE All your links will be sorted into ascending order while the pointers in your export lists are also being updated for each message area. It may take quite some time to do if you have a complicated message export setup. Sorting Your Netmail Folder To quickly sort/renumber the messages in your netmail folder (*.MSG) use the command: EZYUTIL -SORTMSG Rescanning Echomail For New Downlinks Often when you connect up downlinks to new echomail areas they will want some mail to start their areas off. Use the -RESCAN option to achieve this manually (they can use Areafix to do it remotely). This option has a couple of parameters: -A Use this to tell EZYUTIL which echomail area (as per EZYCFG) to rescan the mail out from. -U
This is the full 5 dimensional address of the node in your node manager you want to rescan the mail out to. EZYUTIL will generate the necessary information for EZYMAIL to later rescan the most recent messages (up to the maximum specified in EZYCFG) out to the system specified. All messages will carry the @RESCANNED kludge to prevent dupe loops. Chapter 7 - More Advanced Features Page: 155 Stripping Log Files EZYUTIL also allows you to easily prune back your system log files if you make use of the -STRIPLOG parameter. Use the following command line parameters with this: -L Use this to specify the name of the Ezycom log which you wish to be stripped. -D Use this to specify the number of days of log which you wish to keep. For example: -D7 would keep the last 7 days of log file. You are best to run this function whilst no part of Ezycom is active else the log file you are trying to prune could be in use and you will get a share violation. Automatically Building File Areas EZYUTIL provides you with a very quick way to automatically file areas. This is especially helpful if you are in the habit of adding new CD-ROM discs to your BBS which normally have thousands of files, hundreds of directories and hence would require many hours of work to set-up. This is no longer necessary. Run EZYUTIL with the -MAKEFILEAREAS parameter using the following options: -D This tells EZYUTIL which drive to search (including the colon). The entire contents of this drive will be searched for the file list name given. When found, that path will be added into your file database along with the contents of that directory. -R This allows you to substitute a different drive or network path for the used in the -D option. Ezycom can handle full network style paths if need be. -T