Hot&Cold Webtext Preparation System

Menue Definition


The menue definition is a file on the desk or register level, called mendef.mdf. It is best accessed using the command edmen with D or R as the argument. The definition is a list of sublists. The following is an example on such a list on the desk level:

  ((page "gen" "intro")
   (sub  "manual")
   (sub  "examples")
      )
and the following is an example on the register level:
  ((page "intro")
   (page "operations")
   (page "edcoms")
   (link kr)
    )

The list of commands can also contain a string or the symbol NIL. A string is used for a separating section header for a group of keywords in the menue. An occurrence of NIL creates an extra vertical space before the followin keywords.

The following are the commands that can be used in the menue definition, by groups.

Present substructure - submenue and contents

Operations for setting up substructure and for replacing its menue.

mlink Menue link - link to something that replaces present menue.
mpar Menue parallel - menue obtained from parallel register under present desk. (Name of register given as sole argument?)
pardesk Used with first arugment for example "/info/www/ext/.../" representing a desk; second argument as a string naming a register within that desk. Effect analogous to command sub, but obtains the register from another desk than the present one.
homedesk Used to refer from a main menu to a submenu to a register represented in a user directory (not under /info/www/ext/). Use as e.g. (homedesk "/home/user/place/" "reg") where /home/user/place/ represents a desk and reg is the name of a register and subdirectory for that desk.
parsub For register to register reference.
sub The register mentioned as the argument is assumed to have been organized as a thread, with a submenue etc. A link to that thread is put in the present menue. This operation ought only be used on the desk context level.

For register representing contexts, there ought to be a similar option for referring to another register. This has not been implemented yet.

Present contents page

dpage Used with an argument such as "/ext/witas/info/.../". Obtains that page and writes it in the main field.
link This command occurs for desks with two arguments, representing register name and document name. It also occurs for registers and shall then have one argument, representing a document name. In both cases, the document shall have a property LINK containing an absolute URL (not one that is local to the present position). For additional details, see below.
page The argument(s) name a document in the present context structure, which is to be linked from the menue. For a desk level menue, both the register and the document name are given. For a register level menue, only the document name is given.
parlink Two arguments; obtains the link in a parallel register to the present one.
parpage Two arguments. For registers only.
parregpage Used with first arugment for example "/info/www/ext/.../" representing a register; second argument as a string naming a document within that register. Puts that document's web page in main. Effect analogous to command page, but obtains the document from another register than the present one.

Window level operations

toplink This command is similar to link, but the item being clicked is immediately obtained in the top level of the window (without the user having to click the expand line first).
xlink One or two parameters depending on whether it is carried by a desk menu or a top-level register menu. (Only those two cases apply). Used in top-level menus to indicate a link to a register-based substructure that is to be displayed in the separate screen window called extern. It is specified by a document having a link property to a file called field-sub.html in the target register directory in question.
export No parameters. Used in sub-register menus to create a link which when clicked will display the same sub-register in the separate window called extern. The sub-register must have a field-sub.html file; these files are identical copies of the same contents.

Details about Links

The document in question is only used for the following administrative reasons:

Notice in particular that inst-h expand is to be done for such documents as well, in order to obtain correct handling of the expand line.

Menue Towers

In some contexts it has been desirable to split the menue into an upper and a lower part, where the upper part is held more fixed, and the lower part is more variable. This occurs for example in the ETAI pages. We refer to this as a menue tower.

The following solution is used in such cases. Notice that frame names and file names are used crosswise here. The entire menue bar is defined as a field called dmenue, containing two subframes whose names do not matter much. (For ETAI we have retained the older frame names: umain_sframe and lowleft_sframe). The corresponding file is called dframe.html, and is defined as invoking two files where the one in the lower frame is called menue.html. Again, the file name in the upper frame is not standardized.

With this solution, the right things happen both with respect to remote update of the frame called menue (allowing alternating use of double and single menues) and with respect to the specification and automatic regeneration of the menue using edmen.

We should in fact have a property on the desk (context) for indicating that menue towers are used, but this is not the case today. Therefore, for menue towers one has to manually change the file index.html so that it refers to dmenue.html instead of menue.html. This also has to be redone if the structure is regenerated using crecx.

We don't see how one would go about using menue towers together with initiation of the remote controller. (Problems arise becuase the controller will be initiated from a subframe that later vanishes). A possible solution would be to initiate the remote from the initial entry in the main frame instead.

System or Internal Menues

In many cases it is useful to have a parallel page containing information for the editor or operator - overviews of current contributions, operations guides, and so on. Such internal variants are stored in the same directory but under the name sindex.html instead of index.html. The corresponding menue definition is at smendef.mdf and the menue at smenue.html. (The 's' is a mnemonic for 'system').

For menue towers there is a file dsmenue.html referring to smenue.html, in analogy with what was said about about the regular files in menue towers. This technique is presently used for etai and for etai.rac.

There is also the alternative technique of having an entirely separate directory and menue definition for the internal version. This is used by acres: there is a desk acres that carries the regular place, and a register acres.intern within it that carries the internal page with tools for additions to the database etc.

Maintenance
information:
Latest update 8.9.1999 by EMTEK group.
Edit mode aml, position code D.hotcold.manual.mendef.