RemoteAccess Menus Migration

Overview

The Thought BBS engine stores menus in a flexible XML format.  Each menu item has a verb, which is a command that performs some operation (such as displaying a file or disconnecting from the BBS).  Several verbs are included in the BBS but you can also create your own. 

RemoteAccess stores menus in a binary format.  Each menu item has a type number that determines the action to take when the menu item is selected.  Type numbers are hard-coded into the software and cannot be extended without modification of the source code.  The behavior of each menu type is largely hard-coded although most can be customized with parameters and language prompts.

The Thought BBS engine does not support the RemoteAccess menu format.  The time necessary to support the binary menu format is better spent elsewhere in the programming efforts.  Therefore unless a 3rd-party author implements support, you will need to translate each menu item by hand.

Menu Types

Type Description Comments
1 Goto another menu Use the Link Menu option.  The XML menu format allows you to directly link a menu item to another menu.  The menu system will unload the current menu and execute the specified menu.  This effectively imitates the behavior of RemoteAccess menu type #1.
2 Gosub another menu Use the RunMenu verb.  The RunMenu verb allows you to execute another menu. The original menu will resume once the verb finishes executing (meaning, the menu is exited by the user).  This somewhat imitates the behavior of RemoteAccess although you cannot access the stack of menu items directly.
3 Return from Gosub Exit the menu.  There is no built-in "return from gosub" functionality in the Thought BBS engine.  Instead if you exit a menu that was initiated from a RunMenu verb, the original menu will resume (as it would with any other verb).
4 Goto menu after clearing menu static Not supported.  There is no concept of a menu stack in the Thought BBS engine.
5 Display a .A?? text file Use the DisplayFile verb.  This verb allows you to display an external file with many of the same options supported by RemoteAccess (e.g. automatic selection of the file based on emulation type, etc).
6 Bulletin Menu Use the RunScript verb to execute the Bulletins script.  The Thought BBS engine does not have hard-coded knowledge of bulletin files.  However, the bulletins script provides much of the functionality for managing text bulletins.
7 Run an external program in a shell (Doors) Use the RunDoor verb.
8 Product information Use the DisplayFile verb to display a text file containing the system information you want to display.
9 Terminate the session Use the RunScript verb to execute the Logoff script.
10 System usage graph Not supported.
11 Page System Operator for chat Use the RunScript verb to execute the SysopPager script.
12 Questionaire Not supported.
13 User listing Use the RunScript verb to execute the ListUsers script.
14 Time This RemoteAccess command displays the current date, current time, the user's daily time limit, the amount of time used, and the amount of time remaining.  You can replicate this feature by creating a text file with the necessary macros and then using the DisplayFile command to display the file.
15 Exit to DOS with errorlevel Execute the Shutdown script.
16 Alter location  
17 Alter password  
18 Alter screen length  
19 Alter screen clearing  
20 Toggle page pausing  
21 Toggle ANSI graphics  
22 Check mailbox for unread mail  
23 Read messages  
24 Scan messages  
25 QuickScan messages  
26 Delete message  
27 Post message  
28 Select combined areas Not supported
29 Move a file  
30 Directory  
31 List files  
32 Download a file from area  
33 Upload file  
34 View archive Not supported
35 File search by keyword  
36 File search by filename  
37 Show new files  
38 Type (view) a text file  
39 Display a fully named text file  
40 Display .A?? file with hot-keys Set the displayFile property of the menu.  This command was used by RemoteAccess sysops to display a text file in place of the built-in menu viewer.  The menu item was typically set to automatically execute. 
41 Toggle full-screen editor Not supported
42 Toggle hotkeys Not supported
43 New mail  
44 Reset combined areas setting Not supported
45 Display text file and wait Execute DisplayFile while passing the /PAUSE parameter to force a pause.
46 Display direct text with CR  
47 Create a lot entry Execute the WriteLog verb.  Macros are not supported.
48 Download a specific file Execute the SendFile verb.
49 Select message area  
50 Select file area  
51 List today's callers Execute the WhoCalled script.
52 Show all users on-line  
53 Toggle "Do not disturb"  
54 Send an on-line message  
55 Download any file  
56 Browse the nodelist  
57 Change home/voice number  
58 Change business/data number  
59 Global download  
60 Change handle  
61 Toggle AVATAR  
62 Toggle full-screen message viewer  
63 Select a new language  
64 Select a new date format  
65 Change user flags  
66 Toggle shells  
67 Toggle auto message forwarding  
68 Toggle RTC  
69 Join RTC  
70 Delete RTC  
71 Edit tag list  
72 Select default protocol  
73 Toggle EchoMail in mail-box scan  
74 Change mailing address  
75 - reserved -  
76 Display RIP icon  

See Also