This is an old revision of the document!
Table of Contents
SlyVote
SlyVote version 0.34 beta (released on 2018-01-28) is a voting booth door for Synchronet (written in JavaScript) for viewing and voting on polls, as well as creating polls. SlyVote makes use of the voting feature added in Synchronet 3.17 and also supports displaying of avatars for the people who post polls (avatars were also added in Synchronet 3.17).
Getting SlyVote
SlyVote can be acquired in one of the following ways:
- Browse to the
CVS
and download SlyVote from the SlyVote directory withinxtrn
(CVS link or mirror CVS link) - Download SlyVote from the Digital Distortion BBS Doors and Tools page
Minimum Synchronet version and .js scripts
SlyVote requires Synchronet 3.17 or newer (for 3.17 beta, a build from August 19, 2017 or newer) and the latest of the following JavaScript scripts (in the exec
/load directory) :
- sbbsdefs.js
- text.js
- frame.js
- scrollbar.js
- DDLightbarMenu.js
- smbdefs.js
- avatar_lib.js
In addition, SlyVote has an option to post a poll, which executes postpoll.js (in the exec
directory).
SlyVote requires an ANSI terminal, since SlyVote makes use of lightbar menus which do cursor movement, as well as a scrolling frame to display poll messages.
Installation
First, ensure that you have an up-to-date Synchronet system running Synchronet 3.17 or higher, and ensure that your Synchronet JavaScript files in sbbs/exec
/load are up to date (it wouldn't hurt to also ensure your .js files in your exec
directory are also up to date). The easiest way to update your JavaScript files would probably be to download sbbs_run.zip from Vertrauen, extract that somewhere, and then copy the .js files from exec
and exec
/load to your sbbs/exec and sbbs/exec/load directories.
Before the official Synchronet 3.17 is/was released, daily 3.17 beta builds can be downloaded from Vertrauen (the home BBS of Synchronet). For daily pre-built Windows binaries/executables, download sbbs_dev.zip, and for Linux binaries, download sbbs_dev.tgz, or you may build it yourself (see nix
for building Synchronet on *nix systems). See dev
for more information on updating to the latest development build of Synchronet.
SlyVote is comprised of the following files:
- SlyVote.js: The SlyVote script
- SlyVote.cfg: The SlyVote configuration file
SlyVote.cfg is a plain text file, so it can be edited using any text editor.
You can copy SlyVote.js and SlyVote.cfg to a directory of your choice.
Configuration with Synchronet
Run SCFG (Synchronet configuration) and add the following configuration to SCFG->External Programs->Online Programs (Doors) in the section of your choice. Note that this assumes SlyVote is installed in sbbs/xtrn/SlyVote.
Name SlyVote Voting Booth Internal Code SLYVOTE Start-up Directory ../xtrn/SlyVote Command Line ?SlyVote.js Clean-up Command Line Execution Cost None Access Requirements ANSI Execution Requirements Multiple Concurrent Users Yes Intercept I/O No Native Executable No Use Shell to Execute No Modify User Data No Execute on Event No Pause After Execution No BBS Drop File Type None Place Drop File In Node Directory
Configuration file
SlyVote can be configured to use a single sub-board or multiple sub-boards, allowing the user to choose a sub-board and vote on polls and view poll results in the various sub-boards configured with SlyVote. SlyVote's configuration file has the following options:
Setting | Description |
---|---|
showAvatars | Whether or not to show avatars of the people who post polls in the results. Valid values are true and false. Defaults to true. |
useAllAvailableSubBoards | Whether or not to use all available sub-boards where voting is enabled. Valid values are true and false. This defaults to true. If this is set to true, then any subBoardsCodes values in the configuration file (described below) will be ignored. |
subBoardCodes | A comma-separated list of internal sub-board codes specifying which sub-board or sub-boards to use for polls. A single sub-board code can be specified if you only want to use one sub-board with SlyVote. Also, subBoardCodes can appear multiple times in SlyVote.cfg, and all specified sub-boards will be used. If any of the specified sub-board codes don't exist or refer to sub-boards that don't allow voting, then they will not be used. |
startupSubBoardCode | Optional: An internal sub-board code for a sub-board to automatically start in if there are multiple sub-boards configured. If this is set, SlyVote will not prompt the user for a sub-board on startup and will start in the sub-board specified by this setting. |
Additional notes for sysops
For sysops, polls can be deleted when viewing results from SlyVote.
SlyVote uses the following lines from Synchronet's text.dat file (located in the sbbs/ctrl directory):
- 120 (CantPostOnSub)
- 501 (SelectItemHdr)
- 503 (SelectItemWhich)
- 759 (CantReadSub)
- 779 (VotingNotAllowed)
- 780 (VotedAlready)
- 781 (R_Voting)
- 787 (PollVoteNotice)