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}"
mainInfoFormat12: "|00|10{postsToday:>5}"
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}"

View File

@ -187,7 +187,7 @@ exports.getModule = class WaitingForCallerModule extends MenuModule {
uploadsToday : StatLog.getSystemStatNum(SysProps.FileUlTodayCount),
uploadBytesToday : StatLog.getSystemStatNum(SysProps.FileUlTodayBytes),
downloadsToday : StatLog.getSystemStatNum(SysProps.FileDlTodayCount),
downloadsBytesToday : StatLog.getSystemStatNum(SysProps.FileDlTodayBytes),
downloadBytesToday : StatLog.getSystemStatNum(SysProps.FileDlTodayBytes),
newUsersToday : StatLog.getSystemStatNum(SysProps.NewUsersTodayCount),
// 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.
## 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
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:
```hjson
mainMenuWaitingForCaller: {
// ...
config: {
// initial +op over secure connection only
acs: SCID1GM[sysops]
@ -33,22 +32,50 @@ mainMenuWaitingForCaller: {
## Theming
The following MCI codes are available:
* MCI 1 (`VM1`): Node status list with the following format items available:
* `{text}`: Username or `*Pre Auth*`.
* `{action}`: Current action/menu.
* `{timeOn}`: How long the node has been connected.
* MCI 2 (`VM2`): Quick log with the following format keys available:
* `{timestamp}`: Log entry timestamp in `quickLogTimestampFormat` format.
* `{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.
* `{nodeId}`: Node ID.
* `{sessionId}`: Session ID.
* `{message}`: Log message.
* `VM1`: Node status list with the following format items available:
* `text`: Username or `*Pre Auth*`.
* `action`: Current action/menu.
* `timeOn`: How long the node has been connected.
* `VM2`: Quick log with the following format keys available:
* `timestamp`: Log entry timestamp in `quickLogTimestampFormat` format.
* `level`: Log entry level from Bunyan.
* `levelIndicator`: Level indicators can be overridden with the `quickLogLevelIndicators` key (see defaults below)
* `quickLogLevelIndicators`: A **map** defaulting to the following`:
* `trace` : `T`
* `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:
* `{nowDate}`: Current date in the `dateFormat` style, defaulting to `short`.
* `{nowTime}`: Current time in the `timeFormat` style, defaulting to `short`.
* `{now}`: Current date and/or time in `nowDateTimeFormat` format.
* `{processUptimeSeconds}`: Process (the BBS) uptime in seconds.
* `{totalCalls}`: Total calls to the system.
* `{totalPosts}`: Total posts to the system.
* `{totalUsers}`: Total users on the system.
* `nowDate`: Current date in the `dateFormat` style, defaulting to `short`.
* `nowTime`: Current time in the `timeFormat` style, defaulting to `short`.
* `now`: Current date and/or time in `nowDateTimeFormat` format.
* `processUptimeSeconds`: Process (the BBS) uptime in seconds.
* `totalCalls`: Total calls to the system.
* `totalPosts`: Total posts to 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
The following `itemFormat` object is provided to MCI 1 (ie: `%VM1`):
* `userId`: User ID.
* `authenticated`: boolean if the client has a logged in user or not.
* `userName`: Login username.
* `node`: Node ID the user is connected to.
* `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.
* `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".
* `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.