ExcelPoll V1.3 (c) 1994 Daniel Makovec An Arexx Poll booth for Excelsior! BBS Well, I've just finished this ElNeato voting door for E!, and to be quite honest, I'm not really the type for long and fancy docs, and I've made the program as friendly as possible, so it should be fairly self explanatory. To install the program, copy it to wherever you keep your doors (how about the doors: path?) ;) Ok, how do we set it up? Well, there's two ways: Firstly, if you just want to bung it in the doors sub board with all the other doors, you can, like this: Go into the doors subboard, and type: A (add) Then, provided you've stuck the prog in the default door, just press when asked for a dir. just hit when asked for a pattern, and type 'y' when the line containing 'ExcelPoll.rexx' comes up. Enter a nice description (like 'The world's greatest voting program') next, and unless you don't want guests using it, leave access levels at 1-32. This is an (A)rexx door, so enter it in. don't worry about the IPL variable thingy, or the days offset (what use is that thing anyway, does anybody know?). I think having only 1 user at a time is the safer option. I've never tried to get two copies of the same prog going simultaneously, so keep exclusive access on just in case. That should be it! OK, the other (and I think better) way to set it up is to edit the file EX.BBSMenus. Now, you can add the program to any section you like, usually you use either the Main Menu commands, or the global commands. If you want to access the prog from the main menu only, then find the end of the section (about line 38), and add the folowing in on the next line, following the format of the above lines: 610, V, 0, "1-32", "\#0Doors:ExcelPoll.rexx" If you wish, you could add the above line to any section in the entire file, depending on where you want people to vote from. Now, in order for this to work, go out to the main control panel window on WB, and select the "Extras->Reload->Menus" menu item. The program should then be immediately activatable. As far as personal settings are concerned, edit the program, and locate the following block of text near the beginning of the file: /**************************************************************************/ /* Change these settings to personal preference */ AddAccess = 20 DelAccess = 20 EdtAccess = 20 TempPath = 'RAM:t/' TopicPath = 'ExcelBBS:Doors/' TopicFile = 'vote.data' UserFile = 'vote.users' /**************************************************************************/ For faster access, all disk IO is done to a file in RAM (in the TempPath path). The program then copies the completed file to the 'hard copy' file on disk (in the TopicPath path). Also, as seen above, you can set the access at which users can edit, add, or delete poll topics. Just change the numbers above to whatever you like. That's about it! *** NEW *** Also included in the package is ExcelPollFrontDoor.rexx. As the name suggests, this is a front door to ExcelPoll. When this program is added to the login script (ExcelBBS/Text/English/Text.Welcome.User), it checks for any topics the user hasn't voted on. If it doesn't find any, it exits straight away. If it does tho, it puts a prompt up asking if they wish to vote now. If they don't, once again, it exits cleanly; if they do, it loads ExcelPoll.rexx (in the DoorPath path, as set in the program the same way as the settings explained above). This is very handy particularly if you want constant input into the BBS from your users. Other settings here include MinAccess and MaxAccess, which allow you to define the access groups that are allowed to vote. To run this at login, add the following line to ExcelBBS/Text/English/Text.Welcome.User: \#0Doors:ExcelPollFrontDoor.rexx Ok, hope that's all you need to know... Any probs just mail me! ;) My contact address is at the end of this document. OK, now for the legal stuff: This program is MavWare. I'm calling it MavWare because I do not know of another Xware name that has the terms and conditions I use. The conditions of use of this program are: 1. This program, and any algorithms used within, although freely distributable is the property of Daniel Makovec, the author. If you wish to use any parts of it in your own creation, contact me first!!! 2. No fee whatsoever may be charged for the copying of this program, not even disk copying fees (hey, let's face it, if you're on a bbs, who needs a disk?) :) 3. This program must be used 'as is'; the only legal modifications you may make are to lines 12 thru 23 inclusive, as displayed above, for the soul purpose of changing default access and path settings. 4. This program must be distributed AT ALL TIMES with the files EXCELPOLL.DOC, EXCELPOLLFRONTDOOR.REXX and full credit must remain with the author (me) 5. If you use this program on your BBS, you MUST send me some Email to state this, so I can keep track of program usage. Include your name (or your SysOp's name if you are not), the BBS name, address (just city/country will do, along with Email address), BBS phone number, version of E! and ExcelPoll you are running, 6. The usual disclaimer notice: I ACCEPT NO RESPONSIBILITY WHATSOEVER FOR ANY DAMAGE, LOSS (EITHER PERSONAL, FINANCIAL OR MENTAL) CAUSED BY THE USE OR DISTRIBUTION OF THIS PROGRAM. (In short, if the stock exchange collapses, or your computer fries, or you slice your finger off in DF0:, DON'T COME RUNNING TO ME!!! Alright... Geez I hate rules and regulations, but without them there would be anarchy I suppose, so that's 'em. Simple enuff I hope ;) Last but not least, enjoy the program!! I enjoyed the challenge of whipping it up, and probably would have got it done much more quickly if I hadn't been working all week :) Please, send me any post cards, flames, bug reports, etc. They're all optional, but remember rule number 5 above! History: (sorry about the setting out, I ripped it straight out of the actual program) 0.0 - 0.99 : Internal revisions 0.99a : Added in compensator for non existant data files 0.99b : Beta test release version, released to Kym Dyer (thanx mate!) of Mystic BBS Added 'break proofing'. Now user cannot halt program with a CTRL-C or the like. 0.99c : Modified file handling. Now writes data to RAM, then copies RAM file to disk. This results in a 75% speed increase during file handling. Much nicer! :) 0.99d : As the legend of iterative enhancement continues.... Major enhancements here! Accidently stumbled upon a bug with the topic adder. If you selected to add a new topic, then typed in a topic title, and a few lines, then said it wasn't ok, then hit return to escape, the topic counter was not reset, consequently an infinite loop was set up. I have fixed this bug now. (One of those obscure ones from awkward situations that avoids detection most of the time Also, topic deleter would delete the wrong topics :). Fixed Cleaned up graphical display a little Finally, modified data file operation so it will only save when necessary, another time saver, as well as eliminating some extra unnecessary lines of code Now only saves hard copy on exiting program. Gives greater speed. This way, while there is some delay after entering new data, it's not as bad as if both the soft and hard copies were written simultaneously, thus data writing time is spread out :) 0.99e : Finally!!! Worked out that the designers of E!, just to be F******* awkward, decided that E!'s Arexx port wouldn't use the standard commands "parse pull" and "say". Consequently have used a find/replace to change above commands to "Transmit" and "Query" (aka TR and QU). Now we're getting somewhere!!! Also, am now able to obtain user/bbs data from the port, so by next release One Vote Per Person and security access restrictions should be in place. 1.00 : Now fully operational as a standard Arexx door. Added custom IPL pen colour routines, dependent on terminal type, so you don't get all sorts of spastic command sequences coming up when IPL is off. 1.1 : Access restrictions in place One vote per person in place 1.2 : *** First Public Release *** Extensively debugged all over the place :) Added ExcelPollFrontDoor.rexx. Now user can have a prompt appear as they log on, telling them they haven't voted on a topic. 1.3 : Ah, forgot to use E!'s emergency exit mode, when user drops carrier. Have added this in now, so the program won't hang when the person loses the connection. Still to come: Maybe special RIP support, depending on demand. Anything else? Tell me! :) Author: Daniel Makovec Max's Net: Daniel Makovec E!Net: Daniel Makovec (suprise, huh? ) :) InterNet: 9405566s@lux.levels.unisa.edu.au mav.bkroom.apana.org.au I won't bother leaving a snail mail address, coz obviously anybody who uses this program will be on a net of some sort anyway! Special thanx to: Kym Dyer, for inspiring me to make Excelsior do something useful, and for the book! :) BJ Dibbins, for lending me the E! book, and helping me with the Arexx port stuff. CatchU... ___ /\/\ /\ / ___/ \/--\/