WFC documentation updates

This commit is contained in:
Bryan Ashby 2022-05-07 17:13:10 -06:00
parent bd28de9a69
commit f7788fc01c
No known key found for this signature in database
GPG Key ID: C2C1B501E4EFD994
4 changed files with 54 additions and 22 deletions

View File

@ -255,7 +255,7 @@
mainInfoFormat11: "|00|10{callsToday:>5}" mainInfoFormat11: "|00|10{callsToday:>5}"
mainInfoFormat12: "|00|10{postsToday:>5}" mainInfoFormat12: "|00|10{postsToday:>5}"
mainInfoFormat13: "|00|10{uploadsToday:>2} |08/ |10{uploadBytesToday!sizeWithoutAbbr} |02{uploadBytesToday!sizeAbbr}" mainInfoFormat13: "|00|10{uploadsToday:>2} |08/ |10{uploadBytesToday!sizeWithoutAbbr} |02{uploadBytesToday!sizeAbbr}"
mainInfoFormat14: "|00|10{downloadsToday:>2} |08/ |10{downloadsBytesToday!sizeWithoutAbbr} |02{downloadsBytesToday!sizeAbbr}" mainInfoFormat14: "|00|10{downloadsToday:>2} |08/ |10{downloadBytesToday!sizeWithoutAbbr} |02{downloadsBytesToday!sizeAbbr}"
mainInfoFormat15: "|00|10{lastLoginUserName:<26} |02{lastLogin}" mainInfoFormat15: "|00|10{lastLoginUserName:<26} |02{lastLogin}"

View File

