Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
module:sbbslist [2017/12/10 18:45] – Updated the examples sub-code to match the current default/stock config: "dove-syncdata" digital manmodule:sbbslist [2019/07/17 00:28] – [Configuration] Use syntax highlighting digital man
Line 1: Line 1:
-====== sbbslist ======+====== BBS List ======
  
-The Synchronet BBS List v4 module (''[[dir:exec]]/sbbslist.js'') provides the following functionality:+The Synchronet BBS List module (''[[dir:exec]]/sbbslist.js'') provides the following functionality:
   * Online BBS List (interactive door mode or just a read-only listing)   * Online BBS List (interactive door mode or just a read-only listing)
   * Exports locally created BBS entries to networked message base (e.g. SYNCDATA)   * Exports locally created BBS entries to networked message base (e.g. SYNCDATA)
Line 10: Line 10:
   * Auto-synchronizes statistics (e.g. totals) in the local system's entry in the database   * Auto-synchronizes statistics (e.g. totals) in the local system's entry in the database
   * Auto-verifies TCP/IP services of listed BBSes and tracks the results   * Auto-verifies TCP/IP services of listed BBSes and tracks the results
 +
 +===== Dependencies ===== 
 +
 +As of this writing, sbbslist v4 is known to be compatible with Synchronet v3.17.
 +
 +A JavaScript ''printf()'' bug in Synchronet v3.16 causes sbbslist v4 to crash in Synchronet for Linux, but appears to work fine in the Windows build.
 +
 +Files known to be required by sbbslist v4:
 +  * ''exec/sbbslist.js''
 +  * ''exec/load/sbbslist_lib.js''
 +  * ''exec/load/sbbslist_html.js''
 +  * ''exec/load/sbbsdefs.js''
 +  * ''exec/load/sockdefs.js''
 +  * ''exec/load/portdefs.js''
 +  * ''exec/load/modopts.js''
 +  * ''exec/load/graphic.js''
 +  * ''exec/load/termcapture_lib.js''
 +  * ''exec/load/synchronet-json.js''
  
 ===== History =====  ===== History ===== 
