Telstar Viewdata System
Please note TELSTAR 2.0 Alpha is still under development and subject to change.
TELSTAR is both a a videotex application and a videotex service. Details of the current videotex service can be found at https://glasstty.com.
The TELSTAR videotex system, provides a simple viewdata/videotext platform similar to those that were prevalent during the 1980s such as Prestel (https://en.wikipedia.org/wiki/Prestel).
Content for the TELSTAR system is based on simple json files with support for the popular frame editor available at https://edit.tf. As prviously mentioned, frames can also be created programatically through the use of plug-ins.
The videotex implementation described here can be accessed over the internet using modern *internet modems* in conjunction with historic Viewdata and videotex terminals and home computers of the 1980s. In addition the Telstar Viewdata Client can be used with modern computers (MacOS, Linux, Windows).
TELSTAR is is designed to run in a Docker environment and is supplied as a Docker image (see https://hub.docker.com/repository/docker/johnnewcombe/telstar). The system can be installed with a few simple Docker commands or by using Docker Compose. Telstar can also be run under a Kubernetes environment.
The Docker image described here is a full implementation of TELSTAR application, and whilst the system is comprehensive, it is fairly simple to set up. The system can be extended using a very simple plugin architecture and this can be used to add and update content (frames) as required.
Installation
Telstar is implemented using Docker containers and can be managed using Portainer if desired (see Managing Telstar with Portainer). Details of how to install Telstar are detailed in the article Installing Telstar.
The Docker environment can be managed using Portainer, see Managing Telstar with Portainer.
Pages and Frames
As is typical with interactive videotex systems, pages are numbered from 0 to 999999999 and consist of one or more frames with the suffix a-z, for example the first frame for page 200 would be 200a, the second 200b and so on (see Routing) for more details). These frames are stored within TELSTAR's database as JSON objects (see https://www.json.org/).
The simplest frame that can be viewed on TELSTAR would be defined as follows. This would create a simple information frame with some default content.
{ "pid": { "page-no": 101, "frame-id": "a" }, "visible": true, }
The Telstar API can be used to add this and other frames to the system.
Shown below is a more comple example of a JSON defined frame. With this particular frame, the actual viewdata content has been created using the editor at http://edit.tf, this can be seen in the content.data and content.type keys. The example below is a simple information page with some simple routing (see [[Routing]). Pasting the content.data value into a browser will show the page and allow it to be edited.
{ "pid": { "page-no": 0, "frame-id": "a" }, "visible": true, "frame-type": "information", "content": { "data": "http://edit.tf/#0:QIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQMMKAbNw6dyCTuyZfCBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgKJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRAxQR4s6LSgzEEmdUi0otOogkzo0-lNg1JM-cCg8unNYgQIASBBj67OnXllWIMu7pl5dMOndty7uixBoy4dnTQsQIECBAgBIEHfLh2dNCDDuyINmnNl59POzKuQIECBAgQIECBAgQIECBAyQTotemggzoiCvFg1JEWkCnYemnfuw7EGHdkQIECBAgQIASBBp3dMvLdh6ad-7DsQbsvfmgw7siDvlw9NGXkuQIECBAgQM0EKrTkzotOmgkzo0-lNg1JM-cCh79vDDu8oMO7IgQIECAEgQYuvPTuy8-aDdl781wM6EjVKcVBMw9MvPogoctOPLzQIEDRBHn1otKdNizqiCTOjT6U2DUkz5wKlvw5OaxByw6dixAgBIEGHdkQUMPLZpw7cu7ouQIECBAgQIECBAgQIECBAgQIECBA2QR4NSLXg2UFOLSrSYcWmCnWKkWYsQVIsWNBsLEEOHMaIASBBh3ZEHTRlQQ9-zfz54diCHh7ZUGHJ2y7unXllXIECBAgQN0EifMkxINmmCqcsPbLsQYd2RBI37NOTD5QbsvfmuQIECBA4CHQc2TDpT50WogcMGCAScgoOnLTi69MqDpvQdNGnmgQIAaBBzy8u2nHlQd9PTQgqZdmXnvzdO-HllQYd2RBt38sq5AgQOQ0yfHQT40ZYgp2adSLNQSZ0aegTIKkWnUQUIMeLTQIECAokSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEiRIkSJEFeLBqSItJBGn0osODTqIBIM6EQIEFDDnyoFTJywvoECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECBAgQIECA", "type": "edit.tf" }, "routing-table": [0,1,11,3,400,5,6,7,800,9,0], "cursor": false, "author-id": "editf-frame-generator", "navmsg-forecolour": "yellow", "navmsg-backcolour": "blue", "navmsg-highlight": "white" }
TELSTAR supports many different types of frame, including response frames that can capture user data and gateway frames that provide connectivity to other systems.
It is not necessary to use the http://edit.tf editor, this is just one option.
Full details of all of the frame types and how to create them is described in the section Frames.
Response Frames and Plugins
Response frames are frames that allow a user to enter data to be processed i.e. a frame where a user enters data such as a form. The data from these frames wouldt typically be processed using an external program or script referred to as a plugin. The plugin can be any software that can be executed, all that is required is that the plugin can return a json result. The Telstar system https://glasstty.com weather page is handled in this way.
Plugins are simple to create and deploy within a Telstar container and can be written in any language supported by the platform.
Further details of the Telstar Plugin framework and how to create them can be found in the section Implementing Plugins.
Adding Frames to the System
Frames can be added to the system using either the Telstar API or by using a plug-in (see Implementing Plugins)
The Telstar API, in conjunction with the cross platform Telstar Util software, provides a simple method of creating and managing pages.
The API can be used to retrieve and update frames and configuring routing. The API is a restful API that uses the GET, PUT, POST and DELETE HTTP methods and as such can be used from any application.
Data is passed to and from the API in JSON format, making the system very simple to use in any programming language. The whole API could be used without any programming at all by using a command line utility such as CURL.
Further details of the Telstar API can be found in the section The Telstar API.
See Also
* Routing * Frames * Configuration Options * Managing Telstar with Portainer * Orchestrating Telstar with Docker Compose * Orchestrating Telstar with Kubernetes * The Telstar API * Implementing Plugins
Attributions
The website icon is derived from work by Dan Farrimond. This original work and the icon is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license (https://creativecommons.org/licenses/by-sa/3.0/deed.en).