@ -187,7 +187,7 @@ exports.getModule = class WaitingForCallerModule extends MenuModule {
uploadsToday : StatLog.getSystemStatNum(SysProps.FileUlTodayCount), uploadsToday : StatLog.getSystemStatNum(SysProps.FileUlTodayCount),
uploadBytesToday : StatLog.getSystemStatNum(SysProps.FileUlTodayBytes), uploadBytesToday : StatLog.getSystemStatNum(SysProps.FileUlTodayBytes),
downloadsToday : StatLog.getSystemStatNum(SysProps.FileDlTodayCount), downloadsToday : StatLog.getSystemStatNum(SysProps.FileDlTodayCount),
downloadsBytesToday : StatLog.getSystemStatNum(SysProps.FileDlTodayBytes), downloadBytesToday : StatLog.getSystemStatNum(SysProps.FileDlTodayBytes),
newUsersToday : StatLog.getSystemStatNum(SysProps.NewUsersTodayCount), newUsersToday : StatLog.getSystemStatNum(SysProps.NewUsersTodayCount),
// Current // Current

View File

@ -6,7 +6,7 @@ title: Waiting For Caller (WFC)
The `wfc.js` module provides a Waiting For Caller (WFC) type dashboard from a bygone era. Many traditional features are available including newer concepts for modern times. Node spy is left out as it feels like something that should be left in the past. The `wfc.js` module provides a Waiting For Caller (WFC) type dashboard from a bygone era. Many traditional features are available including newer concepts for modern times. Node spy is left out as it feels like something that should be left in the past.
## Accessing the WFC ## Accessing the WFC
By default, the WFC may be accessed via the `!WFC` main menu command when connected over a secure connection via a user with the proper ACS. This can be configured as per any other menu in the system. Note that ENiGMA½ does not expose the WFC as a standalone application as this would be much less flexible. To connect locally, simply use your favorite terminal or for example: `ssh -l yourname localhost 8889`. See **Security** below for more information. By default, the WFC may be accessed via the `!WFC` main menu command when connected over a secure connection via a user with the proper [ACS](../configuration/acs.md). This can be configured as per any other menu in the system. Note that ENiGMA½ does not expose the WFC as a standalone application as this would be much less flexible. To connect locally, simply use your favorite terminal or for example: `ssh -l yourname localhost 8889`. See **Security** below for more information.
## Security ## Security
The system allows any user with the proper security to access the WFC / system operator functionality. The security policy is enforced by ACS with the default of `SCAF2ID1GM[wfc]`, meaning the following are true: The system allows any user with the proper security to access the WFC / system operator functionality. The security policy is enforced by ACS with the default of `SCAF2ID1GM[wfc]`, meaning the following are true:
@ -21,7 +21,6 @@ The system allows any user with the proper security to access the WFC / system o
To change the ACS required, specify a alternative `acs` in the `config` block. For example: To change the ACS required, specify a alternative `acs` in the `config` block. For example:
```hjson ```hjson
mainMenuWaitingForCaller: { mainMenuWaitingForCaller: {
// ...
config: { config: {
// initial +op over secure connection only // initial +op over secure connection only
acs: SCID1GM[sysops] acs: SCID1GM[sysops]
@ -33,22 +32,50 @@ mainMenuWaitingForCaller: {
## Theming ## Theming
The following MCI codes are available: The following MCI codes are available:
* MCI 1 (`VM1`): Node status list with the following format items available: * `VM1`: Node status list with the following format items available:
* `{text}`: Username or `*Pre Auth*`. * `text`: Username or `*Pre Auth*`.
* `{action}`: Current action/menu. * `action`: Current action/menu.
* `{timeOn}`: How long the node has been connected. * `timeOn`: How long the node has been connected.
* MCI 2 (`VM2`): Quick log with the following format keys available: * `VM2`: Quick log with the following format keys available:
* `{timestamp}`: Log entry timestamp in `quickLogTimestampFormat` format. * `timestamp`: Log entry timestamp in `quickLogTimestampFormat` format.
* `{level}`: Log entry level from Bunyan. * `level`: Log entry level from Bunyan.
* `{levelIndicator}`: `T` for TRACE, `D` for DEBUG, `I` for INFO, `W` for WARN, `E` for ERROR, or `F` for FATAL. * `levelIndicator`: Level indicators can be overridden with the `quickLogLevelIndicators` key (see defaults below)
* `{nodeId}`: Node ID. * `quickLogLevelIndicators`: A **map** defaulting to the following`:
* `{sessionId}`: Session ID. * `trace` : `T`
* `{message}`: Log message. * `debug`: `D`
* `info`: `I`
* `warn`: `W`
* `error`: `E`
* `fatal`: `F`
* `nodeId`: Node ID.
* `sessionId`: Session ID.
* `quickLogLevelMessagePrefixes`: A **map** of log level names (see above) to message prefixes. Commonly used for changing message color with pipe codes, such as `|04` for red errors.
* `message`: Log message.
* MCI 10...99: Custom entries with the following format keys available: * MCI 10...99: Custom entries with the following format keys available:
* `{nowDate}`: Current date in the `dateFormat` style, defaulting to `short`. * `nowDate`: Current date in the `dateFormat` style, defaulting to `short`.
* `{nowTime}`: Current time in the `timeFormat` style, defaulting to `short`. * `nowTime`: Current time in the `timeFormat` style, defaulting to `short`.
* `{now}`: Current date and/or time in `nowDateTimeFormat` format. * `now`: Current date and/or time in `nowDateTimeFormat` format.
* `{processUptimeSeconds}`: Process (the BBS) uptime in seconds. * `processUptimeSeconds`: Process (the BBS) uptime in seconds.
* `{totalCalls}`: Total calls to the system. * `totalCalls`: Total calls to the system.
* `{totalPosts}`: Total posts to the system. * `totalPosts`: Total posts to the system.
* `{totalUsers}`: Total users on the system. * `totalUsers`: Total users on the system.
* `totalFiles`: Total number of files on the system.
* `totalFileBytes`: Total size in bytes of the file base.
* `callsToday`: Number of calls today.
* `postsToday`: Number of posts today.
* `uploadsToday`: Number of uploads today.
* `uploadBytesToday`: Total size in bytes of uploads today.
* `downloadsToday`: Number of downloads today.
* `downloadsBytesToday`: Total size in bytes of uploads today.
* `newUsersToday`: Number of new users today.
* `currentUserName`: Current user name.
* `currentUserRealName`: Current user's real name.
* `lastLoginUserName`: Last login username.
* `lastLoginRealName`: Last login user's real name.
* `lastLoginDate`: Last login date in `dateFormat` format.
* `lastLoginTime`: Last login time in `timeFormat` format.
* `lastLogin`: Last login date/time.
* `totalMemoryBytes`: Total system memory in bytes.
* `freeMemoryBytes`: Free system memory in bytes.
* `systemAvgLoad`: System average load.
* `systemCurrentLoad`: System current load.

View File

@ -8,6 +8,7 @@ The built in `whos_online` module provides a basic who's online mod.
### Theming ### Theming
The following `itemFormat` object is provided to MCI 1 (ie: `%VM1`): The following `itemFormat` object is provided to MCI 1 (ie: `%VM1`):
* `userId`: User ID. * `userId`: User ID.
* `authenticated`: boolean if the client has a logged in user or not.
* `userName`: Login username. * `userName`: Login username.
* `node`: Node ID the user is connected to. * `node`: Node ID the user is connected to.
* `timeOn`: A human friendly amount of time the user has been online. * `timeOn`: A human friendly amount of time the user has been online.
@ -15,4 +16,8 @@ The following `itemFormat` object is provided to MCI 1 (ie: `%VM1`):
* `location`: User's location. * `location`: User's location.
* `affiliation` or `affils`: Users affiliations. * `affiliation` or `affils`: Users affiliations.
* `action`: Current action/view in the system taken from the `desc` field of the current MenuModule they are interacting with. For example, "Playing L.O.R.D". * `action`: Current action/view in the system taken from the `desc` field of the current MenuModule they are interacting with. For example, "Playing L.O.R.D".
* `isSecure`: Is the client securely connected?
* `serverName`: Name of connected server such as "Telnet" or "SSH".
:information_source: These properties are available via the `client_connections.js` `getActiveConnectionList()` API.