Line 33: Line 51:
   * ''[[dir:exec]]/[[dir:exec#load]]'' for loadable library files, e.g. ''sbbslist_lib.js''   * ''[[dir:exec]]/[[dir:exec#load]]'' for loadable library files, e.g. ''sbbslist_lib.js''
  
-===== Configuration ===== +===== Install  =====  
 + 
 +From command-line, run ''jsexec sbbslist install'' 
 + 
 +If all the prerequisites were met, this step will perform all the necessary configuration changes mentioned later in this document and you should be ready to go with the new Synchronet BBS List. 
 + 
 +:!: **Note**: 
 +If you previously had the ''SBL'' door in an external program section other than the //first// external program section, you may want to move the new ''SBBSLIST'' configuration to that location (in [[util:SCFG]]->External Programs->Online Programs). 
 + 
 +===== Configure ===== 
 Other than command-line parameters, the only configuration options for ''sbbslist.js'' are stored in the ''[sbbslist]'' section of the ''[[dir:ctrl]]/[[config:modopts.ini]]'' file: Other than command-line parameters, the only configuration options for ''sbbslist.js'' are stored in the ''[sbbslist]'' section of the ''[[dir:ctrl]]/[[config:modopts.ini]]'' file:
  
-<file>+<file ini>
 [sbbslist] [sbbslist]
-sort         = name +        sort = name 
-reverse      = false +        reverse = false 
-format       = 0 +        format = 0 
-add_ars      = not guest +        add_ars = not guest 
-beep         = true +        beep = true 
-sub          = dove-syncdata +        sub = dove-syncdata 
-live_preview = true +        live_preview = true 
-backup_level = 5+        backup_level = 5 
 +        export_freq = 7 
 +        max_inactivity = 180
 </file> </file>
  
Line 54: Line 83:
 | add_ars      | The access requirements of a user able to //add// a BBS entry (default: none) | | add_ars      | The access requirements of a user able to //add// a BBS entry (default: none) |
 | beep         | Set to false to disable beeps sent to the remote terminal (default: ''true'') | | beep         | Set to false to disable beeps sent to the remote terminal (default: ''true'') |
-| sub          | Sub-board internal code for import and export command (default: //none//) |+| sub          | Sub-board internal code for import and export command (default: //auto-detected//) |
 | live_preview | Set to true to enable live previews (outbound connections) while in browse mode (default: ''false'') | | live_preview | Set to true to enable live previews (outbound connections) while in browse mode (default: ''false'') |
 | backup_level | Over-ride the default number of backup files to maintain (default: ''5'') | | backup_level | Over-ride the default number of backup files to maintain (default: ''5'') |
 +| export_freq  | Maximum export (to message-base) frequency, in days (default: ''7'') |
 +| max_inactivity | Maximum number of days of entry inactivity before auto-deletion via ''maint'' command (default: 180) |
 ==== Sorting ==== ==== Sorting ====
 The configured/default sort field can also be specified on the ''sbbslist'' command-line (e.g. using the ''-sort'' option). The available sort fields are: The configured/default sort field can also be specified on the ''sbbslist'' command-line (e.g. using the ''-sort'' option). The available sort fields are:
Line 87: Line 118:
 | verified_on     | Date that this BBS entry was last verified | | verified_on     | Date that this BBS entry was last verified |
 | verify          | Special sort order based on auto-verification results | | verify          | Special sort order based on auto-verification results |
 +| active          | Special sort order based on last-activity (modification or verification) date |
  
 The default sort order is alphabetical for string fields and reversed (descending) for numeric fields. The default sort order is alphabetical for string fields and reversed (descending) for numeric fields.
Line 172: Line 204:
 ║ │Internal Code                   SMB2SBL                           ║ ║ │Internal Code                   SMB2SBL                           ║
 ║ │Start-up Directory                                                ║ ║ │Start-up Directory                                                ║
-║ │Command Line                    ?sbbslist import=dove-syncdata    +║ │Command Line                    ?sbbslist import                  
 ║ │Enabled                         Yes                               ║ ║ │Enabled                         Yes                               ║
 ║ │Execution Node                  1                                 ║ ║ │Execution Node                  1                                 ║
Line 187: Line 219:
 ╚════════════════════════════════════════════════════════════════════╝ ╚════════════════════════════════════════════════════════════════════╝
 </file> </file>
- 
-**Note:** 
-Take care to match the //internal code// (''syncdata'' above) with the correct code shown for the corresponding message area in [[util:SCFG]]->Message Areas. 
  
 **Note:** **Note:**
Line 203: Line 232:
 ║ │Internal Code                   SBL2SMB                           ║ ║ │Internal Code                   SBL2SMB                           ║
 ║ │Start-up Directory                                                ║ ║ │Start-up Directory                                                ║
-║ │Command Line                    ?sbbslist export=dove-syncdata    +║ │Command Line                    ?sbbslist export                  
 ║ │Enabled                         Yes                               ║ ║ │Enabled                         Yes                               ║
 ║ │Execution Node                  1                                 ║ ║ │Execution Node                  1                                 ║
Line 218: Line 247:
 ╚════════════════════════════════════════════════════════════════════╝ ╚════════════════════════════════════════════════════════════════════╝
 </file> </file>
- 
-**Note:** 
-Take care to match the //internal code// (''dove-syncdata'' above) with the correct code shown for the corresponding message area in [[util:SCFG]]->Message Areas. 
  
 **Note:** **Note:**
 If you have the old ''SBL2SMB'' timed event, you should remove it now. If you have the old ''SBL2SMB'' timed event, you should remove it now.
  
 +=== Maintenance ===
 +This timed event (''SBLMAINT'') is also helpful for auto-purging old/inactive BBS list entries based on the configured ''max_inactivity'' duration (default: 180 days).
 +<file>
 +╔════════════════════════════════════════════════════════════════════╗
 +║                        SBLMAINT Timed Event                        ║
 +╠════════════════════════════════════════════════════════════════════╣
 +║ │Internal Code                   SBLMAINT                          ║
 +║ │Start-up Directory                                                ║
 +║ │Command Line                    ?sbbslist maint                   ║
 +║ │Enabled                         Yes                               ║
 +║ │Execution Node                  1                                 ║
 +║ │Execution Months                Any                               ║
 +║ │Execution Days of Month         Any                               ║
 +║ │Execution Days of Week          All                               ║
 +║ │Execution Time                  00:00                             ║
 +║ │Requires Exclusive Execution    No                                ║
 +║ │Force Users Off-line For Event  No                                ║
 +║ │Native Executable               No                                ║
 +║ │Use Shell to Execute            No                                ║
 +║ │Background Execution            No                                ║
 +║ │Always Run After Init/Re-init   No                                ║
 +╚════════════════════════════════════════════════════════════════════╝
 +</file>
 +==== Command-line ====
 +
 +=== Commands ===
 +Commands are just words passed on the command-line to ''sbbslist.js''. Many commands are only there for trouble-shooting or experimental purposes.
 +
 +^ Command   ^ Description ^
 +| browse    | Perform the interactive BBS-user //door// function for listing and adding systems to the list |
 +| list       | Display all or part of the BBS list |
 +| dump       | Perform a JSON-dump of the BBS list |
 +| count      | Count the number of entries in the BBS list|
 +| upgrade    | Upgrade from the old SBL (''sbl.dab'') list format |
 +| backup     | Backup the BBS list database file (''sbslist.json'') |
 +| import     | Import BBS entries from a networked message base |
 +| export     | Export BBS entries to a networked message base |
 +| syncterm   | Export the BBS List to a SyncTERM compatible list file (''syncterm.lst'') |
 +| html       | Export the BBS List to an HTML file (''sbbslist.html'') |
 +| imsglist   | Export the BBS List to an instant-message system list file (''sbbsimsg.lst'') | 
 +| sort=field | Sort the BBS List by the specified field |
 +| randomize  | Randomize the BBS List |
 +| find=value | Find a string in the BBS List |
 +| verify     | Verify the BBS List |
 +| save       | Save the BBS List back to the database file |
 +| show       | Show, in a basic plain format, the BBS List |
 +| add        | Add the local system to the BBS List |
 +| update         | Update the local system in the BBS List |
 +| delete         | Remove the local system from the BBS List (see also ''-remote'') |
 +| remove=<name>  | Remove an entry from the BBS List (see also ''-remote'') |
 +| preview=<name> | Capture the preview of the specified BBS entry |
 +| active         | Display the last activity date of each entry in the BBS List |
 +| dedupe         | Remove duplicate entries from the BBS List (''-v'') |
 +| maint          | Delete old/inactive entries from the BBS List (''-v'') |
 +| install        | Install the Synchronet BBS List in a Synchronet BBS |
 +
 +=== Options === 
 +Command-line options begin with a ''-'' and modify the default behavior of ''sbbslist.js''.
 +
 +^ Option   ^ Description ^
 +| -v       | Increase console output verbosity (e.g. for trouble-shooting) |
 +| -f=<file>| Specify an alternate JSON database path/filename  (default is ''[[dir:data]]/sbbslist.json'') |
 +| -quiet   | Minimize console output |
 +| -exclude=<value> | Exclude select entries from the BBS List |
 +| -format=<value> | Specify the default list format (''-format='' for a list of formats) |
 +| -filter=<value> | Filter BBS List based on specified value |
 +| -all            | Import/export all entries (even those locally created) - not normally recommended |
 +| -ptr=<value>    | Over-ride the stored import/export message base pointer value |
 +| -addr=<value>   | Specify the address to capture a BBS preview from |
 +| -preview        | Include a preview with a BBS List ''update'' |
 +| -sort=<value>   | Sort the BBS List based on specified field |
 +| -reverse        | Reverse the natural/default sort order |
 +| -remote         | Remove/delete an entry in remote/networked databases too (use with the ''delete'' or ''remove'' command) |
 +| -debug          | Enable debug console/log output |
 +| -test           | Perform non-destructive maintenance and de-duplication operations |
 +| -#              | Limit the number of entries listed |
  
 ===== See Also ===== ===== See Also =====
-  * [[:module:|module index]]+  * [[:module:|Modules]] 
 +  * [[:bbs:|BBS Lists]]
  
-{{tag>}}+{{tag>sbbslist}}
  
module/sbbslist.txt · Last modified: 2023/03/06 11:00 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0