********************************************************************** FTSC FIDONET TECHNICAL STANDARDS COMMITTEE ********************************************************************** Publication: FSP-1014 Revision: 1 Title: Moderating by Voting echomail distribution system Author: Amir Shabashvili 2:5049/12@fidonet Adel Chepckunov 2:5049/57@fidonet Revision Date: 21 Sept 1999 Expire Date: 21 Sept 2001 ---------------------------------------------------------------------- Contents: 1. Background 2. MV-system components 3. Vote transport protocol 4. Moderating by Voting process overview 5. MV-conference initializing procedure 6. Formats 7. List of MVS-compatible software 8. MV-System example ---------------------------------------------------------------------- Status of this document ----------------------- This document is a Fidonet Standards Proposal (FSP). This document specifies an optional Fidonet standard protocol for the Fidonet community, and requests discussion and suggestions for improvements. This document is released to the public domain, and may be used, copied or modified for any purpose whatever. Abstract -------- Moderating by Voting establish additional procedures of FidoNet echomail distribution for giving opportunity to every member of echo-conference to take part in moderating process by sending moderating messages. Moderating messages must be processed by special software, then this information must be stored and used for auto-moderating of incoming echo-stream on the nodes where MV-System installed. 1. Background ------------- Objectives This document defines terminology basis, data structures, rules and procedures of Moderating by Voting for better cooperation of MV-systems software developers and for compatible software developing. Motivation for a MVS An idea of Moderating by Voting comes from authors real experience in FidoNet echomail usage and moderating. We refer to FTS-0004, FSC-0074 as to basic documents concerning echomail distribution. There are three well-known schemes of echo-conference "driving" and, correspondingly, three kinds of echoes exists in FidoNet: - non-moderated; - moderated in "Usenet" style (pre-moderated); - moderated in "FidoNet" style; MVS introduce to the new moderating scheme, and we hope this method will be helpful, for example for thouse popular R50 echoes, where traffic is growing day by day and tend to flow out of moderator's hands. Terminology Because of much number of new terms used in this document and some of this terms are very important for MV System realization, we place next glossary in the beginning of document: Moderating - echo-messages deletion process. Moderating by Voting System (MV System, MVS)- software for FidoNet echoes auto-moderating. MV-conference, MV-echo, (Moderated by Voting Echo-Conference,MVE) - moderated by voting echo-conference. Moderated Message (MM)- message which must (may) be moderated. Vote Message (VM) - message of special format which participant of echo-conference sends to all MV-Systems to express his opinion about message he read (twit or anti-twit, vote "for" or "against"). V-conference,V-echo,Twit-echo (Vote Transport Echo-Conference,VTE)- echo-conference for Vote messages transportation. Moderating by Voting indicator (MV-indicator,MVI) - part of message header (AddressFrom, Subject or combination), used as moderating criterion in Vote Message. Twit-time - lifetime of moderating decision. Coordinator,V-Coordinator (VC) - System Operator, responsible for some MV-echo(s) configuring and managing Configuring message (CM) - specially formatted message which VC sends to all MV-systems for whole MV-bone (see below) parameters configuration (for some MV-echo) Moderating by Voting Criterion (MV-Criterion, MVC)- result of Vote Messages processing, used as message filtering criterion in moderating process. Moderating by Voting Base,Twit-Base (MVB) - database which contains MV-Criterions. Moderating by Voting Bone (MV-bone) - set of FidoNet nodes using MV-system for MV echoes distribution 2. MV-system components ----------------------- Name Function Vote transport Protocol for VMM dissipation from source system to all MV-systems of current MV-Bone. VMM Processor MV-Criterions from Vote Messages construction. MV database Vote processing, storing criterions in MV-Base. MV Executor Makes decisions based on MV-Base info and moderated MV-echo parameters; moderating. MVFix Answers on downlinks request; produce reports and info; statistics; configuring MV-system. 3. Vote transport protocol -------------------------- Echomail transport (fts-0004, fsc-0074) is used as Vote transport protocol. It is possible to use alternative transport types (for example, netmail or file-transfer) for backup or testing purposes. Special echo-conference must be used for vote transportation. 4. Moderating by Voting process overview ---------------------------------------- - echo-conference participant meets message which annoys him and sends moderating message. - All MV-Systems catch votes from vote-transport echo area. - Votes are being processed on every system using the same algorithm for same echo area. - resulted criterions are placed in MV-Base. - every echo-message coming to the system with MVS installed must be compared with criterions stored and then moderated, if needed. Remark: See more detailed description in Addendum I. 5. MV-conference initializing procedure --------------------------------------- - Coordinator creates echo-conference by usual way on one or more MV-Bone hubs (it is recommended to add .MV or _MV prefix to echo tag, for example: RU.MV.ANEKDOT, for better echotags navigation). - Coordinator places echo-conference rules in the conference, which contains MV echo configuration parameters and point to "START" time (HH/DD/MM/YY UTC). After this time MV mechanism must be used. Before "START" time conference exists as non-moderated; moderating messages in Vote-transport echo for this conference are allowed. Coordinator can change "START" time, if he wants to. - 1st variant: every potential participant of echo discussion must notify coordinator of MV-echo about his presence by netmail. - 2nd variant: Coordinator collects info about planned population of echo from his own sources. - Coordinator sets MV-echo parameters depending on amount of active participants of moderated echo. - Coordinator puts specially formatted Configuring Message (CM) in VT-echo. - Based on this Configuring message all MV-systems update configuration for this MV-echo area - MV-mode usage of conference begins since "START" time coming. 6. Formats ---------- Vote message format Header: NameFrom - VM-message source system Sysop name AddressFrom - VM-message source system address NameTo - Name of moderated message sender Subj - subject of moderated message Body: One line, consist of fields with space(s) as delimiter NN set of used symbols destination 1 0..9,"/",":","." 4D address 2 ASCII moderated echo-conference EchoTag, letter case is unimportant. 3 1 , 0 0 - twit (vote "against"), 1 - antitwit (vote "for"). Must be used one symbol only. 4 A, S MV-Indicators. A-AddressFrom, S-Subject of moderated message. Symbols may be used in combination. Letter case is unimportant. All information below the first line will be ignored. Example: ------------------------------------------------------- From: Amirko Shaab 2:5049/12.12 To: Amir Shabashvili Subj: Hen cooks egg! ------------------------------------------------------- 2:5049/12 RU.ANEKDOT.VM 0 S MV-Criterion format MV-Base record being used as moderating criterion must contain next fields: Name description -------------------------------------------------------- EchoTag Moderated echo name (or its number in configuration file) M-indicators One or more MV-indicators. -------------------------------------------------------- Remark: You may add your own fields in MV-Base structure; one possible example in Addendum below. Configuring message format NameFrom - "Coordinator","VC" AddressFrom - Vote Coordinator address NameTo - "MVFix","MVS" AddressTo - destination address (used in case of netmail transportation) Subject - password (optional) Remark: message body must be defined by programmer; see example in Addendum I. 7. List of MVS-compatible software ---------------------------------- - Relax! packet processor. Author Adel Chepckunov , 2:5049/57, written under GNU license, see: ftp://ftp.n5049.z2.fidonet.net/pub/mvs 8. MV-System example -------------------- Configuration parameters (may be set separately for every MV-conference) Name Description ------------------------------------------------------------------ TimeCollect Votes collection time TimeCollectMax Maximum vote collection time(if after TimeCollectMax moderating process is not started, criterion must be deleted) TimeMin Minimum criterion action time TimeMiddle Middle criterion action time TimeMax Maximum criterion action time VotesMinA Amount of votes "against" (twits) which is enough to activate criterion with combination of indicators during TimeMin action time. VotesMidA Amount of twits which is enough to activate criterion with combination of indicators during TimeMiddle action time. VotesMaxA Amount of twits which is enough to activate criterion with combination of indicators during TimeMax action time. VotesMinB Amount of twits which is enough to activate criterion with one of Address,Address+Name,Name, Subject indicators during minimum interval (TimeMin). VotesMidB Amount of twits which is enough to activate criterion with one of Address,Address+Name,Name, Subject indicators during minimum interval (TimeMiddle). VotesMaxB Amount of twits which is enough to activate criterion with one of Address,Address+Name,Name, Subject indicators during minimum interval (TimeMax). PointSw On - node only mode, Off - accept votes from points ------------------------------------------------------------------ Remark: Time measured in 24h. Algorithm - all installed MV-systems catch Vote Messages from VT-Echo and put collected MV-Indicators in local MV-Bases. - Set of collected and stored MV-Indicators forms Moderating Criterions. - Criterion must be launched in action after TimeCollect if number of votes is equal or greater than VotesMinA (If after TimeCollect criterion still is not working, it must be deleted). - the time criterion which is still working as moderating rule must be equal to TimeMin, TimeMiddle or TimeMax, depending on number of votes. After the end of criterion's lifetime, it must be deleted from MV-Base. - Vote-message collection continues after time criterion activated and moderating decision can be changed. Remark: Votes with more common indicators (Address, Subject) take part in voting processes with more "soft" indicator (Address+Subject), if exists. Configuring message Echo-mail or netmail transport must be used for Configuring Messages transportation. Message body consist from one to three lines. First line contains the command. Command starts with '%' symbol. Next two lines contain additional information for this command. Only 'CONFIG' command is described in this document. '%CONFIG' command 'CONFIG' command is used for configuring of those MV Systems, which receipt configuring message(s). 2nd line contains moderated conference echotag. 3rd line consists of the numerical fields delimited by space (' '): TimeCollect TimeCollectMax TimeMin TimeMiddle TimeMax VotesMinA,...,VotesMaxB All lines below 3rd line must be ignored. Example (case of netmail-transport): ---------------------------------------------------- From: Coordinator 2:5049/12 To: VMS 2:5049/57 Subj: ---------------------------------------------------- %CONFIG KAZAN.GENERAL.VM 4 7 30 60 90 10 15 20 15 30 50 MV-base structure Field Name Description ------------------------------------------------------------------- CreationTime The time criterion was created EchoTag Echotag of moderated conference (or its number in configuration file) NVotesYes Number of votes "Against" (twits) NVotesNo Number of votes "For" (anti-twits) V-Addresses List of addresses votes are accepted from (use this list for duplicated voices checking) M-indicators one or more moderating indicators. ------------------------------------------------------------------- A. Author contact data ---------------------- Amir Shabashvili FidoNet: 2:5049/12 E-mail: ashabash@zarech.ru WWW: http://ashabash.zarech.ru Adel Chepckunov FidoNet: 2:5049/57@fidonet B. Acknowledgements ------------------- The authors would like to thank Alex V. Ivanov for fixing of our poor English. C. History ------------ Rev.1, 19990921 First release.