Wiki

Clone wiki

telstar-server / routing

Routing

Please note TELSTAR as an application is still under development and subject to change.

Routing in Telstar is handled by an asynchromous process that allows for routing to occur whilst pages are being rendered. This means that is a user of the system can navigate quickly to a desired page by simply entering the page number one character after another. Each successive key press with start the rendering of a page but as each subsequent key is pressed, the rendering is cancelled and the foloowing page is rendered and so on until the desired page is rendered.

for example simply pressing 2 2 2 from the main index page (Page 0a) of the Telstar service will result in the Guardians UK News being displayed. For this to work correctly, all intermediary pages must be present. Creating routes through the system such as the one described above, should be the aim when designing a videotex system.

Users can jump directly to a known page by entering the page number using the format page#*, for example, entering 92# into the current Telstar system will direct you to page 92, the graphical 'Don't Panic'* test page.

Page Numbering

Pages are defined by a single integer number between 0 and 999999999. Each page can have upto 26 frames denoted by the suffix a-z(. Therefore a fram denoted by for example 222b* would be the second frame of page 222. The maximum page number length is 9 digits plus the frame suffix.

Zero Page Routing

In cases where a page needs more than 26 frames such as a large Telesoftware program or where large numbers of news articles extends beyond frame z, a sequence of Zero Page Routing takes place. For example if a Guradian news article starting on frame 222z needed a continuation frame, the frame 2220a should be used. If articles continued to frame 2220z and needed further continuation frames, frame 22200a should be used and so on to the maximum page number length (see above).

Default Page Routing

When frames are created a routing table can be assigned to the frame Frames in More Detail. this routing table defines what page is selected when a user enters a digit into their videotex client software. In many cases all that is required when creating new frames, is to add a default routing table to each of them. This is demonstrated in the example plugins within the telstar-plugins repository e.g.

page_no = 222
routing_table = telstar.frame_document.create_default_routing_table(page_no)

This creates a routing table as follows.

[2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 222]

Each entry represents a key press for example if the user presses a 0 then element zero is used and the user is routed to page 2220, entering a 1 would route the user to page 2221 etc. The last element, element 10, represents the routing when the # (Return Key) is entered.

In most cases the default routing will work quite well, however, when that isn't the case, the table can be created or updated manually as required.

Redirection

There exists a special frame type that will allow a frame to redirect to another frame, for example the following frame redirects from page 0a to 9a.

{
  "pid": {
    "page-no": 0,
    "frame-id": "a"
  },
  "redirect": {
    "page-no": 9,
    "frame-id": "a"
  },
  "visible": true
}

See Frames in More Details for more information.

Updated