home *** CD-ROM | disk | FTP | other *** search
- Viewdata Host (VHost)
-
- Host version: 1.01
- Draft version: 0.03
-
- VHost is a comprehensive Viewdata Host system for the Archimedes
- and similar machines. It really needs a hard disc to work properly, but can
- be satifactory run on a floppy machine, if ADFSBuffers is set to quite a
- high value, and only a small system is required !
-
- Aswell as providing Viewdata, it also caters for Wizzo, a new
- system which uses a 8-bit version of Viewdata, to allow proper 8-bit file
- transfers, a rudimentry form of compression and some special screen
- functions. Wizzo is automatically negotiated at logon with the remote
- terminal (if it supports Wizzo).
-
-
- Setup
-
- The directory VHbase contains default System files, which are:
-
- Config - System configuration
- KWordFILE - Keywords
- MessFILE, MessFIND, MessBOARDS - Messaging
- PagesFILE, PagesNUMB - Pages
- UserFILE - Users
-
- These files are also in !VHost.System to begin with. If you want to
- reset the system, or parts of it, copy the appropiate files into
- !VHost.System.
-
- The default user file has an entry for the default user and for the
- user "The Sysop" (password "123456"). To begin with you can log on as this
- user to set the system up, but you should change the password as soon as
- possible.
- The default pages file has a default size of 50 frames.
- The default keywords file has entries for the default system
- commands (more on that later).
-
-
- Running
-
- Once you have run !VHost, a icon (if running in wimp mode) will
- appear on the icon bar, clicking Select on this icon will open the local
- terminal.
- Closing this window will NOT log the user off which is logged onto
- the local terminal.
- Clicking Menu on the icon will give you the options of closing the
- system down (quit) and displaying a window (Who) of the currently logged on
- users.
-
-
- Logging on
-
- As there is no logon frame you will be presented with a frame
- telling you the system is closed and Sysop access only is available. So
- type in "The Sysop" (followed by return) and then the password "123456".
- You will then be told "Not Found", don't worry about this, as the system
- contains NO frames whatsoever.
-
-
- Getting started
-
- To begin with enter "*eduser the sysop<ret><ret><ret>" and enter a
- new password, they press "<esc>J". Remember this password.
-
- The next thing to do is enter the main system details. Type
- "*edsys<ret>" and enter the name of your system (you can include Viewdata
- colour codes by pressing <esc> and the colour code letter (see later for
- full list)), then press "<esc>J" to save.
-
- Then key "*edsys 1<ret><ret><ret>" and enter the page number which
- you want for your logon frame and key "<esc>J". It is best to have laid out
- your system on a piece of paper first, so you can decide where you want to
- keep system frames like this and how you want your various "sections" laid
- out.
-
-
- Closed user groups
-
- In VHost the frames which make up a system are all part of a Closed
- User Group, or CUG. A users CUG membership enables him to "access" only
- frames in the CUG he has membership of. The system decides what CUG a frame
- (or rather page) is in by a node system. If you set a CUG to have a node of
- 600, then all frames which are on node 600 are considered part of that CUG,
- unless of course a CUG has a "larger" node, eg. 60096, in which case they
- fall into the longer noded CUG. A frame falls in the CUG which has the
- biggest common node.
-
- When checking nodes a leading 0 is applied to all page numbers,
- meaning that a CUG with a node of 0 owns all pages which do not belong to
- any other CUG.
-
- The system should not be set up so that a page is not a member of a
- single CUG, though all that will mean is that no-one will be able to
- access/edit it until a CUG "covers" the particular page.
-
- Each CUG has a name (the name which is printed in the top left of a
- frame), a node, a main menu (used when a user types *0#), a post-logon page
- (if not 0 this will be displayed after logon) and a CUG link option.
-
- Each CUG can be linked to another CUG. If linked any read access
- (but not edit) flags which the linked CUG (or indeed any CUG that the
- linked CUG may be linked to !) is automatically inherited for the CUG in
- question. This means that only a few users CUG access flags may be changed,
- but the access for any related CUGs is automatic. eg. All standard CUGs can
- be linked to CUG 2 (the general one), but all "extra" CUGs can be linked
- to, say, CUG 3, and any user which you want to give extra access to just
- needs to be made a member of CUG 3 to "open up" the rest of the CUGs linked
- to 3.
-
- To edit a CUGs details use "*edcug <cug name/number>". While in the
- editor <ctrlA> will go forward one CUG and <ctrlB> will go back one CUG.
-
- CUGs 1 and 2 are special, CUG 1 is the new user CUG, you should set
- up a registration frame in CUG 1, normal users should not be a member of
- this CUG. CUG 2 is the general CUG, when you give a frame No User CUG, then
- it automatically checks CUG 2 access for the user.
-
- Another CUG should be reserved for system frames, these include the
- logon frame(s) and any frames which are for Sysops only.
-
- You edit a CUG's details by "*edcug (cug number or name)<ret>", you
- should work out what CUGs you want and on what frames and set them up now,
- before you edit any frames.
-
- eg.
- cug name node logon menu
-
- 1 Guest User 999 9999 999
- 2 The Board 0 9999 1
- 3 Sysop 9999 9999 9999
- etc.
-
- With this, you would put your logon frame on 9999a, your logoff
- frame on 90a, your main menu on 1a and your guest user registration "bit"
- on 999.
-
-
- First frames
-
- Key "*ed (your logon frame)<ret>" and design your logon frame (see
- later for using the Editor) and place a tab sequence (<esc>[T) at the place
- where the user enters his name and another tab where the password is
- entered. Use <esc>J to save. The logon frame should be placed in your
- "Sysop" CUG.
-
- Now enter "*ed 90<ret>", design a logoff frame and save it. Then
- type "*red 90<ret>" and change the Frame Type to "b".
-
- This then gives you the two basic frames for a system, the logon
- and logoff frames.
-
-
- From here
-
- You can then go on and start building up your whole system.
-
-
- Editor
-
- The editor is used by a number of parts of the system, mainly the
- frame editor and the message editor. It is a very comprehensive editor and
- has a number of features.
-
- Once the editor is entered you will be displayed with the frame to
- edit, the cursor keys move the cursor around the screen and you can type
- into the frame. Viewdata attributes can be entered by pressing <esc> (or @
- if configured) and the Escape character, all upper case escape characters
- and some puncuation characters enter Viewdata screen attribute characters
- into the frame, others perform editor functions.
-
- If word/character wrap is enabled and you type over the line, the
- word and colour (including background colour) will be wrapped onto the next
- line.
-
- To exit the editor either use "<esc>J" to go to the save option,
- "<esc>K" to go to the Quit option, "<esc>8save<ret>" to save or
- "<esc>8quit<ret>" to quit.
-
- Trying to go off the bottom of the screen will also go to the save
- options and if the edit flags are not altered, keying <ret> at the begining
- of a blank line will do the same.
-
- "<esc>8" allows you to enter a editor command, these include: save,
- quit, convert, lower, upper, pixed, fill <char>, change <char><char>, swap
- <char><char> and special commands specific to where you are (ie. message or
- frame editor).
-
- The command convert is quite useful in that it will change
- characters #_£ to one of the others. This can be useful in that the
- Viewdata character set is slightly different from the ASCII character set,
- and this means that these three characters are different, if you upload a
- frame and the graphics appear with #s and some of the graphics characters
- are wrong, this could be the reason, using convert could solve the problem,
- if it doesn't try it again. After that the convert command will just put
- you will be back to where you were to begin with, as it cycles after 2
- times.
-
- The commands upper and lower convert the marked area (see below)
- into upper or lower case.
-
- You can also have markers in the editor, these define a block of
- the screen to act on, they can be set by:
-
- <ctrlA> set marker 1
- <ctrlB> set marker 1 or 2
- <esc>6 set marker 1
- <esc>7 set marker 2
-
- Both markers can be unset by <ctrlZ>.
-
- Markers are shown on screen by "persistant" *s (ie. they can't be
- deleted or typed over), they can be hard to spot if they are on a line with
- a graphics attribute as they turn into a graphics character, if you "lose"
- them, press <ctrlZ> to unset them and replace them where you want them.
-
- Once markers have been set (else the full screen is used), then you
- can use:
-
- <ctrlD> delete the marked area
- <ctrlC> copy the marked area to the current cursor position
- <ctrlV> move the marked area to the current cursor position.
-
- The editor commands upper, lower, convert, fill, change, swap also
- take into account the marked area.
-
- Other useful ctrl commands are:
-
- <ctrlR> redisplay
- <ctrlX> clear line
- <ctrlL> clear frame
- <ctrlP> enter pixel editor
- <ctrlS> swap case of character at cursor
- <ctrl6> home cursor
-
- Other Escape codes which perform editor functions are:
-
- <esc>1 insert space
- <esc>2 delete character
- <esc>3 insert line
- <esc>4 delete line
- <esc>5 delete to end of line
- <esc>0 display help page
- <esc>@ '@'
- <esc>d delete character
- <esc>e goto end of frame
- <esc>h '#'
- <esc>i insert space
- <esc>o word/colour wrap off
- <esc>p '£'
- <esc>r CRLF
- <esc>s '*'
- <esc>u '_'
- <esc>v 'freshen' frame, similar to redisplay
- <esc>w word/colour wrap on
-
- The pixel editor is fairly simple, once the pixel editor is entered
- the prompt at the bottom of the screen will change and the keys "qwaszx"
- will change the pixels of the current cursor character, <space> or C will
- clear the character, F will fill all pixels and I will inverse all pixels.
- The cursor keys and Escape/Ctrl functions are still valid, <ctrlP> or
- <esc>8pixed<ret> will toggle back to normal mode.
-
- For completeness here is a list of Viewdata attribute Escape codes:
-
- <esc>A Alpha Red
- <esc>B Alpha Green
- <esc>C Alpha Yellow
- <esc>D Alpha Blue
- <esc>E Alpha Magenta
- <esc>F Alpha Cyan
- <esc>G Alpha White
- <esc>H Flash
- <esc>I Steady
- <esc>L Normal Height
- <esc>M Double Height
- <esc>Q Graphics Red
- <esc>R Graphics Green
- <esc>S Graphics Yellow
- <esc>T Graphics Blue
- <esc>U Graphics Magenta
- <esc>V Nothing
- <esc>W Graphics White
- <esc>X Conceal
- <esc>Y Contigyous Graphics
- <esc>Z Seperated Graphics
- <esc>\ Black Background
- <esc>[ Normally unused - used for frame commands
- <esc>] New Background
- <esc> Hold Graphics
- <esc> Release Graphics
-
-
- Frames
-
- The host system comprises of pages numbered in the range 0 to
- 16777214 and each can have frames a to z.
-
- Page 0 is special in that normally a user by typing *0<ret> will go
- to the main menu of his main CUG, but even so the frame can still exist,
- and it can be still accessed if a CUG menu is set to 0, though this is not
- advised, as it will be totally unaccessable to other users set to a
- different main CUG menu.
-
- Each frame consists of a data area (usually the displayed part of
- the frame), a route table and various flags and options.
-
- You edit the data part by *ed (<frame>)<ret>, if you leave the
- <frame> out, it edits the current frame. Note: You can't edit frame c if
- there isn't a a and b frame etc.
-
- The editor has already been covered. Editor commands (<esc>8)
- specific to the frame editor are IMPORT and GET.
- IMPORT (<frame>) loads the data part of the specified frame into
- the editor, replacing the data part of the actual frame you are editing.
- GET is similar, but it also loads the route table and the other flags into
- the current frame. Note: both IMPORT and GET first check the frame is
- readble by the user editing.
-
- To edit the other frame attributes you use *red (<frame>)<ret>. To
- save the attrbutes use <esc>J, else use <esc>K to quit.
-
- The route table holds ten entries and means where the system will
- go when a user choose a specific (0 to 9) route, entering * means "no
- route", else you enter the page nunber.
-
- The CUG access type means whether the frame is open to all ('O'),
- everyone with access to CUG 2 ('N') or only people with access to the CUG
- the frame is in ('Y')
-
- The user access type means whether the frame is open to all
- eligible users ('Y') or only editors of the frame CUG ('N'), this is used
- to setup new areas and not allow normal users to access it while you finish
- the frames.
-
- The frame type means what the frame actually does, normally this
- would be 'i', which means information and just displays the data area.
- Type 'd' means download, the first line of the data area is the
- file to download, the second line means the file name to give to the user
- in the header. If a route 0 is set, after the download it will go to that
- page.
- Type 'b' means bye, and displays the data area and logs the user
- off the system.
- Type 'v' means vote, this will be discusssed later.
- Type 'm' means message, this will be discussed later.
- Type 'c' means chatline, this will be discussed later.
- Type 'r' means register, this will be discuessed later.
- Type 's' means shell, this will be discussed later.
- Type 'j' means jump, this cause the system to jump to another
- frame, as defined by route 0.
- Type 't' means textfile, this will be discussed later.
-
- Note that for the logon frame it is taken to be a 'i' frame when a
- user logs on, the type and any of the access (CUG and NUA) flags are
- ignored.
-
- Force display if set to "Y" will cause the frame to be displayed
- fully before any user key presses are checked.
-
- Auto-hash will cause the system to automatically go to the next
- frame in the page once it has been displayed.
-
- Overlay will stop a clear screen code being generated before the
- frame is displayed.
-
- Headless will stop the frame header being displayed at the top of
- the frame.
-
- You can delete frames by *del (<frame>)<ret>, note: you can not
- delete frame c if there it is a parent (ie. there is a frame d etc.). Any
- keywords which point to the frame will also be deleted.
-
- You can lock/unlock a frame by *lock/unlock (<frame>)<ret> which
- means only a sysop can edit/delete a frame.
-
- You can lock/unlock frame routes by *rlock/runlock (<frame>)<ret>
- which means only a sysop can edit the routes/delete the frame. Note: lock
- will stop both frame routes and data being edited, whereas rlock will still
- allow the frame data to be edited by a normal editor.
-
- You can move a frame to another frame by *move <to frame> (<from
- frame>), note that you can't move a parent frame. The destination frame
- cannot exist already. If the frame is "a" then any keyword which points to
- the <from frame> will be changed to point to the <to frame>.
-
- You can move a whole page by *movepage <to page> (<from page>). No
- frames in the destination page can exist already. Any keywords which point
- to the <from page> will be changed to point to the <to frame>.
-
- A 'i' frame can have special codes imbedded in it to print certain
- variables out or to mark a place.
- To start a special code you use <esc>[ and then the next character
- is the code letter, T means tab, and marks a position of the screen for
- special use (eg. This is used to mark on the logon frame where a user
- enters his name/id and password).
- Codes a to z display a variable as the frame is being displayed,
- they are such:
-
- a Host name
- b User name
- c User ID
- d User password
- e User location
- f User calls
- g User first date
- h User sub expiry
- i User last date
- j User last time
- k User last message
- l User messages sent
- m User total time
- n User time limit
- o User downloads
- p User uploads
- q User up/down ratio
- r User downloads left
- svxy! Vote selection (x = vote number, y = selection number)
- svxy% Vote selection percentage of total vote users
- svx! Vote total
- svx% Vote total percentage of total users
- svwx Who (x = port number)
- t Time online
- u Time left
- v Date
- w Time
- x System total calls
- y Number of new messages
- z Last message
-
- The welcome frame must have two tabs (<esc>[T), the first one is
- the place the user enters his name/id and the second is where the user
- enters his password, if there aren't two then the welcome frame is deemed
- invalid and sysop only access is allowed. A space of 19 characters should
- be allowed for the name and 9 for the password.
-
-
- Keywords
-
- The system has keywords which either takes the user to a particular
- page (not frame) or can be made to perform some system command.
-
- The keyword *addkword <keyword> (<page>) adds the keyword <keyword>
- to the keyword file, pointing to the page given or the current one if it is
- left out.
-
- The keyword *addcmd <keyword> <cmd number> adds a system command to
- the keyword file, initially there are a default set of these in the keyword
- file. The cmd number relates to:
-
- 1 Page n/a
- 2 Pageoff n/a
- 3 Time Displays time
- 4 Date Displays date
- 5 Version/ver Displays host version
- 6* Quit Completely shuts system down
- 7 Log/relog Relogs onto system
- 8* Dropline <port> Drops line on a particular port
-
- 10 Ed/Edit/Editf (<frame>) Edit frame
- 11 Red/Editr (<frame>) Edit routes
-
- 14* Resetvote <vote> Reset particular vote
- 15 Del (<frame>) Deletes a frame
- 16 Move <to> (<from>) Moves a frame
- 17 Ins n/a
- 18* Lock (<frame>) Locks a frame for editing
- 19* Eduser <user name/num> Edits user details
- 20* Edsys (<port>) Edits system/port details
- 21* Edmsg <board name/num> Edits message board details
- 22* Edcug <cug name/num> Edits CUG details
- 23 Listusers n/a
- 24 Addkword <kword> (<page>) Adds a page keyword
- 25* Addcmd <kword> <cmd> Adds a system keyword
- 26 Delkword Deletes a keyword
- 27 Listkwords n/a
- 28 Listcmds n/a
- 29 Delpage n/a
- 30 Movepage <to> (<from>) Moves a whole page
- 31 Cugmenu n/a
- 32* Unlock Unlocks a frame for editing
- 33* Rlock (<frame>) Locks a frames routes for editing
- 34* Runlock (<frame>) Unlocks a frames routes for editing
- 35* Expandpages (+)<num> Expand pages file
-
- * = Sysop only
-
- Giving a frame a type of "!" and placing the system command number
- in route 0 will also perform these commands, useful if you want to, say,
- restrict relog.
-
- Remember to add suitable keywords for 0 (eg. main, menu, index
- etc.) and 90 (eg. logoff, bye, go etc.), these are NOT included in the
- default file.
-
- NOTE: Internally only enough space for 3100 frames is reserved for
- the pages map file, do NOT expand the file above this level. Future
- versions will have this problem resolved.
-
-
- Users
-
- To edit a user, you use *eduser <user number/name>, user 0 is the
- default user.
-
- In the editor <ctrlA> will go forward one user, <ctrlB> will go
- back a user and <ctrlN> will flip between the general user details and the
- CUG flags.
-
- While editing the CUG flags, the cursor keys will move around the
- CUGs. A CUG can have the options N (no access), Y (normal read access), E
- (editor, but cannot created frames), C (editor, and can create frames).
-
- For the general details the entries are:
-
- User name
- ID
- Password
- Location
- Calls
- Menu Main CUG menu user goes to when they use *0#
- ID only User can only logon using ID number
- No password Password not required for logon
- Sysop
- *First date
- *Subscription end
- *Last date
- *Last time
- Last message read
- Number of messages sent
- Total time Time in seconds
- Call time limit Time in seconds
- Number of downloads
- Number of uploads
- Upload/download ratio
- Number of downloads left
- Editor flags value bit 0 DEL -> block (0)
- bit 1 @ -> Esc (0)
- bit 2 CR expands to CRLF (0)
- bit 3 CR on blank line ends edit (0)
- bit 5 word/colour wrap on (0)/off (1)
- Respond colour Use Esc <colour attr> to change
-
- * not editable
-
-
- Hector
-
- Hector is the resident user. Hector compiles all the top 50s at
- midnight and sends statistics messages. You can also make him send "quotes"
- to online users, a text file "HecQuotes" should be placed in the System
- directory and he will at random times take a random line out of this file
- and send it to a random user.
-
-
- Chatting
-
- 99% of the time an online user has access to a simple chat system.
- This consists of a maximum 30 character message which is displayed on the
- bottom line, and can be sent from anyone logged on (including Hector). To
- send a message you use ":" ("<esc>:" in the editor), you then get a ":"
- prompt and can type in your message, this is then broadcast to anyone on
- the same page. If you start your message with a "@" then you can type a
- command:
-
- @to <port> <message> Sends to a particular user
- @shout <message> Sends to everyone
- @date Displays date
- @time Displays time
- @wizzo <max level> Retrains Wizzo
-
- In all the editors, except the screen editor where you use
- "<esc>:", you cannot get access to the ":" prompt, but you are still able
- to receive messages, where-apon the message will be displayed and the
- original text replaced 3 seconds later, unless you press a key when it will
- be replaced immediatly.
-
-
- Voting
-
- The system supports upto 32 votes (0 to 31), each with 8 options.
- The way users vote is that you setup a frame to have type 'v', with route 8
- set to the vote number and route 9 set to the vote option, then when
- accessed the vote selection is increased and the vote frame displayed as a
- info frame. If the user has already voted in that vote then he is displayed
- a line 23 message to the effect.
-
- To display the results of a vote you use the frame variable
- <esc>[sv, see the editor section for more information.
-
- To reset a vote you use the keyword *resetvote <vote number>, this
- resets every users vote flag (ie. whether they've voted in a particular
- vote or not) and the vote totals.
-
-
- Chatlines
-
- Not available.
-
-
- Texfiles
-
- Frames with type 't' display a textfile, automatically splitting
- the file into frames. The first tab (<esc>[T) should mark the top of the
- screen to insert the text. The second tab should mark the bottom of the
- screen to insert the text. Immediatly after the first tab you should place
- the file name of the textfile.
-
- At the moment the textfile in not specially formatted to 40
- characters, a line is read one at a time (any characters after the 40th
- characters are ignored) and placed in the frame template untill the frame
- is full or the end of the file has been reached, it is then displayed.
- Because of this you should make sure the textfile in question has been
- pre-formatted to 40 characters.
-
-
- Register
-
- When a user types a unknown name on logon the system automatically
- gives him access to CUG 1 (only) and certain other temporary flags and logs
- him on as a new user. The system should be set up for CUG 1 so that a
- introduction frame is displayed and an option for the user to regiser.
-
- User 0 in the user file is special, this is the default user, it is
- the template the system uses for when it creates a new user, it should be
- set up with the desired CUG access and time limit and such like.
-
- To register a new user in the user file you set up a frame with
- type 'r' and place two tabs on the frame. The first one is where the user
- will be asked for his location and the second is where he will be asked for
- his password. Once entered a new user will be created and the current user
- set to the created one. Only new users can register, ie. you can't access a
- register frame if you are logged on as a real user.
-
- After registering, the system will go to the page in route 0,
- normally this would be 0, to reflect the status of the current user (which
- now has all the flags of the default user as opposed to a new user, ie.
- member of CUG 1 only).
-
-
- Messages
-
- The message system is a seperate system to the main host,
- accessible via frames with frame type of 'm'. The frame data tells the
- message system what function is needed. The first character of the frame
- data can be 'r' (read), 'm' (read personal), 'l' (leave) or 's' (leave
- addressed - ie. pre-addressed to someone).
-
- From the second character of the first line of the frame data
- should be the board name. If blank then this means all boards (only
- applicable to read). If read personal is selected then this determines
- which board messages to "All" are searched for in.
-
- If the function is leave addressed then the second line should
- contain the name of the user to leave the message to.
-
- If one of the read functions is selected then the second line
- should contain "n" if new messages are to be read ("n" reads new messages
- since the last call, "N" reads new messages, taking into account any that
- have been read in the current call), else the start message is set to what
- was in route 1 of the frame which called the message system.
-
- Examples:
-
- rGeneral ; Read General messages (start msg in route
- 1)
-
- ----------------------
- mGeneral ; Read new user messages
- n
- ----------------------
- r ; Read all new messages
- n
- ----------------------
- sMsgSysop ; Leave message to The Sysop in MsgSysop
- The Sysop
- ----------------------
-
- If leaving messages then it will ask for a user name (if
- appropiate), whether the message is public or private and the subject of
- the message. It will then enter the editor and the user can enter his
- message, the editor has already been covered. As with the frame system,
- there are extra editor commands for the message system: IMPORT <message
- no.>, which imports a message into the editor, this is a priviledged
- command.
-
- As well as the extra editor command, you can also get access to the
- message commands (see below), via <esc>/, which will give the normal '/'
- prompt for message commands, and will act on the message in the editor.
-
- When reading messages it will search for the first message and
- display it and prompt the user for action. The user can key (n)ext (go to
- the next message - <ret> can also be used), (r)eply (see above), (d)elete
- (if the message is addressed to or from the user, or the user is
- editor/sysop), (m)utilate (which means delete and then reply), (a)gain
- (redisplay message), (t)oggle direction of message reading, (p)revious (go
- back a message), (q)uit, (h)elp (display help screen).
-
- Aswell as these, if the user is a sysop/editor then there are the
- options (all toggles): (s)wap (swaps public/private), (f)orce (force reads
- - a normal user can't (n)ext (or <ret>) onto the next message until the
- message has been fully displayed), (u)nable delete (a normal user will not
- be given the (d)elete (or (m)utilate) option, even if the message is
- addressed to or from him) and (l)imbo. When a message is deleted by a
- normal user (ie. not a sysop/editor), it is not deleted but limboed. This
- means that normal users won't be able to see that message, but
- editors/sysops will (it will appear as a green message) and can be
- de-limboed. When a editor/sysop uses (d)elete (or (m)utilate) then the
- message will be totally deleted. When compressing the messgage file you can
- specify to remove limboed messages, thus the space they take up freed.
-
- A sysop can also (e)dit the message and a sysop/editor can (1)
- respond to the message (which allows the user to put a comment at the
- bottom of the message).
-
- Another prived option is '/', which gives access to message system
- commands, you will be given a / prompt and can enter these commands: to
- <name> (change to field), from <name> (change from field), subj <subj>
- (change subject field), board <board> (change board message is in) and
- swap, force, unable, limbo (which are the same as above - but can also be
- used in the editor).
-
- For each message board a user can be unaccessable, a normal user or
- a editor, these are all taken it consideration when reading/leaving
- messages.
-
- To setup a message board's deatils use "*edmsg <board
- name/number>", then you can edit a board's name and linked CUG. If a user
- is a member of the linked CUG then he has read access to the message board.
- If a user is a editor of the linked CUG then he gets editor access, or
- sysop access if he is a sysop.
-
-
- Shell
-
- There is a way of getting at the operating system from a logged on
- user via a TaskWindow using frame type 's'. The TaskWindow module 0.29 or
- later must be loaded for this to work.
-
- You cannot use a TaskWindow if the system isn't in the wimp, you
- will not be allowed to try if this is the case. If the system cannot start
- the TaskWindow up for any reason then a line 23 message will be displayed.
-
- Once started Wizzo level 0 will be negoiated (80 col tty) and you
- should get a OS * prompt, from here you can type any normal OS command, eg.
- BASIC.
-
- Initially you are given a wimp slot of 64k (or lower if 64k isn't
- available), to increase or decrease the wimpslot size for the TaskWindow
- use the command WimpSlot from the OS prompt, DO NOT change the wimpslot
- size in a language, except by using END= in BASIC.
-
- To quit the TaskWindow either use *Quit or *ShellCLI_TaskQuit from
- the OS prompt or press <ctrlX> three times. <ctrlX> should close the window
- even if the program running in the TaskWindow has crashed.
-
- As you have direct access to the OS, you should be VERY careful
- what you are doing, apart from the obvious things like not trying to run a
- game or somesuch, you should not close files that you did not open, this
- includes using *Close, CLOSE#0, *Shut, *Shutdown or *Dismount; You should
- try and not drop line with files open, they will NOT be closed.
-
- You will not have access to the system files as they are all kept
- open. The one exception to this is the activity log which is opened when
- used and closed 30 seconds latter, so you can get access to it, though if
- it is open, try again 30 seconds latter ! Note: As the activity log could
- be needed anytime, you should copy the activity log straight away to
- view/download it, do not work on the real activity log.
-
-
- Ports And Modems
-
- Inside the !VHost application is the file "Ports", this textfile
- contains a list of ports in the form:
-
- <vhost logical port> <serial driver name> <serial driver port> <modem>
-
- <vhost logical port> is the port number vhost refers users to, start at 3
- and work your way up. (nb. ports 1 and 2 are the local ports).
-
- <serial driver name> is the driver name as supplied in !SerialDev.
-
- <serial driver port> is the physical port number to use for the driver.
-
- <modem> is the file name of the modem description file which can be found
- in the "Modems" directory.
-
- Each "Modems" file contains a list of commands which build up a
- description on how the modem is to be used. the commands are:
-
- baud <number> Sets both rx and tx baud rates to "talk" to
- the
- modem at
- tx <number> Sets only the tx baud rate
- rx <number> Sets only the rx baud rate
- init <string> Sets the init string to be sent to the
- modem on
- startup, including any terminating return.
- Control codes (including returns) can be
- included in the normal way (eg. |a, |m)
- finit <string> Sets the string sent to the modem on
- shutdown
- ring <string> Sets the string to be sent when the modem
- signals someone is ringing
- useconnect Flags that the connect string the modem
- returns
- should be read and the baud rate adjusted
- accordingly
- readconnect Flags that the connect string the modem
- returns
- should be read only. The point of this is to
- get the baud rate the caller is really
- calling
- at. Presently this is only used to put the
- correct baud rate in the activity log
- connect <string> <tx baud> (<rx baud>) Adds a new connect string to the
- list of
- connect strings, to cater for non standard
- connect strings
-
- Note: ring doesn't work at the moment, you will have to set the init string
- to make the modem auto-answer
-
- Note: when the connect string is read, the baud rate isn't evaluated from
- the string itself, but compared with a list of known strings. There is a
- default list of strings: connect50, connect75, connect110, connect150,
- connect300, connect, connect600, connect1200, connect2400, connect4800,
- connect9600, connect19200, connect38400. Any others the modem returns
- should be supplied with the "connect" command. When dealing with connect
- strings, all spaces are ignored (and should not be entered in the "connect"
- command) and the case is ignored.
-
- As well as details about the physical port, you can edit logical
- port details by "*Edsys <port number>" (if you leave out the port number
- general system details can be edited). The entries are:
-
- Port name Not currently used
- Calls Number of normal (not sysop) calls
- Logon Page Frame to use as the logon frame for this
- port
- Open time Not currently used
- Close time Not currently used
- Ringback Not currently used
- Online Whether calls should be answered
- CUG access Not curretly used
-
-
- Future enhancements
-
- Node movement/deletion
- Page deletion
- Bulk NUA utilities
- Improved editors
- Bulk user utilities
- Chatlines
- Full chat system
- Pager
- Sysop chat
- TaskWindow file protection
- Abiltiy to close parts of system down to enable system files to be
- worked on from a TaskWindow
- Download management system
- Spark compatibilty, to archive message packets
- Full message management
- Full system management
- Proper colour viewdata local terminal
- Multiple logons from a single port (like local does now)
- CET (and maybe FCET)
- Enhanched textfile reader
-
-
- WARNING
-
- Future file structures may change (some have already since the
- original "8-bit" structure) so anything you do *may* not be transportable,
- I will *probably* do file convertors though.
-
- (c)1993 G.W.Babb
-