Specification of Updated WWW->PennInfo Gateway
WWW->PennInfo gateway
Types of documents that the gateway will send back
to WWW clients:
Bug Fix Needed
If the identifier is just a '/', then assume the
local techinfo server name and port -- initialize tiserver
and tiport better, and send back the main menu of the
local tiserver. The selector would be
/penninfo-srv.upenn.edu:9000/M/0.
Searching
Figure out how to get searching to work. Keywords, Titles, Modification date,
Source name.
- The html for the menu should start with the menu's Title in a
TITLE directive. Given a nodeid, which TechInfo transaction
should be used to get the title of the document or menu?
- Re-state the Title in an H1 directive.
- State the menu's source's full name, with a link to the full
contact information for the source. That is, say "This menu is
owned by {put a name & anchor here}". The anchor link should contain
the short-source-name. The name (title) contains the long-source-name.
What techinfo transaction sends back long-source-name, given
a nodeid?
-
Add a link which when chosen is equivalent to the "information"
command of the vt100 interface. Show owner, date, keywords,
full title...
-
For each item, the URL should be
http://gatewayhost:gatewayport/Unique-identifier. Unique-identifier
must tell
- the hostname of the TechInfo server
- the port of the TechInfo server
- what type of item this is (e.g. M is another menu)
- the nodeid of the item on the TechInfo server.
-
At the end of the line for each menu item which is a text document or an image,
add an anchor which links to the Document Information for that
nodeid. For example: Size
So, for example, Unique-identifier could be
penninfo-srv.upenn.edu:9000/M/0 and the full URL, assuming
www-penninfo as the hostname and 1962 as the port, would be
http://www-penninfo:1962/penninfo-srv.upenn.edu:9000/M/0.
-
To every menu, add the ability to go back to the main menu.
E.g. if the tiserver for the current menu were tiserve.mit.edu,
then at the bottom of this menu, link back to
/tiserve.mit.edu:9000/M/0. (The full URL still starts
with http://www-penninfo.upenn.edu:1962)
-
Use the TITLE directive to display the title
-
Use H1 directive to restate the title
-
State the PennInfo source of the document with a link to more complete
contact information.
-
Add a link which when chosen is equivalent to the "information"
command of the vt100 interface.
-
Use the PLAINTEXT directive to send the actual text of the document.
To make something look like an image, just add .gif to the selector.
For example: /penninfo-srv.upenn.edu:9000/I/2918.gif
could be the selector for nodeid 2918, an image on penninfo-srv.
If the URL is
http://www-penninfo:1962/source:{short-source-name}
then ask the TechInfo server for the long source name, email address,
phone number, and people's names that go with the source name.
Send the data neatly formatted. The PRE directive might do it.
The TITLE and H1 directives for this kind of document should
be "Information about %s", where %s is
the long source name.
If the tiserve is the local ti server, then Source Information
documents should contain a link to the full list of all PennInfo sources.
(Which nodeid is the sources document?)
If the URL is
http://www-penninfo:1962/penninfo-srv.upenn.edu:9000/info:{type}/{nodeid}
then return meta information about the nodeid.
Ask the TechInfo server for information about the nodeid.
The long-source-name should be linked
to the Source Information for that source (there's no need to
include the phone number, email address, etc in the Document
Information screen).
How to get the size:
use the t: transaction to get the first 20 bytes of the document.
The t: transaction tells how many bytes there are
in the file altogether. (It also tells the last mod date & time).
I'm not sure if {type} needs to be
part of the URL. It depends on whether there are different
ways of getting node information from the TI server for different
types. I don't think so. Or whether the TechInfo server returns
the document type when you ask for node information; it probably
does. So {type} probably isn't necessary. Don't show the
modification date or size for menu documents or telnet documents.
Only show modification date & size for Text & Images.
The TITLE and H1 directives should be "Information about %s"
where %s is the PennInfo name of the menu or document.
Be sure to format the information neatly. (left-justify). For example:
Example for a menu:
Example of the same menu information, using the PRE directive:
Title: PennInfo Main Menu
Source: PennInfo Administration
Type: Menu
Keywords:
penninfo
root
top
Nodeid: 0
Outline: Click here to see the outline below this menu.
Path: Click here to see the path(s) to this menu.
Extra credit: make each keyword in the Keywords list be an anchor
to a keyword search which returns a menu containing all documents
which contain that keyword in their keyword lists.
Where do I link this to?
It's a menu where each item is a link to nodeid 0 of the different
TechInfo servers.
Replace penninfo-gopher.upenn.edu with gopher://gopher.upenn.edu/
(no reason to make them use the PennInfo->Gopher gateway since
WWW clients all speak gopher).
Existing Source Code
Gophtech.c