aeget(1)

NAME
aeget - Aegis CGI file access

SYNOPSIS
aeget

DESCRIPTION
The aeget command is used with Apache (or CGI conforming any other web server) to access the files of an Aegis project. The files are searched for along the appropriate search path, including all ancestor baslines, not just the baseline of the branch.

This is useful when developing web sites using Aegis.

  Install
In order to use aeget(1), you need to copy it into your cgi-bin directory.

You may prefer to use a symbolic link, as this will be more stable across Aegis upgrades. However, this requires a corresponding follow-symlinks setting in your web server's configuration file.

  Usage
Once aeget(1) is installed, files may be accessed via
    http://localhost/cgi-bin/aeget/project-name/
If no project name is given, a list of projects will be generated. This will lead you through a series of menus, giving access to manu useful pages of information about your projects.

  Cascading Style Sheets
The web interface uses Cascading Style Sheets. You can give the web interface a personalised look and feel, by creating stylesheets in the web server's Document Root directory. The interface will use it's default styles, then styles from a global style sheet called aedefault.css, and then styles from a project stylesheet called projectname.css (replace projectname with the name of the project).

There is an example style sheet in /aedefault.css which demonstrates the style elements used. This particular stylesheet is not designed to be aesthetically pleasing, but to exercise all of the elements. Using this stylesheet unmodified will give psychedelic results. Use it as a template.

PROJECT ATTRIBUTES
You can set your own project specific page headers and footers by using the "html:meta", "html:body-begin" and "html:body-end" project specific attributes.
    project_specific =
    [
      {
        name = "html:body-begin";
    value = "<i>This text goes immediately after the &lt;BODY&gt; and before any text generated by <i>aeget</i>(1).</i>";
      },
      {
        name = "html:body-end";
    value = "<i>This text goes immediately before the &lt;/BODY&gt; and after all text generated by <i>aeget</i>(1).</i>";
      },
    ];
These fields may be used to customize your web pages for your project-specific or company-specific needs. Each project is configured independently.

CHANGE ATTRIBUTES
If you wish to prevent a change set appearing in the change set inventory used by aedist -replay to determine what needs to be downloaded, set the following change set attribute:
    attribute =
    [
      {
        name = "aeget:inventory:hide";
        value = "true";
      },
    ];
You must use the aeca(1) command for this, the tkaeca(1) command can not edit change set attributes.

DEBUGGING and TESTING
You can run the aeget(1) program from the command line if you set the appropriate environment variables. This is how you debug or test aeget(1) command.

REQUEST_METHOD
    This is how the script is being invoked. For aeget(1) command, this is always "GET".

SCRIPT_NAME
    This is the path of the script name, from the HTTP client's point of view. Typically this is "/cgi-bin/aeget".

PATH_INFO
    This is the portion of the URL between the script name and the question mark. For aeget(1) this is usually the project name or the project name and the change number. No project name will get you the project list page.

QUERY_STRING
    This the portion of the URL after the question mark.

The above will not means much if you are not familar with CGI scripts. For the URL http://localhost/cgi-bin/aeget/aegis.4.1.C10?menu would have Apache set the following environment variables
    REQUEST_METHOD=GET \
    SCRIPT_NAME=/cgi-bin/aeget \
    PATH_INFO=/aegis.4.1.C10 \
    QUERY_STRING='menu' \
    aeget
Output is written to stdout. Tests scripts can easily capture this and compare it with expected results. Make sure you avoid false negatives because of the date tacked onto the end of most pages.

  Apache
If you see "serious server error" pages when accessing aeget(1) via a web server, the stderr text is usually available in the server's error log.