Synchronet v3.18b-Win32 (install) has been released (Sept-2020).

Synchronet is switching to Git

You can donate to the Synchronet project using PayPal.

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
module:sbbslist [2018/03/01 12:11]
digital man Links to util:binkit changed to module:binkit
module:sbbslist [2019/07/17 00:28] (current)
digital man [Configuration] Use syntax highlighting
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 13: Line 13:
 ===== Dependencies =====  ===== Dependencies ===== 
  
-As of this writing, sbbslist v4 is known to be compatible with Synchronet v3.17, under development.+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. 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.
Line 37: Line 37:
 ==== SBL v3 Compatibility ==== ==== SBL v3 Compatibility ====
  
-When sbbslist v4 is run, it looks for its database file, ''​[[dir:​data]]/​sbbslist.json''​. If the database file doesn'​t exist, it'll attempt to upgrade from the old SBL database ''​[[dir:​xtrn]]/​sbl/​sbl.dab''​ to the new JSON format automatically. This upgrade should normally only happen one time, but you can always force an upgrade again (over-writing your existing v4 database) by running ''​sbbslist upgrade''​ (e.g. with [[binkit]]).+When sbbslist v4 is run, it looks for its database file, ''​[[dir:​data]]/​sbbslist.json''​. If the database file doesn'​t exist, it'll attempt to upgrade from the old SBL database ''​[[dir:​xtrn]]/​sbl/​sbl.dab''​ to the new JSON format automatically. This upgrade should normally only happen one time, but you can always force an upgrade again (over-writing your existing v4 database) by running ''​sbbslist upgrade''​ (e.g. with [[util:jsexec]]).
  
 Probably the most compelling feature of SBL was the ability to share (import-from and export-to) networked message bases (e.g. the [[network:​DOVE-Net]] SYNCDATA message conference). This capability has been maintained and enhanced in v4: Probably the most compelling feature of SBL was the ability to share (import-from and export-to) networked message bases (e.g. the [[network:​DOVE-Net]] SYNCDATA message conference). This capability has been maintained and enhanced in v4:
Line 51: 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''​
  
-===== Installation ​ ​===== ​+===== Install ​ ​===== ​
  
 From command-line,​ run ''​jsexec sbbslist install''​ From command-line,​ run ''​jsexec sbbslist install''​
Line 58: Line 58:
  
 :!: **Note**: :!: **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 [[binkit]]->​External Programs->​Online Programs).+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).
  
-===== Configuration ​===== +===== 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+        export_freq = 7 
 +        max_inactivity = 180
 </​file>​ </​file>​
  
Line 86: Line 87:
 | 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''​) | | 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 116: 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 122: Line 125:
 This feature allows a browsing user to request a real-time capture and preview of a listed BBS's answer/​login screen. This is not an interactive connection and does not allow the user to send data or control the remote BBS in any way. The TCP connection, if successful, lasts about 10 seconds. This feature allows a browsing user to request a real-time capture and preview of a listed BBS's answer/​login screen. This is not an interactive connection and does not allow the user to send data or control the remote BBS in any way. The TCP connection, if successful, lasts about 10 seconds.
 ===== Invocation =====  ===== Invocation ===== 
-''​sbbslist.js''​ can be invoked from [[binkit]] to utilize many of its functions, but for it's primary "​browse"​ (BBS door) functionality,​ it must run from the Synchronet Terminal Server (e.g. as an ''​External Program'',​ a.k.a. door).+''​sbbslist.js''​ can be invoked from [[util:JSexec]] to utilize many of its functions, but for it's primary "​browse"​ (BBS door) functionality,​ it must run from the Synchronet Terminal Server (e.g. as an ''​External Program'',​ a.k.a. door).
  
 ==== Door ==== ==== Door ====
  
-The Synchronet BBS List may be added to your BBSes list of external programs (doors) available to users by adding it to [[binkit]]->​External Programs->​Online Programs->​Main,​ like so:+The Synchronet BBS List may be added to your BBSes list of external programs (doors) available to users by adding it to [[util:SCFG]]->​External Programs->​Online Programs->​Main,​ like so:
  
 <​file>​ <​file>​
