'\" t
.\" aegis - project change supervisor
.\" Copyright (C) 2003, 2004, 2006-2008, 2010, 2012 Peter Miller
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
.\" General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see .
.\"
.so etc/libdir.so
.so lib/en/man1/z_name.so
.ds n) aeget
.TH "aeget" 1 \*(N) "Reference Manual" ""
.SH NAME
aeget \- Aegis CGI file access
.XX "aeget(1)" "Aegis CGI file access"
.SH SYNOPSIS
.B \*(n)
.SH DESCRIPTION
The
.I "\*(n)"
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.
.PP
This is useful when developing web sites using Aegis.
.SS Install
In order to use \fIaeget\fP(1), you need to copy it into your
\fIcgi\[hy]bin\fP directory.
.PP
You may prefer to use a symbolic link, as this will be more stable
across Aegis upgrades. However, this requires a corresponding
\fIfollow\[hy]symlinks\fP setting in your web server's configuration file.
.SS Usage
Once \fIaeget\fP(1) is installed,
files may be accessed via
.RS
http://localhost/cgi\[hy]bin/aeget/\fIproject\[hy]name\fP/
.RE
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.
.SS 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 \f[CW]aedefault.css\fP, and then styles from a project
stylesheet called \fIprojectname\fP\f[CW].css\fP (replace \fIprojectname\fP
with the name of the project).
.PP
There is an example style sheet in
\f[CW]\*(D)/aedefault.css\fP 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.
.SH PROJECT ATTRIBUTES
You can set your own project specific page headers and footers by using
the "html:meta", "html:body\[hy]begin" and "html:body\[hy]end" project specific
attributes.
.RS
.nf
.ft CW
project_specific =
[
{
name = "html:body\[hy]begin";
.fi
.in +4m
value = "This text goes immediately after the <BODY> and before
any text generated by aeget(1).";
.in -4m
.nf
},
{
name = "html:body\[hy]end";
.fi
.in +4m
value = "This text goes immediately before the </BODY> and after
all text generated by aeget(1).";
.in -4m
.nf
},
];
.ft P
.fi
.RE
These fields may be used to customize your web pages for your
project\[hy]specific or company\[hy]specific needs.
Each project is configured independently.
.SH CHANGE ATTRIBUTES
If you wish to prevent a change set appearing in the change set
inventory used by \fIaedist \-replay\fP to determine what needs to be
downloaded, set the following change set attribute:
.RS
.nf
.ft CW
attribute =
[
{
name = "aeget:inventory:hide";
value = "true";
},
];
.ft P
.fi
.RE
You must use the \fIaeca\fP(1) command for this, the \fItkaeca\fP(1)
command can not edit change set attributes.
.SH DEBUGGING and TESTING
You can run the \fI\*(n)\fP(1) program from the command line if you set
the appropriate environment variables.
This is how you debug or test \fI\*(n)\fP(1) command.
.TP 8n
REQUEST_METHOD
This is how the script is being invoked.
For \fI\*(n)\fP(1) command, this is always "\f[CW]GET\fP".
.TP 8n
SCRIPT_NAME
This is the path of the script name, from the HTTP client's point of view.
Typically this is "\f[CW]/cgi\[hy]bin/aeget\fP".
.TP 8n
PATH_INFO
This is the portion of the URL between the script name and the question
mark. For \fI\*(n)\fP(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.
.TP 8n
QUERY_STRING
This the portion of the URL after the question mark.
.PP
The above will not means much if you are not familiar with CGI scripts.
For the URL \f[CW]http://localhost/cgi\[hy]bin/aeget/aegis.4.1.C10?menu\fP
would have Apache set the following environment variables
.RS
.nf
.ft CW
REQUEST_METHOD=GET \e
SCRIPT_NAME=/cgi\[hy]bin/aeget \e
PATH_INFO=/aegis.4.1.C10 \e
QUERY_STRING='menu' \e
aeget
.ft P
.fi
.RE
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.
.SS Apache
If you see "serious server error" pages when accessing \fI\*(n)\fP(1) via
a web server, the stderr text is usually available in the server's error log.
.so lib/en/man1/z_cr.so
.\" vim: set ts=8 sw=4 et :