Line 161: Line 164:
 === Update === === Update ===
  
-If the local system is listed in the database, it can be automatically updated (e.g. monthly) by adding a timed event to [[binkit]]->​External Programs->​Timed Events, like so:+If the local system is listed in the database, it can be automatically updated (e.g. monthly) by adding a timed event to [[util:SCFG]]->​External Programs->​Timed Events, like so:
  
 <​file>​ <​file>​
Line 193: Line 196:
  
 === Import === === Import ===
-If your BBS is connected to [[network:​DOVE-Net]] or [[network:​FidoNet]],​ you probably will want networked-posted BBS entries to be automatically imported into your database (''​sbbslist.json''​) from the appropriate message base (e.g. ''​SYNCDATA''​). To do so, setup a timed event in [[binkit]]->​External Programs->​Timed Events, like so:+If your BBS is connected to [[network:​DOVE-Net]] or [[network:​FidoNet]],​ you probably will want networked-posted BBS entries to be automatically imported into your database (''​sbbslist.json''​) from the appropriate message base (e.g. ''​SYNCDATA''​). To do so, setup a timed event in [[util:SCFG]]->​External Programs->​Timed Events, like so:
  
 <​file>​ <​file>​
Line 221: Line 224:
  
 === Export === === Export ===
-If your BBS is connected to [[network:​DOVE-Net]] or [[network:​FidoNet]],​ you probably will want your locally created BBS entries to be automatically exported from your database (''​sbbslist.json''​) to the appropriate message base (e.g. ''​SYNCDATA''​). To do so, setup a timed event in [[binkit]]->​External Programs->​Timed Events, like so:+If your BBS is connected to [[network:​DOVE-Net]] or [[network:​FidoNet]],​ you probably will want your locally created BBS entries to be automatically exported from your database (''​sbbslist.json''​) to the appropriate message base (e.g. ''​SYNCDATA''​). To do so, setup a timed event in [[util:SCFG]]->​External Programs->​Timed Events, like so:
  
 <​file>​ <​file>​
Line 248: Line 251:
 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 ==== ==== Command-line ====
  
Line 273: Line 299:
 | add        | Add the local system to the BBS List | | add        | Add the local system to the BBS List |
 | update ​        | Update the local system in the BBS List | | update ​        | Update the local system in the BBS List |
-| remove=<​name> ​ | Remove an entry from 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 | | preview=<​name>​ | Capture the preview of the specified BBS entry |
-| dedupe ​        | Remove duplicate entries from the BBS List | +| active ​        | Display the last activity date of each entry in the BBS List | 
-| maint          | Delete old/out-date ​entries from the BBS List (not yet implemented) |+| 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 | | install ​       | Install the Synchronet BBS List in a Synchronet BBS |
  
Line 284: Line 312:
 ^ Option ​  ^ Description ^ ^ Option ​  ^ Description ^
 | -v       | Increase console output verbosity (e.g. for trouble-shooting) | | -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 | | -quiet ​  | Minimize console output |
 | -exclude=<​value>​ | Exclude select entries from the BBS List | | -exclude=<​value>​ | Exclude select entries from the BBS List |
Line 294: Line 323:
 | -sort=<​value> ​  | Sort the BBS List based on specified field | | -sort=<​value> ​  | Sort the BBS List based on specified field |
 | -reverse ​       | Reverse the natural/​default sort order | | -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 | | -debug ​         | Enable debug console/log output |
 +| -test           | Perform non-destructive maintenance and de-duplication operations |
 | -#              | Limit the number of entries listed | | -#              | Limit the number of entries listed |
  
 ===== See Also ===== ===== See Also =====
-  * [[:module:|module index]]+  * [[:module:|Modules]] 
 +  * [[:bbs:|BBS Lists]]
  
-{{tag>}}+{{tag>sbbslist}}
  

In Other Languages