f6da704ee1
SVN revision: 1251
1997 lines
86 KiB
HTML
Executable File
1997 lines
86 KiB
HTML
Executable File
<HTML>
|
|
<HEAD>
|
|
<TITLE>ELOG - Syntax of elogd.cfg</TITLE>
|
|
<LINK REV="made" HREF="mailto:fredpmygale.org">
|
|
<META NAME="generator" CONTENT="NoteTab Light 4.86c">
|
|
<META NAME="author" CONTENT="Fred Pacquier">
|
|
<META NAME="description" CONTENT="Home of the Electronic Logbook (ELOG) package">
|
|
<META NAME="keywords" CONTENT="ELOG MIDAS PSI RITT">
|
|
<LINK REL="stylesheet" TYPE="text/css" HREF="elog.css">
|
|
</HEAD>
|
|
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
|
|
|
<div class=title> ELOG - Syntax of elogd.cfg </div>
|
|
<p>
|
|
<div class=menu>
|
|
[<a class=nav href="adminguide.html">back to Administrator's Guide</a>]
|
|
</div>
|
|
<p>
|
|
<div class=menu> * Server :
|
|
[<a class=nav href="#global">Global</a>]
|
|
- Logbooks :
|
|
[<a class=nav href="#general">General</a>]
|
|
[<a class=nav href="#groups">Logbook groups</a>]
|
|
[<a class=nav href="#attrib">Attributes</a>]
|
|
[<a class=nav href="#conditional">Conditional Attributes</a>]
|
|
[<a class=nav href="#email">E-mail</a>]
|
|
[<a class=nav href="#access">Access Control</a>]
|
|
[<a class=nav href="#flags">Flags</a>]
|
|
[<a class=nav href="#themes">Themes</a>]
|
|
[<a class=nav href="#mirroring">Mirroring</a>]
|
|
* </div>
|
|
<p>
|
|
<div class=Sub><i>Global and individual logbook options for an ELOG server</i></div>
|
|
|
|
<hr>
|
|
<p>
|
|
The configuration file <b><code>elogd.cfg</code></b> contains entries which define
|
|
the structure of logbooks and the behaviour of <code><b>elogd</b></code>. The file has a simple ASCII
|
|
format. Each logbook is defined by a <b><code>[<name>]</code></b> section
|
|
where <name> is the name of the logbook. The <b><code>[global]</code></b>
|
|
section is used for settings common to all logbooks. Each line contains a setting
|
|
name, followed by an equal sign and the value for this setting. Lines starting with
|
|
";" are treated as comments.
|
|
<p>
|
|
Here is a simple example, which define two logbooks, "<I>Linux</I>" and "<I>PC</I>":
|
|
<p>
|
|
<ul><pre>
|
|
[global]
|
|
SMTP host = mailsend.your.domain
|
|
|
|
[Linux]
|
|
Theme = default
|
|
Comment = General linux tips and tricks
|
|
Attributes = Author, Type, Category, Subject
|
|
Options Type = Routine, Software Installation, Problem Fixed, Configuration, Other
|
|
Options Category = General, Hardware, Software, Network, Account, Other
|
|
Options Author = Stefan, Linus, unknown
|
|
Required Attributes = Author
|
|
|
|
[PC]
|
|
Comment = Database PC installations
|
|
Attributes = Location, OS, Owner
|
|
Options Location = Building1, Building2
|
|
Options OS = Linux, Windows ME, Windows 2000
|
|
Required Attributes = Location, Owner
|
|
Email All = name@address, othername@otheraddress
|
|
Use Mail Subject = Location
|
|
</pre></ul>
|
|
<p>
|
|
|
|
<a name="global"><hr>
|
|
<div class=title> Global options </div>
|
|
<p>
|
|
The notation of the following options is such that items enclosed by <b>"<"</b> and <b>">"</b>
|
|
should be replaced by a specific string. If a value contains blanks (like a complete sentence), it
|
|
should <b>not</b> be enclosed in quotation marks.<p>
|
|
|
|
If a setting has a number of possible options, they are shown in the form
|
|
<code><b>option1|option2|...</b></code>, meaning that one of the options (without any vertical bar)
|
|
should be used.
|
|
|
|
The following options are specific to the <b><code>[global]</code></b> section:
|
|
<p>
|
|
<UL>
|
|
|
|
<LI><b><code>Port = <port></code></b>
|
|
<br>
|
|
Specifies the TCP port under which the server is listening. Default is 80. Can be superseeded
|
|
via the '-p' command line flag.
|
|
<p>
|
|
|
|
<LI><b><code>Resource dir = <directory></code></b>
|
|
<br>
|
|
Specifies the root directory for ELOG resources like help files, themes, icons and user HTML
|
|
files. Can be overwritten with the <b><code>-s</code></b> flag when starting elogd. If not
|
|
specified, use the directory where the configuration file <b><code>elogd.cfg</code></b> resides.
|
|
<i>Changing this option requires a restart of the elogd server</i>.
|
|
<p>
|
|
|
|
<LI><b><code>Logbook dir = <directory></code></b>
|
|
<br>
|
|
Specifies the root directory for logbooks. Can be overwritten with the <b><code>-d</code></b> flag when
|
|
starting elogd. If not specified, use the directory where the configuration file <b><code>elogd.cfg
|
|
</code></b> resides. Each logbook data is stored in a separate directory under this root directory
|
|
specified by the <b><code>Subdir</b></code> option.
|
|
<i>Changing this option requires a restart of the elogd server</i>.
|
|
<p>
|
|
|
|
<LI><b><code>Language = <name></code></b>
|
|
<br>
|
|
|
|
The language setting determines the language of the <code><b>elogd</b></code> output. Not
|
|
affected by this setting are the configuration file options and the commands specified with the
|
|
optional <code><b>Menu commands</b></code> and <code><b>Find menu commands</b></code>, which
|
|
have to be specified in English and are translated automatically by elogd. The attribute names
|
|
are unaffected by the language setting and have to be translated manually.<br><br>
|
|
|
|
If a language name is given (currently "<I>german</I>", "<I>french</I>", "<I>spanish</I>",
|
|
"<I>dutch</I>", "<I>brazilian</I>" are supported out-of-the-box),
|
|
the system searches for a file named <b>eloglang.<name></b> containing
|
|
string translations from English into that language. <i>If you create a new translation file,
|
|
please send it back to the author to be included in future distributions</i>.
|
|
<br><br>
|
|
|
|
The online help for <code><b>elogd</b></code> is contained in the file <b>eloghelp_<i>xx</i>.html</b> where
|
|
<i>xx</i> are the first two letters of the language (like "<I>en</I>", "<I>ge</I>" and "<I>fr</I>"). For new languages, a new file of that type must be created as well.
|
|
<p>
|
|
|
|
<LI><b><code>charset = <name></code></b>
|
|
<br>
|
|
Specifies the charset of the pages produced by <b><code>elogd</b></code>. Can be used to switch to
|
|
Russian or Asian fonts.
|
|
<p>
|
|
|
|
<LI><b><code>Logbook Tabs = [0|1]</code></b>
|
|
<br>
|
|
This flag controls the display of "<I>tabs</I>" on top of the logbook page which
|
|
allow to quickly switch between logbooks. Default is <b><code>1</code></b>
|
|
<p>
|
|
|
|
<LI><b><code>Main Tab = <string></code></b>
|
|
<br>
|
|
If this option is present, an additional first tab is displayed which takes you back
|
|
to the main logbook selection page. The <b><code>string</b></code> is used for the
|
|
contents of the tab.
|
|
<p>
|
|
|
|
<LI><b><code>Welcome Title = <html code></code></b>
|
|
<br>
|
|
This optional HTML code gets displayed in the title of the logbook selection
|
|
page. It can contain images via <b><code><img src="welcome.gif"></code></b>.
|
|
These images must be stored in the resource directory or in the theme directory.
|
|
<br><br>
|
|
|
|
The following line is an example Welcome Title:<br>
|
|
<br>
|
|
<pre>Welcome title = <img src="welcome.jpg"><p><font size=5 color=white>Welcome to our Elog</font></pre>
|
|
<br>
|
|
This displays an image and a text below.
|
|
<p>
|
|
|
|
<LI><b><code>Page title = <string></code></b>
|
|
<br>
|
|
The string specified here is used for the title of individual logbook pages. It is also
|
|
used by most browsers for bookmark names. <string> can contain substitutions
|
|
like $<attribute> where <attribute> gets replaced by the attribute string
|
|
from each message. The option <b><code>Page title</code></b> in the <b><code>[global]</code></b>
|
|
section is used for the logbook selection page.
|
|
<p>
|
|
|
|
<LI><b><code>Summary page title = <string></code></b>
|
|
<br>
|
|
The same for the summary or find result page. This may include substitutions as well, although
|
|
attribute substitutions make no sense here, since the summary page may contain many messages
|
|
with different attributes.
|
|
<p>
|
|
|
|
<LI><b><code>Selection page = <file></code></b>
|
|
<br>
|
|
When this option is present, a user defined file is displayed instead of the logbook
|
|
selection page. This file must be stored in the resource directory. Alternatively, an
|
|
absolute path can be used if the file name starts with a
|
|
<b><code>"/"</code></b> (Unix) or <b><code>"\"</code></b> or <b><code>"x:"</code></b>
|
|
(Windows).<br><br>
|
|
|
|
It can be completely customized in order to contain logos etc. As a template,
|
|
the standard selection page produced by <code><b>elogd</b></code> can be used.
|
|
<p>
|
|
|
|
<LI><b><code>Guest Selection page = <file></code></b>
|
|
<br>
|
|
The same for installations which have a global password file. This means that the
|
|
logbook selection page is also password protected. It might be however that some
|
|
logbooks have guest access, in which case guest access to the selection page should
|
|
be allowed as well (maybe with only a subset of the available logbooks). In that case
|
|
this options can be used, to show a list of logbooks with guest access.
|
|
<p>
|
|
|
|
<LI><b><code>Protect Selection page = 0 | 1</code></b>
|
|
<br>
|
|
Normally, one can see the logbook selection page without having to log in. If one
|
|
wants to require a login for the selection page, this switch can be set to
|
|
<b><code>1</code></b>. Default is <b><code>0</code></b>.<p>
|
|
|
|
<LI><b><code>SMTP host = <host.domain></code></b>
|
|
<br>
|
|
This defines the SMTP host needed to send automatic email notifications. The host
|
|
name you can get from your email program or your local system administrator.
|
|
<p>
|
|
|
|
<LI><b><code>Logfile = <file></code></b>
|
|
<br>
|
|
This option specifies a filename which logs all login/logout activities and
|
|
successful user connections for logbooks with user level access. The the
|
|
<code><b>logging level</b></code> (see below) is larger than 1, also read and write accesses
|
|
can be logged.<p>
|
|
|
|
<LI><b><code>Logging level = 1 | 2 | 3</code></b>
|
|
<br>
|
|
Specifies the logging level. The higher this value, the more information
|
|
is logged. Default is <b>2</b>:<p>
|
|
<ul>
|
|
<li><b>1:</b> Log only logins and logouts
|
|
<li><b>2:</b> Log also write accesses
|
|
<li><b>3:</b> Log also read accesses
|
|
</ul>
|
|
<p>
|
|
|
|
<LI><b><code>URL = <http[s]://host.domain[:port]/[subdir/]></code></b>
|
|
<br>
|
|
If one of the three cases is true:<P>
|
|
<UL>
|
|
<LI><code><b>elogd</b></code> runs with <i>stunnel</i>
|
|
<LI><code><b>elogd</b></code> runs under a proxy
|
|
<LI>The automatic email notifications contains the wrong URL
|
|
</UL><p>
|
|
|
|
then the URL under which <code><b>elogd</b></code> is running has to be specified
|
|
manually with this statement. The URL has to
|
|
contain the port number if not the standard port 80 is used, it has to specify <i>https://</i>
|
|
if used under <i>stunnel</i>, and it has to contain the directory if used under a proxy like<br>
|
|
<br>
|
|
<table border=0 cellpadding=10>
|
|
<tr><td><code>URL = http://host.domain:8080/</code> <td>if running on port 8080</tr>
|
|
<tr><td><code>URL = https://host.domain/</code> <td>if running under <i>stunnel</i></tr>
|
|
<tr><td><code>URL = http://host.domain/subdir/</code> <td>if running under a proxy</tr>
|
|
</table>
|
|
<p>
|
|
|
|
<LI><b><code>Usr = <name></code></b>
|
|
<LI><b><code>Grp = <name></code></b>
|
|
<br>
|
|
The user and group to run the elogd daemon under when started by root.<p>
|
|
|
|
</UL>
|
|
|
|
<hr>
|
|
<a name="groups"><hr>
|
|
<div class=section> Groups of logbooks </div>
|
|
<p>
|
|
|
|
If installations have very many logbooks, it can be hard to navigate between them.
|
|
To make things more structured, it is possible to build a hierarchy of logbooks. A
|
|
logbook group can contain any number of logbooks as well as other logbook groups.
|
|
The hierarchy is defined with the the option<p>
|
|
|
|
<b><code>Group <group name> = <Logbook1>, <Logbook2>, <other group></b></code><p>
|
|
|
|
in the <b><code>[global]</code></b> section of the configuration file.<p>
|
|
|
|
To define following logbook hierarchy:<p>
|
|
|
|
<img src="hierarchy.gif"><p>
|
|
|
|
one would use following statements:
|
|
|
|
<ul><pre>
|
|
[global]
|
|
Group Linux PCs = Red Hat, Debian, Mandrake
|
|
Group Windows PCs = 98, ME, NT, XP, CE
|
|
Group CE = 1.0, 2.0
|
|
</pre></ul>
|
|
|
|
The logbook tabs would then look like this:<p>
|
|
|
|
<img src="tabs.gif"><p>
|
|
|
|
Where the selected group or logbook becomes blue. The lower groups/logbooks change according
|
|
to the selected upper group. Please note that a logbook can be contained in more than one
|
|
group, but then it should not be the first logbook in those groups. The colors of the tabs
|
|
and the title bar can be specified in the CSS file.<p>
|
|
|
|
<hr>
|
|
|
|
<div class=section> Top groups </div>
|
|
<p>
|
|
|
|
Sometimes groups of logbooks should be completely separate. Imagine two groups of logbooks,
|
|
one for the engineering department and one for the administration department. These groups
|
|
should have different administrators, and the logbook tabs at the top of the screen should
|
|
not show the logbooks from the other department. Prior to ELOG version 2.4.1, one had to
|
|
run two elogd servers in parallel, listening under different ports. Since 2.4.1, one can achieve
|
|
the same behaviour using <code><b>Top groups</b></code>. The configuration could look like this:
|
|
|
|
<UL><pre>
|
|
Group Linux PCs = Red Hat, Debian, Mandrake
|
|
Group Windows PCs = 98, ME, NT, XP, CE
|
|
Group CE = 1.0, 2.UL
|
|
|
|
Top group engineering = Linux PCs, Windows PCs
|
|
Top group administration = Employees, Purchases
|
|
|
|
[global engineering]
|
|
Password file = engineers.pwd
|
|
Admin user = stefan
|
|
|
|
[global administration]
|
|
Password file = admin.pwd
|
|
Admin user = bill
|
|
</UL></pre>
|
|
|
|
Note that there can be a <b><code>[global]</code></b> section for each top level group of logbooks.
|
|
The rule is that a configuration setting in an individual logbook section overrides a setting
|
|
in the <b><code>[global <top group>]</code></b> setting, which by itsel overrides a setting
|
|
in the <b><code>[global]</code></b> section. This way one can define settings for all top level
|
|
groups (such as the SMTP host) in the <b><code>[global]</code></b> section, and define different
|
|
password files and administrators in the individual top level group sections.
|
|
<br><br>
|
|
|
|
If top groups are used, the root of the elogd server is not accessible any more. Presume that
|
|
elogd is accessible normally under <b><code>http://your.host:8080/</code></b>, this URL becomes
|
|
invalid for top groups, to avoid the case that one group can "see" the logbooks of the other
|
|
groups. Instead, one has to append the top group name to the URL, such as
|
|
<b><code>http://your.host:8080/engineering</code></b> or
|
|
<b><code>http://your.host:8080/administration</code></b>. If someone does not know the
|
|
top group name, one cannot see the list of logbooks there, so the groups become completely
|
|
independent of each other. If this feature is not wanted, it can be disabled by setting
|
|
<code><b>Show top groups = 1</b></code>.<p>
|
|
|
|
|
|
<hr>
|
|
<div class=title> Individual logbook options </div>
|
|
<p>
|
|
For each logbook, there is a section with the logbook name in square brackets, so that each
|
|
logbook can have different options. If an option is not present in a logbook section, then the
|
|
system tries to locate that option in the <code><b>[global]</b></code> section. Thus if the
|
|
following options are placed in the <code><b>[global]</b></code> section, they are defaults for
|
|
all logbooks. If they are present in the <code><b>[global]</b></code> and in the logbook
|
|
section, the logbook option is used.<p >
|
|
|
|
Here are the available options, by broad categories:<p>
|
|
|
|
<a name="general"><hr>
|
|
<div class=section> General options </div>
|
|
|
|
<UL>
|
|
|
|
<LI><b><code>Data dir = <directory></code></b>
|
|
<br>
|
|
This option is obsolete from version 2.2.5 on and should not be used. Use <b><code>Subdir = ...</b></code>
|
|
instead.<p>
|
|
|
|
<LI><b><code>Subdir = <directory></code></b>
|
|
<br>
|
|
Each logbook has a separate directory where the logbook entries are stored, which
|
|
is controlled by this statement. If the directory does not exist, it is created
|
|
autmatically by the <code><b>elogd</b></code> program. The subdirectory is relative
|
|
to the logbook root directory specified with the <b><code>Logbook dir = ...</code></b>
|
|
option. So if <b><code>Logbook dir = /usr/local/elog/logbooks</b></code> and
|
|
<b><code>Subdir = Demo</b></code> then the logbook data is stored in <b><code>
|
|
/user/local/elog/logbooks/Demo</b></code>. If the <b><code>Logbook dir = ...</code></b>
|
|
option is not specified, then <b><code>logbooks</code></b> is used. If the subdirectory
|
|
starts with a "/" ("\" under Windows), then it is used as an absolute path independent
|
|
of the logbook dir. To see which directories are used, start <b><code>elogd</b></code> with the "-v" flag.
|
|
<p>
|
|
|
|
<LI><b><code>Comment = <comment></code></b>
|
|
<br>
|
|
The comment is displayed on the logbook selection list. The selection list is
|
|
displayed if more than one logbook is defined on a host and no logbook is
|
|
explicitly specified in the URL.
|
|
<p>
|
|
|
|
<LI><b><code>Theme = <theme></code></b>
|
|
<br>
|
|
A theme determines which layout and colors are used for a logbook, similar to
|
|
<i>skins</i> in other programs. The <i>theme</i> option points to a subdirectory
|
|
under the <i>"themes"</i> directory which resides in the resource directory.
|
|
It contains all files for that theme. The format of these files is described under
|
|
the <i>Themes</i> section.
|
|
<p>
|
|
|
|
<LI><b><code>CSS = <filename></code></b>
|
|
<br>
|
|
A given theme can contain several Cascading Style Sheets (CSS). This can be usefule
|
|
if several logbooks use the same images and icons, but differnt colors. By default,
|
|
the CSS <i>default.css</i> is used. This can be overwritten by this statement.
|
|
<p>
|
|
|
|
<LI><b><code>Title image = <string></code></b>
|
|
<br>
|
|
HTML code for the icon in the upper right corner. By default, following code
|
|
is used:<p>
|
|
|
|
<img border=0 src="elog.gif" alt="ELOG logo"><p>
|
|
|
|
This code can be replaced by <b><code><string></code></b> to display a different
|
|
icon file, or to display some text. The icon image has to be present in the theme directory,
|
|
which is usually <b><code><elog root>/themes/default</code></b>.
|
|
<p>
|
|
|
|
<LI><b><code>Title image URL = <URL></code></b>
|
|
<br>
|
|
The ELOG icon at the right upper corner usually points to the ELOG home page. This
|
|
URL can be changed to point to a corporate page for example with this option. The
|
|
icon can be changed by replacing the <b><code>elog.gif</code></b> icon in the
|
|
theme directory. This option should only be used if the <b><code>Title image</code></b>
|
|
option is not used.
|
|
<p>
|
|
|
|
<LI><b><code>Time format = <string></code></b>
|
|
<br>
|
|
This option determines how the date and time of a logbook entry is displayed. The format
|
|
of the string is the same as the C function
|
|
<a href="http://www.gnu.org/manual/glibc-2.2.3/html_node/libc_427.html#IDX2636">
|
|
strftime</a>, so a string of <b>%A, %B %d, %Y, %H:%M </b> yields in a display of
|
|
<b>Thursday, November 15, 2001, 12:35</b> for example.
|
|
<p>
|
|
|
|
<LI><b><code>Date format = <string></code></b>
|
|
<br>
|
|
This option determines how the date is displayed from attributes which are of type "date".
|
|
The format of the string is the same as the C function
|
|
<a href="http://www.gnu.org/manual/glibc-2.2.3/html_node/libc_427.html#IDX2636">
|
|
strftime</a>, so a string of <b>%A, %B %d, %Y</b> yields in a display of
|
|
<b>Thursday, November 15, 2001</b> for example.
|
|
<p>
|
|
|
|
<LI><b><code>Welcome Page = <file></code></b>
|
|
<br>
|
|
By default, the list with the last twenty entries of a logbook is displayed when the logbook is selected.
|
|
This can be overridden with this option, which causes a HTML file to be shown
|
|
instead of the message list. This file can contain further links for new logbook
|
|
messages of for logbook queries. Here is a simple example of such a file:
|
|
<p>
|
|
<pre>
|
|
<h1>Welcome to the test logbook</h1>
|
|
<ul>
|
|
<li><a href="?cmd=new">Enter</a> a new message
|
|
<li><a href="?cmd=find">Search</a> the logbook
|
|
</ul>
|
|
</pre>
|
|
|
|
The file must be present in the resource directory.
|
|
Alternatively, an absolute path can be used if the file name starts with a
|
|
<b><code>"/"</code></b> (Unix) or <b><code>"\"</code></b> or <b><code>"x:"</code></b>
|
|
(Windows).
|
|
<p>
|
|
|
|
<LI><b><code>Start page = <command></code></b>
|
|
<br>
|
|
This option can be used to display a different start page. <b><code>command</code></b>
|
|
can be either <i>0?cmd=Last</i> to display the last message, or any other ELog menu command in the
|
|
form <b><code>?cmd=xxx</code></b>. To start with the search page, one uses<p>
|
|
|
|
<pre>
|
|
Start page = ?cmd=Find
|
|
</pre>
|
|
|
|
Please note that if another language than English is selected via the <b>Language = xxx</b> option,
|
|
the commands have to be in that language as well (like <i>"Start page = 0?cmd=Letzter"</i> for
|
|
German).<p>
|
|
|
|
<LI><b><code>Submit Page = <file></code></b>
|
|
<br>
|
|
This optional page can be displayed when a new message was submitted in a logbook.
|
|
Here is an example:
|
|
<p>
|
|
<pre>
|
|
<h1>You successfully submitted a message</h1>
|
|
<a href="?cmd=Back">Back</a> to the logbook<p>
|
|
<a href="?cmd=New">Enter</a> another message
|
|
</pre>
|
|
|
|
The file must be present in the resource directory.
|
|
Alternatively, an absolute path can be used if the file name starts with a
|
|
<b><code>"/"</code></b> (Unix) or <b><code>"\"</code></b> or <b><code>"x:"</code></b>
|
|
(Windows).
|
|
<p>
|
|
|
|
<li><b><code>Message comment = <comment></code></b>
|
|
</br>
|
|
This optional comment is displayed on top of the text entry field when submitting
|
|
a new message. It can contain a sentence like "<I>Please enter your message here</I>:".
|
|
<p>
|
|
|
|
<li><b><code>Attachment comment = <comment></code></b>
|
|
</br>
|
|
This optional comment is displayed on top of the attachment sumbission section when entering
|
|
a new message. It can contain a sentence like "<I>Please upload your attachments here</I>:".
|
|
<p>
|
|
|
|
<li><b><code>Menu commands = <list></code></b>
|
|
</br>
|
|
This option specifies the menu commands displayed on top of a single logbook page. For
|
|
certain installations, it can be useful to disable some commands. Following
|
|
commands are possible:
|
|
<p>
|
|
<ul>
|
|
<li><b>New</b> - Enter new logbook entry
|
|
<li><b>Edit</b> - Edit current logbook entry
|
|
<li><b>Delete</b> - Delete current logbook entry
|
|
<li><b>Reply</b> - Submit a reply to current entry
|
|
<li><b>Download</b> - Download a message in ASCII format
|
|
<li><b>Find</b> - Search entries in logbooks
|
|
<li><b>Last day</b> - Display entries from last day
|
|
<li><b>Move to</b> - Move entry to other logbook
|
|
<li><b>Copy to</b> - Copy entry to other logbook
|
|
<li><b>Config</b> - Edit elogd.cfg (if <b>no</b> "<I>Password file</I>" is given)
|
|
<li><b>Config</b> - Modify/Add user accounts (if "<I>Password file</I>" is given)
|
|
<li><b>Admin</b> - Edit elogd.cfg (if "<I>Password file</I>" is given)
|
|
<li><b>Login</b> - Login with user name and password (if "<I>Password file</I>" is given)
|
|
<li><b>CSV Import</b> - Show CSV (comma-separated-values) import page
|
|
<li><b>Logout</b> - Logout current user (if "<I>Password file</I>" is given)
|
|
|
|
<li><b>Help</b> - General help
|
|
</ul>
|
|
<br><br>
|
|
The commands are always in English, independent of the <code><b>lanugae = ...</b></code>
|
|
setting, and are automatically translated into the specified language.<br><br>
|
|
|
|
If this option is not present, following default is used:
|
|
<br>
|
|
<pre>Menu commands = List, New, Edit, Delete, Reply, Find, Config, Help</pre>
|
|
<br>
|
|
|
|
<li><b><code>Copy to = <logbook list></code></b>
|
|
<li><b><code>Move to = <logbook list></code></b>
|
|
<br>
|
|
The commands <code><b>Copy to</b></code> and <code><b>Move to</b></code> make it possible
|
|
to copy or move a logbook entry from one logbook to another. By default, all logbooks except
|
|
the current logbook are shown as a possible destination. With the configurations options
|
|
<b><code>Copy to = <logbook list></code></b> and <b><code>Move to = <logbook list></code></b>
|
|
it is possible to specify a list of destination logbooks, separated by commata. This can
|
|
make sense if only certain logbooks make sense as destinations.<p>
|
|
|
|
<li><b><code>Find Menu commands = <list></code></b>
|
|
<br>
|
|
This option specifies the menu commands displayed on top of the listing page.
|
|
Although all commands from a above are possible,
|
|
only the commands <code><b>New, Find, Select, CSV Import, Config, Admin, Change
|
|
password, Logout</b></code> and <code><b>Help</b></code> make sense. The command <code><b>
|
|
Select</b></code> can be used to select multiple messages for deletion or for moving to other
|
|
logbooks. Once the <code><b>Select</b></code> command is clicked, check boxes appear in front
|
|
of all entries which let the user select one or more entries. A new menu bar shows up with
|
|
a <code><b>Delete</b></code> and optionally a <code><b>Coyp to ...</b></code> and
|
|
<code><b>Move to ...</b></code> button, if these commands are present in the
|
|
<code><b>Menu commands</b></code> list. Pressing one of these buttons deletes, copies or moves
|
|
all selected logbook entries.<p>
|
|
|
|
<li><b><code>Guest Menu commands = <list></code></b>
|
|
</br>
|
|
This option specifies the menu commands for guest logins. A guest login happens if a
|
|
password file is used, but someone accesses the logbook for the first time, which means
|
|
that no username/password is given. In that case the commands from the guest menu
|
|
are displayed, which usually contain a subset of the normal commands. A typical scenario
|
|
is a logbook which only has commands to read the logbook on the guest menu, but no
|
|
commands to write/edit entries. Instead, the <b>login</b> command is given in the guest
|
|
menu, with which one can login as a real user (username and password have to match those
|
|
from the password file), which then allowes full access via the <b>"Menu commands"</b> list.
|
|
A typical example for the menu settings for this scenario are:<p>
|
|
<pre>
|
|
Menu commands = List, New, Edit, Reply, Find, Config, Logout, Help
|
|
Guest menu commands = List, Find, Login, Help
|
|
</pre>
|
|
<p>
|
|
Note that the presence of this option opens user access also to the find result or elog
|
|
listing page, which usually contains some config command. So it is useful to combine
|
|
the <b><code>Guest menu commands</b></code> option with the following
|
|
<b><code>Guest Find Menu commands</b></code> option to restrict the access to the
|
|
find result page as well.
|
|
<p>
|
|
|
|
<li><b><code>Guest Find Menu commands = <list></code></b>
|
|
</br>
|
|
Same as <b>Guest Menu commands</b> but for the find result page.<p>
|
|
|
|
<li><b><code>Menu text = <file></code></b>
|
|
</br>
|
|
If this option is present, and additional menu row above the message gets displayed with
|
|
the contents of <file>. This file can contain arbitrary text, images or links.
|
|
One example would be following text to go back to the listing page and display the
|
|
next <i>Routine</i> entry and all <i>Routine</i> entries:<br>
|
|
|
|
<pre>
|
|
<small>
|
|
&nbsp;<a href="?cmd=next&type=Routine">Next Routine entry</a>&nbsp;|
|
|
&nbsp;<a href="../?Type=Routine">All Routine entries</a>
|
|
</small>
|
|
</pre>
|
|
|
|
<li><b><code>Guest Display = <list></code></b>
|
|
</br>
|
|
This option specifies which attributes are displayed on guest access. It is possible
|
|
to display only a subset of all attributes for guest access, but the full list
|
|
if someone is logged in (using the option "Password file"). The <code><b>list</b></code>
|
|
consists of comma separated attributes, including the word <i>text</i>, if one
|
|
wants to display the entry body text for guests.<p>
|
|
|
|
<li><b><code>Find Menu text = <file></code></b>
|
|
</br>
|
|
The same for the find result page. One example would be following text to
|
|
switch between the different display modi:<br>
|
|
|
|
<pre>
|
|
<small>
|
|
&nbsp;<a href="?mode=summary">Summary</a>&nbsp;|
|
|
&nbsp;<a href="?mode=full">Full</a>&nbsp;|
|
|
&nbsp;<a href="?mode=threaded">Threaded</a>&nbsp;|
|
|
</small>
|
|
</pre>
|
|
|
|
<li><b><code>Top text = <file> | <string></code></b>
|
|
<br>
|
|
The text of this option gets displayed at the top of every Elog page.
|
|
It can be a string or a filename which gets displayed. Might be useful
|
|
to display company logos etc.<br>
|
|
<br>
|
|
|
|
If a file is specified, it must be present in the resource directory.
|
|
Alternatively, an absolute path can be used if the file
|
|
name starts with a <b><code>"/"</code></b> (Unix) or <b><code>"\"</code></b> or <b><code>
|
|
"x:"</code></b> (Windows).
|
|
<p>
|
|
|
|
<li><b><code>Bottom text = <file> | <string></code></b>
|
|
<br>
|
|
The text of this option gets displayed at the bottom of every Elog page
|
|
instead of the little Elog home page link. It can be a string or a file.
|
|
It can contain for example a link back to the main logbook selection page like:
|
|
|
|
<pre>
|
|
<center><a href="/">Main page</a></center>
|
|
</pre>
|
|
|
|
Or it can contain other useful links. If a file is specified, it must
|
|
be present in the resource directory.
|
|
Alternatively, an absolute path can be used if the file
|
|
name starts with a <b><code>"/"</code></b> (Unix) or <b><code>"\"</code></b> or <b><code>
|
|
"x:"</code></b> (Windows).
|
|
<p>
|
|
|
|
<li><b><code>Help URL = <URL></code></b>
|
|
|
|
<br>
|
|
This URL is used for the Help button. By default, the file <b>eloghelp_xx.html</b> is returned with
|
|
the contents of the help page. Edit this file directly to add site-specific help for all logbooks.
|
|
Alternatively, use the <b><code>Help URL</code></b> option to specify different help pages for different
|
|
logbooks. It can point to a site-specific help page via <b><code>http://...</code></b> or to a local
|
|
file like <b><code>file://c:/tmp/config.html</code></b>, or to the name of an HTML file which must be
|
|
present in the resource directory. <p>
|
|
|
|
<li><b><code>Message Width = <number></code></b>
|
|
<br>
|
|
This value sets the number of characters per line of the main message entry field.
|
|
The default value is 76 (78 for replies), and can be increased for installations
|
|
which need a larger window size (like pasting log files etc.).
|
|
<p>
|
|
|
|
<li><b><code>Message Height = <number></code></b>
|
|
<br>
|
|
This value sets the number of lines of the main message entry field.
|
|
The default value is 20, and can be changed for installations
|
|
which need a different window size.
|
|
<p>
|
|
|
|
<li><b><code>Admin textarea = <cols>,<rows></code></b>
|
|
<br>
|
|
This defines the textarea size for the admin page. Default is <b>80,40</b>.
|
|
<p>
|
|
|
|
<li><b><code>Display mode = [full|summary|threaded]</code></b>
|
|
<br>
|
|
Default mode for search display. On the find entry form, the checkboxes
|
|
are set accordingly. The "Last xxx" page uses this setting directly.
|
|
<p>
|
|
|
|
<li><b><code>Entries per page = <number></code></b>
|
|
<br>
|
|
Number of logbook entries displayed per page in a search result. The default is 20.
|
|
<p>
|
|
|
|
<li><b><code>Restrict edit time = <hours></code></b>
|
|
<br>
|
|
If this option is set, a new message can only be edited a certain number of hours
|
|
after its creation. This can be useful if one wants to ensure that old entries
|
|
cannot be modified. Hours can also be fractional, like 0.5 for 30 min.
|
|
<p>
|
|
|
|
<li><b><code>Max content length = <bytes></code></b>
|
|
<br>
|
|
This option restricts the size of attachments. When very large (>100MB) attachments
|
|
are uploaded, the elogd server can be busy with this upload for a longer time and
|
|
not respond to other requests during that time. To avoid this, the maximum size
|
|
of attachments can be restricted. The server will then refuse to accept larger
|
|
attachments. The default is 10485760 (= 10 MB). This option has to be placed
|
|
into the [global] section and the elogd server has to be restarted after a change.<p>
|
|
|
|
</UL>
|
|
|
|
<a name="attrib"><hr>
|
|
<div class=section> Attributes </div>
|
|
|
|
<UL>
|
|
<LI><b><code>Attributes = <list></code></b>
|
|
<br>
|
|
Define a number of attributes for the logbook, separated by commata. A maximum of
|
|
100 attributes can be defined. Typical values are "<I>Author</I>", "<I>Subject</I>"
|
|
or "<I>Type</I>".
|
|
<p>
|
|
|
|
<LI><b><code>Options <attribute> = <list></code></b>
|
|
<br>
|
|
Usually, an text field is used for an attribute, where the user can fill in
|
|
text of up to 100 characters. If instead a drop-down box with preset items is
|
|
better for a given attribute, these items can be defined with this statement.
|
|
Up to 100 items can be defined, separated by commas. To add an option including
|
|
a comma, encose it in quotations marks like<p>
|
|
<pre>
|
|
Options town = San Francisco, "Paris, Texas", "Paris, France"
|
|
</pre>
|
|
<p>
|
|
|
|
<LI><b><code>Extendable options = <list></code></b>
|
|
<br>
|
|
When using the <code><b>Options <attribute></b></code> to specify a list
|
|
of possible options, this list is fixed. Sometimes it is desirable to extend
|
|
the list when a new entry in a logbook is made and a certain option is missing
|
|
on the list. By adding the attribute name to the <code><b>Extandable options</b></code>
|
|
list, a button appears next to the attribute in the message entry form which
|
|
lets you add new options to the list. The elogd.cfg configuration file is
|
|
then automatically updated. When a new logbook entry gets made, the new option
|
|
automatically appears in the drop-down box for that attribute.
|
|
<p>
|
|
|
|
<LI><b><code>ROptions <attribute> = <list></code></b>
|
|
<br>
|
|
Same as <code><b>Options</b></code> above, but using radio buttons instead
|
|
of a drop-down box.
|
|
<p>
|
|
|
|
<LI><b><code>MOptions <attribute> = <list></code></b>
|
|
<br>
|
|
This list allows for "<I>Multiple Options</I>", meaning that an attribute can have
|
|
several values simultaneously. When entering an entry with MOptions, each value
|
|
from the list is represented by a checkbox. Unlike with normal options, multiple
|
|
checkboxes can be checked for an entry. The attribue value then becomes
|
|
<p>
|
|
<pre>
|
|
<value1> | <value2> | ...
|
|
</pre>
|
|
In the "<I>find</I>" page only one of these values can be specified, which is then
|
|
treated as a substring in the search filter.
|
|
<p>
|
|
|
|
<LI><b><code>IOptions <attribute> = <list></code></b>
|
|
<br>
|
|
This list specifies a set of icons for an attribute. Some icons are contained in
|
|
the <i>themes/default/icons</i> directory which can be used here like
|
|
<p>
|
|
<pre>
|
|
Attributes = Author, Icon, Subject...
|
|
IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
|
|
</pre>
|
|
New icons are welcome and should be sent back to the author to be incorporated
|
|
in the next version.
|
|
<p>
|
|
|
|
<LI><b><code>Comment <attribute> = <comment></code></b>
|
|
<br>
|
|
Optional comment which is displayed below the attribute name in the entry form.
|
|
Can be used to explain the attribute somehow.
|
|
<p>
|
|
|
|
<LI><b><code>Tooltip <attribute> = <comment></code></b>
|
|
<br>
|
|
Same as <code><b>Comment <attribute></b></code>, except that the comment
|
|
gets displayed as a tooltip (tiny pup-up window) when the user moves the mouse
|
|
cursor over the attribute name in the entry form.
|
|
<p>
|
|
|
|
<LI><b><code>Icon comment <icon> = <comment></code></b>
|
|
<br>
|
|
Icons may contain a comment, which is then used in email notifications instead
|
|
of the icon file name. One has to add a separate icon comment for each icon file.
|
|
<p>
|
|
|
|
<LI><b><code>Options <attribute> = boolean</code></b>
|
|
<br>
|
|
If an attribute is marked "<I>boolean</I>" this way, a checkbox is displayed for
|
|
this attribute.
|
|
<p>
|
|
|
|
<LI><b><code>Preset <attribute> = <string></code></b>
|
|
<br>
|
|
This option uses a preset string for an attribute. The string can contain
|
|
subsitutions like the ones described under the "<I>Subst <attribute></I>"
|
|
command. One possible application is to use the login name for the author
|
|
field like:
|
|
<p>
|
|
<pre>
|
|
Preset Author = $long_name
|
|
</pre>
|
|
If the attribute should be locked at the Web submission, use the
|
|
"<I>Locked Attributes = ...</I>" option. If a preset value is given for an
|
|
attribute which has an options list, the preset value is selected in the drop
|
|
down box by default.<br><br>
|
|
|
|
A special option are automatically generated tags, which are automatically incremented
|
|
for each new message. This is achieved by putting a "%" into the preset string, which
|
|
is used as a <i>printf</i> format specifier. A statement like
|
|
<p>
|
|
<pre>
|
|
Preset Number = XYZ-%05d
|
|
</pre>
|
|
results in automatically created attributes <i>"Number"</i> of the form<p>
|
|
<pre>
|
|
XYZ-00001
|
|
XYZ-00002
|
|
XYZ-00003
|
|
</pre>
|
|
and so on.
|
|
<p>
|
|
|
|
<LI><b><code>Preset text = <string> or <file></code></b>
|
|
<br>
|
|
This preset value is used for the main body text. It can be a string or a file,
|
|
which must be present in the resource directory.
|
|
Alternatively, an absolute path can be used if the file name starts with a
|
|
<b><code>"/"</code></b> (Unix) or <b><code>"\"</code></b> or <b><code>"x:"</code></b>
|
|
(Windows).
|
|
<p>
|
|
|
|
<LI><b><code>Preset on reply <attribute> = <string></code></b>
|
|
<br>
|
|
Same as <b><code>Preset <attribute></code></b>, but evaluated for
|
|
replies.
|
|
<p>
|
|
|
|
<LI><b><code>Locked Attributes = <list></code></b>
|
|
<br>
|
|
The attributes specified here cannot be modified when a new entry is submitted.
|
|
This makes only sense for preset attributes.
|
|
<p>
|
|
|
|
<LI><b><code>Fixed Attributes Edit = <list></code></b>
|
|
<br>
|
|
The attributes specified here cannot be modified when an existing entry
|
|
is modified via the <b><code>Edit</code></b> button. This feature can be
|
|
useful to preserve the original author of the message, when using the
|
|
<b><code>Preset Author = $long_name</code></b> option as described above.
|
|
<p>
|
|
|
|
<LI><b><code>Fixed Attributes Reply = <list></code></b>
|
|
<br>
|
|
The attributes specified here cannot be modified when an existing entry
|
|
is replied on via the <b><code>Reply</code></b> button. This feature can be
|
|
useful to preserve the original subject of a message for example.
|
|
<p>
|
|
|
|
<LI><b><code>Required Attributes = <list></code></b>
|
|
<br>
|
|
The attributes specified here are required when a new entry is submitted. The
|
|
attribute names are marked with <font color=red>*</font> on the entry form.
|
|
<p>
|
|
|
|
<LI><b><code>Page title = <string></code></b>
|
|
<br>
|
|
The string specified here is used for the title of the web page. It is also
|
|
used by most browsers for bookmark names. The string can contain substitutions
|
|
as described unter the "<I>Subst <attribute></I>" option.
|
|
<p>
|
|
|
|
<LI><b><code>List display = <list></code></b>
|
|
<br>
|
|
Specified the display and order of items in a message listing page or a search
|
|
result page. In addition to all attributes, following items can be specified:
|
|
<br><br>
|
|
|
|
<UL>
|
|
<LI><b><code>ID</code></b> for the entry ID
|
|
<LI><b><code>Date</code></b> for the entry date/time
|
|
<LI><b><code>Edit</code></b> to display a column with an edit icon to directly edit
|
|
and entry
|
|
<LI><b><code>Delete</code></b> to display a column with a delete icon to directly delete
|
|
and entry
|
|
</UL>
|
|
<br>
|
|
|
|
The restriction to certain
|
|
attributes can be helpful if many attributes are defined in a logbook, which
|
|
usually makes the table too big to fit in the browser. The default
|
|
is<br>
|
|
<pre>
|
|
List display = ID, Date, <all attributs>
|
|
</pre>
|
|
Which displays the message number, date, and all attributes. The display of the
|
|
message body is controlled by the <b><code>Display mode</code></b> and
|
|
<b><code>Summary lines</code></b> options. If a search goes over "all logbooks",
|
|
an additional colums with the logbook name of each entry is added in front.
|
|
<p>
|
|
|
|
<LI><b><code>Guest List display = <list></code></b>
|
|
<br>
|
|
Same as <code><b>List display</b></code>, but for guest access (user level
|
|
access with password, but not logged in). Please see also <code><b>Guest
|
|
display</b></code>.
|
|
<p>
|
|
|
|
<LI><b><code>Link display = <list></code></b>
|
|
<br>
|
|
Normally, each column in the display list contains a link to the individual entry.
|
|
If this is not desired, the list of attributes with links can be restricted to only
|
|
a subset with this option.
|
|
<p>
|
|
|
|
<LI><b><code>Thread display = <string></code></b>
|
|
<br>
|
|
Optional way to specify the line contents in the threaded search result. Following
|
|
substitutions are possible:
|
|
<p>
|
|
<UL>
|
|
<LI><b>$<attribute></b>: The value of the attribute
|
|
<LI><b>$logbook</b>: The name of the current logbook
|
|
<LI><b>$entry time</b>: The message date and time, formatted via "<I>Time format</I>"
|
|
<LI><b>$message id</b>: The message ID
|
|
</UL>
|
|
<br>
|
|
A typical example would be
|
|
<br>
|
|
<pre>Thread display = $subject, posted by $author on $entry time</pre>
|
|
<p>
|
|
|
|
<LI><b><code>Thread icon = <attribute></code></b>
|
|
<br>
|
|
If a logbook uses some icons for an attribute, these icons can be displayed
|
|
in the search result page instead of the default icons contained in the themes directory.
|
|
<p>
|
|
|
|
<LI><b><code>RSS Title = <string></code></b>
|
|
<br>
|
|
ELOG supports so-called <i>RSS feeds</i>. Once can subscribe to new logbook entries
|
|
with RSS readers such as Mozilla Firefox. Once new entries are submitted to the logbook,
|
|
the become visible in the subscripition. By default, all attributes of the last 15
|
|
logbook entries are used as the RSS title. With this option once can changed this
|
|
behaviour. Following substitutions are possible:
|
|
<p>
|
|
<UL>
|
|
<LI><b>$<attribute></b>: The value of the attribute
|
|
<LI><b>$logbook</b>: The name of the current logbook
|
|
<LI><b>$entry time</b>: The message date and time, formatted via "<I>Time format</I>"
|
|
<LI><b>$message id</b>: The message ID
|
|
</UL>
|
|
<br>
|
|
A typical example would be
|
|
<br>
|
|
<pre>RSS Title = $subject, posted by $author on $entry time</pre>
|
|
<p>
|
|
|
|
<LI><b><code>RSS Entries = <n></code></b>
|
|
<br>
|
|
Number of entries to be shown in the RSS feed. Default is 15.<p>
|
|
|
|
<LI><b><code>Subst <attribute> = <string></code></b>
|
|
<br>
|
|
When submitting logbook entries, attribute values can be substituted by some
|
|
text. This text can contain arbitrary fixed text and following values:
|
|
<p>
|
|
<UL>
|
|
<LI><b>$<attribute></b>: The entered value of the attribute itself
|
|
<LI><b>$host</b>: The host name where <code><b>elogd</b></code> is running
|
|
<LI><b>$remote_host</b>: The host name of the host from with the entry was submitted
|
|
<LI><b>$short_name</b>: The login name (if password file is present)
|
|
<LI><b>$long_name</b>: The full name from the password file for the current user
|
|
<LI><b>$user_email</b>: The email address from the password file for the current user
|
|
<LI><b>$logbook</b>: The name of the current logbook
|
|
<LI><b>$date</b>: The current date, formatted via "<I>Date format</I>"
|
|
<LI><b>$utcdate</b>: The current UTC date (GMT) and time, formatted via "<I>Date format</I>"
|
|
</UL>
|
|
<br>
|
|
Following example use this feature to add the remote host name to the author:
|
|
<br>
|
|
<pre>Subst Author = $author from $remote_host</pre>
|
|
<p>
|
|
|
|
<LI><b><code>Remove on reply = <list></code></b>
|
|
<br>
|
|
This option clears one or more (separated by commata) attribute values from a logbook
|
|
entry when creating a reply to that entry. This can make sense for example for
|
|
the author, since the author of a reply can be different from the original author.
|
|
<p>
|
|
|
|
<LI><b><code>Quote on reply = 0 | 1</code></b>
|
|
<br>
|
|
This flag controls if the original text is quoted in a reply. Default is <b>1</b>
|
|
<p>
|
|
|
|
<LI><b><code>Reply string = <string></code></b>
|
|
<br>
|
|
String used to mark original message lines. Default is <b><code>"> "</code></b>. Can
|
|
be empty string ("") if no message marking is desired.
|
|
<p>
|
|
|
|
<LI><b><code>Subst on reply <attribute > = <string></code></b>
|
|
<br>
|
|
Substitution of attributes for replies. This option can be used to replace the current
|
|
subject with a "Re: <old subject>":<br>
|
|
<pre>Subst on reply subject = Re: $subject</pre>
|
|
<p>
|
|
|
|
<LI><b><code>Subst on edit <attribute > = <string></code></b>
|
|
<br>
|
|
Substitution of attributes for edited messages. This option can be used to replace the
|
|
author by the current author for example:<br>
|
|
<pre>Subst on edit author = $full_name</pre>
|
|
<p>
|
|
|
|
<LI><b><code>Quick filter = <list></code></b>
|
|
<br>
|
|
Specifies list of comma separated attributes for which a drop-down filter is displayed
|
|
in the search result page. By selecting a value from that drop-down box, only entries
|
|
with that value are displayed. In addition to all attributes defined in the
|
|
<b><code>Attributes =</code></b> list, the attribute <b><code>Date</code></b> can be
|
|
listed here to display a date filter. Using that filter, the last day, week, month and so
|
|
on can be displayed.
|
|
<p>
|
|
|
|
<LI><b><code>Format <attribute> = <flags>,<css_class_name>,<css_class_value>,<width>,<size></code></b>
|
|
<br>
|
|
Optional formatting parameters for attributes. Following items can be defined in the
|
|
comma-separated list:<p>
|
|
|
|
Values used for single message display page:
|
|
<ul>
|
|
<li><b><flags></b> Sum of following flags:
|
|
<ul>
|
|
<li><b> 1</b>: Display attribute in same line as previous attribute
|
|
<li><b> 2</b>: Display radio buttons or check boxes in separate lines (if applicable)
|
|
</ul>
|
|
<li><b><css_class_name></b>,<b><css_class_value></b> Cascading Style Sheet class
|
|
names used for cells containing attribute name or value, respectively. The classes must
|
|
be defined in the style sheet file (usually <i>themes/default/default.css</i>).
|
|
</ul>
|
|
<p>
|
|
|
|
Values used for new message entry form:
|
|
<ul>
|
|
<li><b><width></b> Width of the text entry field in characters
|
|
<li><b><size></b> Maximum number of characters allowed.
|
|
</ul>
|
|
<p>
|
|
|
|
Default is <i>"0, attribname, attribvalue, 80, 500"</i>. Trailing parameters can be ommitted,
|
|
so specifying for example only the flags is possible.
|
|
<p>
|
|
|
|
<LI><b><code>Type <attribute> = date | numeric | userlist</b></code>
|
|
<br>
|
|
A normal attribute can contain strings of any type. With this option, attributes can be
|
|
forced to be numeric or to be a date, or to consist of a list of all users from the password file.
|
|
When new logbook entries are made,
|
|
numeric attributes are checked to contain only digits. Note that JavaScript has to be
|
|
enabled to do this.<br><br>
|
|
|
|
Attributes of type <b><code>date</code></b> are treated as a date.
|
|
Upon entry, drop-down boxes are displayed which let the user select the day, month and
|
|
year. Alternatively, a pop-up date picker using a calendar can be displayed if JavaScript
|
|
is enabled. Date attributes are saved internally as seconds since 1.1.1970, and can therefore
|
|
be sorted propoerly by clicking on the header of a logbook entry list. On the find page,
|
|
dates can be searched for via a start and end date. If date attributes are used in a quick filter
|
|
(see above), a drop-down quick filter box is displayed which lets the user select "last day",
|
|
"last week", "next week", and so on.<p>
|
|
|
|
If the attribute type is <b><code>userlist</code></b>, a drop-down box is displayed which contains
|
|
all user names from the current password file. This can be useful for example in a bug
|
|
tracking system, where a new entry gets assigned to an individual.<p>
|
|
|
|
<LI><b><code>Display <attribute> = <string></b></code>
|
|
<br>
|
|
Instead of subsituting an attribute, the original attribute can be kept and just the
|
|
output formatting can be changed. This can be very handy for constructing HTML links
|
|
out of attributes. Presume that a company has a telephone book reachable under<br>
|
|
<br>
|
|
<pre>
|
|
http://any.company.com/telbook.cgi?search=<name>
|
|
</pre>
|
|
|
|
where <name> has to be replaced by a search string.
|
|
Now one can construct an automatic telephonebook lookup with following options:
|
|
<br>
|
|
<pre>
|
|
Attributes = Name, Telephone, ...
|
|
Display Telephone = <a href="http://any.company.com/telbook.cgi?search=$Name">$Name's telephone number</a>
|
|
</pre>
|
|
|
|
The attribute <b><code>Telephone</code></b> is now automatically constructed from
|
|
the attribute <b><code>Name</code></b> and consists of a link to the company's
|
|
telephonebook. The advantage of this system is if the URL of the telephonebook
|
|
changes one day, only one statement in the config file has to be changed, while
|
|
otherways (like with the <b><code>Subst Telephone = ...</code></b> option) all
|
|
entries would have to be changed manually.<p>
|
|
|
|
|
|
<LI><b><code>Execute new | edit | delete = <command></b></code>
|
|
<br>
|
|
It is possible to execute a shell command on the server side after a new message
|
|
has been submitted, edited or deleted. This feature has been used in the past
|
|
for SMS notifications over a telephone system and for synchrnonization of the ELOG
|
|
database with an external SQL database. The <b><code><command></code></b> can
|
|
contain substitutions similar to the <b><code>Subst</code></b> command. In addition
|
|
the list of all attachments can be referred to via <b><code><$attachemnts></code></b>
|
|
Following (Unix) command writes a notification into some file:<p>
|
|
|
|
<pre>
|
|
Execute new = echo "New message of type $type from $long_name on $remote_host" >> /tmp/elog.log
|
|
</pre>
|
|
|
|
<br>
|
|
It should be noted that this feature can impose a security problem. If someone can edit
|
|
the elogd.cfg through the <b><code>Config</code></b> command of elogd, that person
|
|
can put malicious code into elogd.cfg and execute it. This is even more severe if elogd
|
|
runs with root privileges. To avoid such problems, the execute facility is disabled
|
|
in elogd by default and has to be enabled explicitly with the "-x" command line flag.
|
|
The administrator has to ensure then of course that only trusted people can edit elogd.cfg.
|
|
<p>
|
|
|
|
<LI><b><code>Last submission = <string></b></code>
|
|
<br>
|
|
This option determines what gets displayed on the logbook selection page in the
|
|
<i>Last submission</i> colum. The default string is <code><b>$entry time by $author</b></code>. If
|
|
a logbook does not contain an <code><b>author</b></code> attribute, another string can
|
|
be chosen.
|
|
<p>
|
|
|
|
<LI><b><code>ID display = <string></b></code>
|
|
<br>
|
|
This option determines the display of the entry ID. In some applications, the entry ID
|
|
can be used as a tag, containing more than just the ID number. For example
|
|
<p>
|
|
|
|
<ul><pre>
|
|
ID display = TAG-$message id
|
|
</pre></ul>
|
|
|
|
would display the entry ID as "TAG-1","TAG-2", ... and so on.
|
|
<p>
|
|
|
|
<li><b><code>Prepend on reply = <string></code></b>
|
|
<br>
|
|
With this option a string can be placed on top of a reply. Using string substition,
|
|
this can be useful for adding the author and the date of a reply, like<br>
|
|
<br>
|
|
<code><b>Prepend on reply = Added $date by $long_name\n\n</code></b><br>
|
|
<br>
|
|
where "\n" causes a line break.
|
|
<p>
|
|
|
|
<li><b><code>Append on reply = <string></code></b>
|
|
<br>
|
|
Same as before, but gets added after the previous entry.
|
|
<p>
|
|
|
|
<li><b><code>Prepend on edit = <string></code></b>
|
|
<li><b><code>Apend on edit = <string></code></b>
|
|
</br>
|
|
Same as before, but for editing entries.
|
|
<p>
|
|
|
|
<li><b><code>Sort Attributes = <list></code></b>
|
|
<br>
|
|
For the list display, the entries are normally sorted by their ID. Alternatively,
|
|
one can specify one or more (separated by commata) attributes, which are used
|
|
for sorting. The first attribute in the list has the highest priority. Only if two
|
|
entries have the same value in the first sort attribute, they are sorted according to
|
|
the second sort attribute and so on.
|
|
<p>
|
|
|
|
</UL>
|
|
|
|
<a name="conditional"><hr>
|
|
<div class=section> Conditional attributes </div>
|
|
<p>
|
|
|
|
When entering data into a elog form, it might be helpful to change the options of the attributes
|
|
depending on the value of other attributes. Let's assume you have a logbook containing entries
|
|
for different computers with different operating systems. Your elogd.cfg file starts like that:
|
|
<p>
|
|
|
|
<ul><pre>
|
|
Attributes = PC Name, Operating System, Version
|
|
Options Operating System = Linux, Windows
|
|
</pre></ul>
|
|
<p>
|
|
|
|
For the operating system version, you would like a list, but this list has to be different
|
|
for Linux and Windows. This can be achieved with <i>conditional attributes</i>. Simply write
|
|
following configuration:
|
|
<p>
|
|
|
|
<ul><pre>
|
|
Attributes = PC Name, Operating System, Version
|
|
Options Operating System = Linux{1}, Windows{2}
|
|
{1} Options Version = 2.2, 2.4, 2.6
|
|
{2} Options Version = ME, 2k, NT, XP
|
|
</pre></ul>
|
|
<p>
|
|
|
|
If you enter a new entry into that logbook, the drop-down list for <code><b>Version</b></code>
|
|
changes automatically depending on the <code><b>Operating System</b></code>. Note that you
|
|
have to enable Java Script for this to work. Without Java Script, a separate button appears
|
|
in the line of the Operating System which has to be pressed to make the Version list change.
|
|
<p>
|
|
|
|
The number {1} and {2} in the configuration file are called <i>conditions</i>. Depending
|
|
on these conditions, certain other lines can be activated. So if the Operating System
|
|
<i>Linux</i> is selected, condition {1} is true, which selects the line starting
|
|
with {1} to select the options <i>2.2, 2.4, 2.6</i>.
|
|
<p>
|
|
|
|
This technique offers various other possibilities, since any configuration option can
|
|
be made conditional by adding a <code><b>{<n>}</b></code> in front of that line
|
|
where <n> is an arbitrary number. One often used possibility is the definition
|
|
of forms. Depending on an attribute, the configuration option
|
|
<code><b>Preset text = ...</b></code> can be used to copy some pre-defined forms into
|
|
the message body, which can then be filled out. Consider following example:
|
|
<p>
|
|
|
|
<ul><pre>
|
|
Attributes = Author, Type
|
|
Options Type = Network check{1}, System check{2}
|
|
|
|
{1} Preset text = network.txt
|
|
{2} Preset text = system.txt
|
|
</pre></ul>
|
|
<p>
|
|
This causes two text files <i>network.txt</i> and <i>system.txt</i> to be copied
|
|
into the message body when a new entry is made. The file <i>network.txt</i> could
|
|
look like:
|
|
<p>
|
|
|
|
<ul><pre>
|
|
Routers checked: [ ]
|
|
DHCP checked: [ ]
|
|
Comment: ...
|
|
</pre></ul>
|
|
<p>
|
|
|
|
This works like a pre-defined form, the user puts X's between the "[ ]" when that
|
|
item has been checked. Other possibilities are pre-defined shift sheets in environments
|
|
where elog is uses as a shift logbook. The shift sheet could contain the names
|
|
of the shift crew, some check-list for standard tasks etc.
|
|
<p>
|
|
|
|
Another use of conditional attributes is in conjunction with the option
|
|
<code><b>Message comment</b></code>. Depending on some attribute values, different
|
|
message comment can be displayed to tell the user what to enter exactly in the
|
|
message body for that attribute value.
|
|
<p>
|
|
|
|
<li><b><code>Show Attributes = <list></code></b>
|
|
<br>
|
|
When using conditional attributes, it might be necessary to omit certain attributes
|
|
under certain conditions, to make the input mask shorter and maybe change the order
|
|
of the attributes. With this option, a subset of all attributes can be specified
|
|
which get displayed on the new entry input page in the same order as they are
|
|
specified here. This option only makes sense when used with conditions, such as:<p>
|
|
|
|
<ul><pre>
|
|
Attributes = PC Name, Operating System, Version, Distribution
|
|
Options Operating System = Linux{1}, Windows{2}
|
|
{1} Show Attributes = Operating System, Distribution, PC Name
|
|
{2} Show Attributes = Operating System, PC Name, Version
|
|
</pre></ul>
|
|
<p>
|
|
|
|
The above statements caus the atrribute <b><code>Version</code></b> to be only
|
|
visible when "Windows" is selected, and <b><code>Distribution</code></b> to be only
|
|
visible when "Linux" is selected. If "Windows" is selected, the PC name is shown
|
|
before the version.<p>
|
|
|
|
<h2>Multiple conditions</h2>
|
|
|
|
It is possible to define conditions in more than one options list. The only requiremnt
|
|
is that conditions are uniquie, meaning that a condition in one option list cannot
|
|
be used in another list. This can easily be avoided by using numbers for one condition
|
|
and letters for the other condition, like in the following example:
|
|
<p>
|
|
|
|
<ul><pre>
|
|
Attributes = PC Name, Operating System, Version, Location, Floor
|
|
Options Operating System = Linux{1}, Windows{2}
|
|
Options Location = Main Building{a}, New Building{b}, Old Building{c}
|
|
{1} Options Version = 2.2, 2.4, 2.6
|
|
{2} Options Version = ME, 2k, NT, XP
|
|
{a} Options Floor = Ground, First, Second
|
|
{b,c} Options Floor = Ground, First
|
|
</pre></ul>
|
|
<p>
|
|
|
|
It is possible to specify an OR of several conditions like in the case {b,c}. This is
|
|
also possible over several conditions, like {1,a} would mean
|
|
<i>"The PC has Linux or is in the Main Building"</i>. To specify a AND between
|
|
conditions, a "&" is used. The condition
|
|
<p>
|
|
<ul><pre>
|
|
{1&a} ...
|
|
</pre></ul>
|
|
|
|
specifies for example the condition "Linux AND Main Building".<p>
|
|
|
|
<a name="access"><hr>
|
|
<div class=section> Access control </div>
|
|
<p>
|
|
Reading and writing into logbooks can be constrained using two different access methods,
|
|
either with global passwords for read, write and admin (config, delete), or with user-
|
|
level passwords. Both methods can be combined on the same server using different logbooks.
|
|
For these two schemes to work properly, <b>cookies have to be turned
|
|
on in your browser</b>. Please consult your browser documentation about how to do that.
|
|
<p>
|
|
|
|
<UL>
|
|
<LI><b><code>Read password = <encoded password></code></b>
|
|
<LI><b><code>Write password = <encoded password></code></b>
|
|
<LI><b><code>Admin password = <encoded password></code></b>
|
|
<LI><b><code>Write password expiration = <hours></code></b>
|
|
<LI><b><code>Admin password expiration = <hours></code></b>
|
|
</ul>
|
|
<p>
|
|
These optional password statements define passwords for reading and writing to the
|
|
logbook, to delete entries in the logbook and to configure a logbook via the <I>Config</I
|
|
> menu. The passwords are stored in an encoded form. To change them, use <code><b>elogd
|
|
</b></code> directly with the <b><code>-r </code></b>, <b><code>-w</code></b> and <b>
|
|
<code>-a </code></b> flags. To set the write password of logbook "<I>linux</I>" to "<I>
|
|
test</I>", enter: <p>
|
|
<ul><code>elogd -w test -l linux</code></ul><p>
|
|
|
|
The read password is queried by the browser with a pop-up window and usually stays
|
|
active for the entire browser session. The write and admin passwords are stored in
|
|
cookies on the browser side and expire after the browser session. This time can be
|
|
changed with the statement <b> <code>Write Password Expiration = x</code></b> or <b>
|
|
<code>Admin Password Expiration = x</code></b>, where <i>x</i> is the expiration time in
|
|
hours. It should be noted that on some systems the daylight savings time is calculated
|
|
incorrectly, which can cause time offsets of one hour between a server PC and a client
|
|
PC. In this case one hour must be added to the expiration time. If the expiration is set
|
|
to "0", which is the default, the passwords are kept for the current browser session
|
|
only. When the browser is restarted, the password must be re-entered.<P>
|
|
|
|
<ul>
|
|
<LI><b><code>Password file = <file></code></b>
|
|
<LI><b><code>Login expiration = <hours></code></b>
|
|
<LI><b><code>Admin user = <user list></code></b>
|
|
<LI><b><code>Login user = <user list></code></b>
|
|
</ul>
|
|
<p>
|
|
An alternative to the read/write/admin passwords is the user level access with a
|
|
password file. This file contains user names and passwords in following format:
|
|
<p>
|
|
<ul><code><pre><login name1>:<password1>:<full name1>:<email1>:<notify1>
|
|
<login name2>:<password2>:<full name2>:<email2>:<notify2>
|
|
<login name3>:<password3>:<full name3>:<email3>:<notify3>
|
|
...</pre></code></ul>
|
|
<p>
|
|
|
|
The passwords are encoded. New users can either be created by hitting <b>Register as new user</b>
|
|
on the login page if <b><code>Self register = 1</code></b> in the configuration file, or
|
|
by the admin user in the <b>Config</b> page by pressing <b>New user</b>. When a user is
|
|
logged it, the entry for this user can be modified via the <b>Config</b> command.<p>
|
|
|
|
To start a new password file, follow these steps:
|
|
|
|
<UL>
|
|
<LI>Specify a password file name with <b><code>Password file = <file></b></code> in the configuration file
|
|
<LI>Set <b><code>Self register = 1</b></code> in the configuration file
|
|
<LI>Connect to the logbook. You will be presented the login page. If you have a <b><code>
|
|
Guest menu commands</b></code> entry, you have to click on "Login" to get that screen.
|
|
<LI>Click on "Register as new user"
|
|
<LI>Enter your login information and save it
|
|
<LI>Add <b><code>Admin user = <user></code></b> into the configuration file, using
|
|
your login name from above
|
|
<LI>If you now enter the "Config" page, you can add other users
|
|
<LI>Remove the self registration option if you like
|
|
</UL><p>
|
|
|
|
The presence of a password file requires all users to "<I>log in</I>" using their name and
|
|
password, except when a guest login is allowed via the <b>"Guest menu commands"</b> option.
|
|
An additional advantage of this method is that the user name can be used as
|
|
an attribute value for creating logbook entries. For example, the following line could be
|
|
added to the configuration file to fill in the <i>Author</i> and the <i>Email</i> attributes
|
|
with the current user name and email:
|
|
<p>
|
|
<ul><code>Attributes = Author, Email, ...</code></ul>
|
|
<ul><code>Subst Author = $long_name from $remote_host<br>
|
|
Subst Email = $user_email</code></ul>
|
|
<p>
|
|
Thus the author name is not user-input anymore, ensuring the entry always contains the
|
|
actual user name. For a full listing of substitutions, see the "<I>Subst <attrib></I>" option.<p>
|
|
|
|
The user name and password are stored as cookies on the user side. The expiration is
|
|
controlled by the <b><code>Remember me</code></b> checkbox during the login. If unchecked,
|
|
the cookies expire after the
|
|
current browser session. If checked, they expire after 31 days by default, which
|
|
can be changed with the <code><b>Login
|
|
expiration</b></code > option, giving the expiration time in hours. Setting this to 24
|
|
for example, makes the password expire after one day. If presistent cookies are not
|
|
desired, the <code><b>Login expiration</b></code > option can be set to zero, in which
|
|
case the <b><code>Remember me</code></b> checkbox is not displayed.<p>
|
|
|
|
The <b><code>Admin user = <user list></b></code> is a list of one or more user names,
|
|
which have admin rights. They see a button <b><code>Change elogd.cfg</code></b> on the
|
|
config page by which they can edit elogd.cfg through the web. They can also modify other
|
|
users on the <b><code>Config</code></b> page, change their passwords or remove them. In
|
|
addition, the admin user(s) can delete or edit entries from other users if
|
|
<b><code>Restrict edit = 1</b></code>.<p>
|
|
|
|
The <b><code>Login user = <user list></b></code> is a list of users who can
|
|
log in to a specific logbook. This option can be used with a global password file. If a
|
|
<b><code>Password file</code></b> is present under the <b><code>[global]</b></code>
|
|
section, the registered users in that password file can log in to all logbooks. It might
|
|
be required that only certain users can log in to certain logbooks. This can be achieved
|
|
with the <b><code>Login user</code></b> option, places in each individual logbook
|
|
section in the configuration file. Only those users listed in this statement can log in
|
|
to the logbook where the statement is defined. This method has the advantage over the
|
|
option of definining individual password files for individual logbooks that only one
|
|
central password file exists. So if a user changes her/his password, this becomes then
|
|
valid for all logbooks. If there would be individual logbook password files, one would
|
|
have to change the password in all logbooks individually.<p>
|
|
|
|
<ul>
|
|
<LI><b><code>Self register = 0|1|2|3</code></b>
|
|
</ul>
|
|
<p>
|
|
|
|
With this option it is possible for new users to self-register an user account. At the
|
|
login page, a link is displayed <b>"Register as a new user"</b> which leads the user to
|
|
a configuration page where one can enter the account name, full name and email address.
|
|
A flag allows for automatic email notification on new entries on the logbook. These
|
|
settings can later be changed with the <b>Config</b> menu command.<p>
|
|
|
|
Setting this option to <b>0</b> disables self registration. With option <b>1</b>, users
|
|
can silently register, while setting it to <b>2</b> causes elogd to send an email
|
|
notification to the admin user(s). The option <b>3</b> is used to <i>only</i> send an
|
|
email notification to tha admin users(s), which then can validate the account and commit
|
|
it by hitting the URL given in the email notification.<p>
|
|
|
|
<ul>
|
|
<LI><b><code>Allow <command> = <user list></code></b>
|
|
</ul>
|
|
<p>
|
|
Commands can be restricted to certain login names (separated by commas). For
|
|
each command in the list defined with the "<I>Menu commands</I>" option, a list of
|
|
user names can be specified, which are allowed to execute that command. If the
|
|
allow option is not present, all users may execute that command by default.
|
|
<p>
|
|
|
|
<ul>
|
|
<LI><b><code>Deny <command> = <user list></code></b>
|
|
</ul>
|
|
<p>
|
|
Used to deny a certain command to a list of users. This can be used to deny
|
|
a guest user to enter new messages or modify a message.
|
|
<p>
|
|
|
|
<ul>
|
|
<LI><b><code>Hosts allow = <list></code></b>
|
|
<LI><b><code>Hosts deny = <list></code></b>
|
|
</ul>
|
|
<p>
|
|
These two settings can be used to restrict the access to the logbook to certain
|
|
computers. It is similar to the UNIX <i>hosts.allow</i> and <i>hosts.deny</i> files.
|
|
The list can consist of individual host names or IP numbers, subnet masks like
|
|
<b><code>123.213.</b></code> (note the trailing '.') or <b><code>.mit.edu</b></code>,
|
|
or the word <b><code>All</code></b>. The following rules are applied:
|
|
<ul>
|
|
<li>Access will be granted when a host matches a pattern in "<I>hosts allow</I>".
|
|
<li>Otherwise, access will be denied when a host matches a pattern in "<I>hosts deny</I>".
|
|
<li>Otherwise, access will be granted.
|
|
</ul>
|
|
<p>
|
|
These rules are applied <i>before</i> any password is checked. To debug problems,
|
|
start <code><b>elogd</b></code> with the "-v" flag, in which case the rule checking is printed
|
|
on the screen.
|
|
<p>
|
|
|
|
The global option <code><b>Logfile = <filename></b></code> can be specified
|
|
to log all user login/logout activities plus all successful user connections.<p>
|
|
|
|
If any of the password statements are in the <b><code>[global]</code></b> area of the
|
|
configuration files, they are used for all logbooks. If one logs in at one logbook,
|
|
access is automaticlly granted to all logbooks. If the password statements are in the
|
|
individual logbook sections, one has to log in to each logbook separately.<p>
|
|
|
|
<a name="email"><hr>
|
|
<div class=section> EMail notification </div>
|
|
|
|
<ul>
|
|
<LI><b><code>Email <attribute> <value> = <list></code></b>
|
|
<LI><b><code>Use Email Subject = <string></code></b>
|
|
<LI><b><code>Use Email From = <string></code></b>
|
|
<LI><b><code>Use Email Heading = <string></code></b>
|
|
<LI><b><code>Use Email Heading Edit = <string></code></b>
|
|
<LI><b><code>Omit Email To = 0|1</code></b>
|
|
<LI><b><code>Suppress Email to users = 0|1</code></b>
|
|
|
|
</ul>
|
|
<p>
|
|
To send email automatically when new entries are created in a logbook, a <b><code>SMTP host =
|
|
</b></code> entry must be present in the <b><code>[global]</code></b> section
|
|
of the configuration file. To submit an email based on an attribute value, use the statement <b><code>Email <attribute> <value> =
|
|
<list></b></code>. Whenever an entry is submitted where <b><code>
|
|
attribute</code></b> is equal to <b><code>value</code></b>, an email
|
|
notification is sent to the email addresses in <b><code>list</code></b>.
|
|
Several mail addresses may be supplied, separated by commas. The mail addresses can
|
|
contain attributes via the <b>"$"</b> substitution. If a logbook contains for
|
|
example an attribute <i>name</i> which contains email names, then one can
|
|
put <i>$name@domain</i> to form a valid email address.<p>
|
|
|
|
Multiple <b><code>Email xxx</code></b > statements may occur in a configuration
|
|
file. If either the attribute or the value contains one or more blanks the string
|
|
must be enclosed with quotation marks, as in:
|
|
<p>
|
|
<ul><code>Email type "Normal routine" = ...</code></ul>
|
|
<p>
|
|
The statement <b><code>Email All = <list></code></b> sends an
|
|
email notification independent of the type and category. The <b><code>Use
|
|
Email Subject = <string></b></code> statement specifies which text is
|
|
used as the email subject. The text can contain <b><code>$<attribute>
|
|
</code></b>statements which are substituted with the current value of that
|
|
attribute. For a full list of possible substitutions, see the
|
|
"<I>Subst <attribute></I>" option. The <b><code>Use Email Heading
|
|
= <string></code></b> specifies the text for the email heading line.
|
|
Default is <i>"A new entry has been submitted on [host]"</i>. The option
|
|
<b><code>Use Email Heading Edit = <string></code></b> works the same
|
|
way for updated (edited) entries.<p>
|
|
|
|
The option <b><code>Use Email From = <string>
|
|
</code></b> is used for the "<I>From:</I>" field in the email.
|
|
Since more and more email servers do not accept invalid <I>"From:"</I> addresses in
|
|
order to reduce spam mail, it might be important that a "real" email address is used in
|
|
the <I>"From:"</I> field. By default, the email address of the currently logged in
|
|
user is used for the <I>"From:"</I> field. If no user is logged in, or the current
|
|
user has not specified a email address in the password database, the setting
|
|
of the option <b><code>Use Email From</code></b> is used for the "<I>From:</I>" field.
|
|
Only if this option is not specified, a generic address <I>ELOG@<hostname></I>
|
|
is used, which might be rejected by the SMTP server however.<p>
|
|
|
|
If the flag <b><code>
|
|
Omit Email To</b></code> is set to <b>1</b>, the <i>To:</i> field in the email is
|
|
left empty instead set to the real email address of the recipients. This can
|
|
be useful if one recipient should not see the email addresses of the other recipients.
|
|
<p>
|
|
The flag <b><code>Suppress Email to users</b></code> can be set to <b>"1"</b> if email should
|
|
only be sent to the recipients of the <b><code>Email <attribute> <value> = <list></code></b>
|
|
statements but not to the users who have registerd for automatic email notification.<p>
|
|
|
|
<a name="flags"><hr>
|
|
<div class=section> Flags </div>
|
|
|
|
<ul>
|
|
<li><b><code>Show text = 0|1</code></b>
|
|
</br>
|
|
This flag controls if logbook entries contain a body text. If an installation
|
|
only requires attributes, this flag can be set to <b>0</b>. Default is
|
|
<b>1</b>.
|
|
<p>
|
|
|
|
<li><b><code>Enable attachments = 0|1</code></b>
|
|
</br>
|
|
This flag controls the attachment submission at the bottom of a message
|
|
entry page. If this flag is <b>0</b>, the attachment section is not displayed.
|
|
This might be useful for logbooks where attachments are not used. Default
|
|
is <b>1</b>.
|
|
<p>
|
|
|
|
<li><b><code>Show attachments = 0|1</code></b>
|
|
</br>
|
|
This flag controls the display of attachments such as images on normal
|
|
logbook pages. For logbooks with large images, this flag can be turned off,
|
|
so that attachments are only displayed when they are clicked on. Default
|
|
is <b>1</b>.
|
|
<p>
|
|
|
|
<li><b><code>Summary lines = x</code></b>
|
|
</br>
|
|
This specifies the number of text lines displayed in a summary page. Zero displays
|
|
no text at all. The default is 3.
|
|
<p>
|
|
|
|
<li><b><code>Reverse sort = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, all listing pages (the default page view, the result of
|
|
a search query and the result of the <i>"Last day"</i> query)
|
|
is sorted in reverse order (newest entry down to oldest). The checkbox <i>Sort in
|
|
reverse order</i> on the search form gets checked by default, too. Sorting in reverse
|
|
order can make sense if there are many pages of entries, but the ones entered last
|
|
should be displayed on the first page. Default is <b>0</b>.<p>
|
|
|
|
<li><b><code>Search all logbooks = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, the search form displays the button <i>"Search all
|
|
logbooks"</i>. The default is <b>1</b>. It might be necessary to turn this option
|
|
off for public logbooks if there are also protected logbooks. Otherwise the
|
|
search result would also display entries from the protected logbooks.<p>
|
|
|
|
<li><b><code>Enable browsing = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, browsing (hitting the next/previous button) is enabled.
|
|
For some rare occasions it might be necessary to disable browsing. Default is
|
|
<b>1</b>.
|
|
<p>
|
|
|
|
<li><b><code>Filtered browsing = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, browsing (hitting the next/previous button) can be
|
|
filtered by individual attributes. If the checkbox next to an attribute is checked,
|
|
only messages with the same attribute value are displayed. Default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>HTML default = 0|1|2|3</code></b>
|
|
</br>
|
|
This specifies the default state of the "<I>Submit as HTML text</I>" button on the
|
|
new message entry from. For installations where entries are normally submitted
|
|
as HTML, the default can be set to <b>1</b>. If this value is set to <b>2
|
|
</b> or <b>3</b>, the check box is not displayed and only text submissions
|
|
ore HTML submissions are possible, respectively. The default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Suppress default = 0|1|2</code></b>
|
|
</br>
|
|
This specifies the default state of the "<I>Suppress Email notification</I>" button on the
|
|
new message entry form. For installations where normally an email notification is
|
|
not necessary, the default can be set to <b>1</b>. If an important entry is
|
|
entered, users can then uncheck the suppress box. If this value is set to <b>2
|
|
</b>, the suppress box is not displayed at all, so that an email notification is
|
|
always produced. The default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Resubmit default = 0|1|2</code></b>
|
|
</br>
|
|
This specifies the default state of the "<I>Resubmit as new entry</I>" button on the
|
|
edit message entry from. If this button is checked, the current message is removed
|
|
from its current position in the database and submitted as a new message. This
|
|
can for example be useful for applications where users want to see which records
|
|
have been updated recently. If this value is set to <b>2</b>, the resubmit box
|
|
is not displayed at all. The default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Display Email recipients = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, the email recipients are displayed when a logbook
|
|
entry is entered which produces an email notification. Setting this flag to 0
|
|
suppresses this display, in case users need not see that email is being sent and to whom.
|
|
The default is <b>1</b>.
|
|
<p>
|
|
|
|
<li><b><code>Email Format = <n></code></b>
|
|
</br>
|
|
Specifies what is sent in an email notification. <n> is the sum of following
|
|
flags:<br>
|
|
|
|
<ul>
|
|
<li>1 : Send heading line "A new entry has been submitted..."
|
|
<li>2 : Send attributes
|
|
<li>4 : Send URL of logbook entry
|
|
<li>8 : Send message body
|
|
<li>16: Send optional attachments as email attachments
|
|
<li>32: Send logbook name
|
|
</ul>
|
|
|
|
So to send for example only the attributes and the URL, set <n>
|
|
to <b>6</b>. Default is <b>63</b> (send everything).
|
|
<p>
|
|
|
|
<li><b><code>Suppress Email on edit = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, no email notifications are sent for edited messages,
|
|
only for new messages. The default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Back to main = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, the "<I>List</I>" button takes you back to the logbook
|
|
selection page instead to the last entry of the current logbook.
|
|
The default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Logout to main = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, the "<I>Logout</I>" operation takes you back to the logbook
|
|
selection page instead to the login page.
|
|
The default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Restrict edit = 0|1</code></b>
|
|
</br>
|
|
If this flag is <b>1</b>, users can only edit their own messages. The system
|
|
checks automatically if the currently logged in user matches the user
|
|
supplied in an author attribute via the <i>"Preset xxxx"</i> option.
|
|
The default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Expand default = 0|1|2|3</code></b>
|
|
</br>
|
|
This setting determines how messages are displayed in threaded mode. Following
|
|
options are possible:
|
|
<ul>
|
|
<li><b>0</b>: Only message heads are displayed, no replies. A "+" indicates which message
|
|
has one or more replies.
|
|
<li><b>1</b>: Messages and replies are displayed, but no message body.
|
|
<li><b>2</b>: Messages and replies are displayed together with the first few lines of the
|
|
message body. The number of lines is controlled by the <b><code>Summary lines</b></code> option.
|
|
<li><b>3</b>: Messages and replies are displayed together with the full message body.
|
|
</ul>
|
|
The default is <b>1</b>.
|
|
<p>
|
|
|
|
<li><b><code>Hidden = 0|1</code></b>
|
|
<br>
|
|
If this flag is <b>1</b>, the logbook is not displayed in the initial logbook selection
|
|
page and in the logbook tabs. This can be useful for logbooks which are only accessed
|
|
for backup or archiving and would clutter up the logbook list for the normal user. To
|
|
access hidden logbooks, one has to enter the logbook URL directly, or from a bookmark list.
|
|
Default is <b>0</b>.
|
|
<p>
|
|
|
|
<li><b><code>Use Lock = 0|1</code></b>
|
|
<br>
|
|
If this flag is <b>1</b>, a logbook entry is <i>locked</i> when someone edits it (clicking
|
|
the <i>Edit</i> command). A locked message gets displayed with a little red sign indicating
|
|
that the message is currently edited by someone and should not be touched. This can be
|
|
helpful in installations where several people can edit messages. Without locking, the second
|
|
submission of an edited message overwrites the first submission without notice. Although
|
|
the sign gets displayed, the message can still be edited (the lock can be "stolen"),
|
|
but it's the user's response to avoid any conflict.<br><br>
|
|
|
|
Since elog cannot determine if someone keeps a message very long for editing or if only the
|
|
browser got closed, the locking can show up even if the message is not kept for editing any more.
|
|
In that case, the message has to be edited again and submitted, to remove the origial lock.<br><br>
|
|
|
|
Note that logbooks accessible from the internet usually get scanned by search engines. This
|
|
can lead to situations where the <i>Edit</i> link of each message is "followed" by a bot,
|
|
resulting in all messages being locked. In those cases locking has to be turned off.<br><br>
|
|
|
|
Since release 2.5.4, some Javascript code has been added to avoid unwanted locks. If someone
|
|
edits an entry, but then goes away from that page or closes the browser without submitting
|
|
the changes, a pop-up window appears asking the user to submit the changed entry. Although
|
|
this works for most browsers in most cases, it could be that Javascript has been turned off
|
|
in a browser, in which case the stale locks still might appear.<br><br>
|
|
|
|
Default for "Use Lock" is <b>0</b>.<p>
|
|
|
|
<li><b><code>Show top groups = 0|1</code></b>
|
|
<br>
|
|
When using top groups, the root of the elogd server is not accessible any more, to avoid
|
|
cases where one group can "see" the logbooks of the other groups. If this feature is
|
|
unwanted, the flag <code><b>Show top groups</b></code> can be set to <code><b>1</b></code>,
|
|
in which case a list of available top groups is shown.
|
|
<p>
|
|
|
|
<li><b><code>Fix text = 0|1</code></b>
|
|
<br>
|
|
With this options the main text body can be fixed, so that it cannot be
|
|
changed via the <b><code>Edit</code></b> button later. This feature can be
|
|
useful for set-ups where some attributed must be changed later, but the
|
|
text body should be preserved. The default is <b>0</b>.
|
|
<p>
|
|
|
|
</ul><p>
|
|
|
|
<a name="themes"><hr>
|
|
<div class=section> Themes </div>
|
|
<p>
|
|
Themes are layout and color schemes which determine the look and feel of a logbook
|
|
(sometimes called <i>"skins"</i>). A theme
|
|
consists of a set of images, which are used for the title banner and browse buttons, and
|
|
a Cascading Style Scheet (CSS), which defines the colors, fonts and spacing of the ELOG pages.
|
|
<p>
|
|
|
|
Each theme resides in a separate subdirectory and is specified with the
|
|
<b><code>theme = <dir></code></b> option in the configuration file. Each theme can
|
|
contain several CSSs, which can be selected with the <b><code>CSS = <filename></code></b>
|
|
option.
|
|
<p>
|
|
|
|
A default theme is contained in the distribution. If new themes are developed by users,
|
|
they can be sent back to the author, to be included in future releases.
|
|
<p>
|
|
|
|
To change colors and fonts, the source of a ELOG page can be examined. All elements use
|
|
CSS classes which are specified in the <b><code>class="<name>"</code></b> statements.
|
|
These classes can be found in the <b><code>.../themes/default/default.css</code></b>
|
|
file and changed accordingly. For a description of all options, please consult for example the
|
|
<a href="http://www.w3.org/TR/REC-CSS1">W3C</a> consortium.<p>
|
|
|
|
If the CSS file is edited, most browsers require a "reload" to refresh the modified file.
|
|
The <B>elogd </B>daemon does not have to be restarted after a change in the DSS file.
|
|
<p>
|
|
These two images display the same logbook entry using different themes:
|
|
<p>
|
|
<img src=theme1.jpg> <img src=theme2.jpg>
|
|
<p>
|
|
|
|
<a name="mirroring"><hr>
|
|
<div class=section> Mirroring </div>
|
|
<p>
|
|
Sometimes it can be useful to have the same ELOG logbook on two different computers. This
|
|
might be the case if you travel with your laptop, but want to keep the logbooks from your
|
|
desktop computer on the laptop. The problem is that if you add an entry on your laptop,
|
|
the logbooks on the laptop and the desktop get out of sync. Merging only the ELOG database
|
|
files does not help, since two entries could be made at the same day on the laptop and
|
|
the desktop, which would lead to a conflict in that day's database file.
|
|
<p>
|
|
|
|
To solve this problem, <i>mirroring</i> was introduced from Version 2.5.0 on. This technology
|
|
allows to synchronize one ELOG server with a number of other servers on a per-entry basis. No
|
|
additional software is needed, only two elogd daemons talking to each other. The synchronization
|
|
can be executed manually or periodically. If entries are changed/added/deleted on both sides,
|
|
they get merged properly during synchronization. In order to minimize network traffic, each
|
|
ELOG server calculates a MD5 checksum for each message, which gets exchanged during synchronization.
|
|
Only when the MD5 checksum differs, entries are transferred.
|
|
<p>
|
|
|
|
To set-up mirroring, install two elogd servers on two machines (for testing purpose that also
|
|
works on one machine with two elogd servers running on different ports). This can be done in
|
|
two ways:
|
|
|
|
<OL>
|
|
<LI><b>Automatic configuration</b><p>
|
|
|
|
A complete elog server can be transferred to a secondary server using the <code><b>clone</b></code>
|
|
command. Assume the existing server resides at <code><b>http://master.your.domain/</b></code>,
|
|
and you want to mirror this server to a new location at <code><b>http://slave.your.domain/</b></code>.
|
|
You do that by installing the elog package at the slave machine, and then executing on the slave:<p>
|
|
|
|
<pre>elogd -C http://master.your.domain</pre><p>
|
|
|
|
This command tells elogd to retrieve the configuration file, and optionally all logbook entries
|
|
and password files from the master machine. Note that both servers must be version 2.5.4 or later.
|
|
In case of trouble, you can turn on verbose messaging:<p>
|
|
|
|
<pre>elogd -v -C http://master.your.domain</pre><p>
|
|
|
|
which could give some hints. If a logbook on the master server uses restricted access, you have
|
|
to specify the admin user name and password. After everything has been transferred, you can start
|
|
elogd in the normal way.
|
|
|
|
<LI><b>Manual configuration</b><p>
|
|
|
|
First, copy the elogd.cfg file from the master to the slave server. Make sure that
|
|
the files are identical (except the port setting if you run two servers on the same
|
|
machine). Then, add the following configuration options. They should be put
|
|
into the [global] section of the cofiguration file:<p>
|
|
|
|
<UL>
|
|
<li><b><code>Mirror server = <URL-list></code></b>
|
|
<br><br>
|
|
This statement specifies one or more mirror servers. Each URL must contain the host, port and
|
|
possible subdirectory of the remote server, as if you would access it through your browser.
|
|
A typical statement looks like:<br><br>
|
|
|
|
<code>Mirror server = myhost.mydomain.org:8080, http://another.server.org/elog/</code>
|
|
<br><br>
|
|
|
|
The URL should not contain any logbook name, this gets added automatically. The second
|
|
example contains a subdirectory, which is typically used if the elogd daemon runs
|
|
under an Apache proxy.<p>
|
|
|
|
<li><b><code>Mirror config = 0 | 1</code></b><br><br>
|
|
|
|
Normally, only the logbook entries are mirrored. One can also mirror the contents
|
|
of the elogd.cfg configuration file for individual logbooks. This can be turned on
|
|
by setting this option to <b><code>1</code></b>. Default is <b><code>0</code></b>.
|
|
Only the individual logbook section is mirrored, not the [global] section. Settings
|
|
which are specific to one server, for example the <b><code>URL = </code></b> statement,
|
|
should then be kept in the [global] section, so that they are not mirrored between
|
|
different servers.<br><br>
|
|
|
|
<li><b><code>Mirror cron = Minute Hour Day Month Weekday</code></b><br><br>
|
|
|
|
This statement turns on periodic mirroring. The format is similar to the UNIX
|
|
<b><code>cron</b></code> command. Each of the five values can either be an
|
|
asterisk, which means all possible values, a comma-separated list or a range.
|
|
It can be explained most easily with examples:<br><br>
|
|
|
|
<table border=1>
|
|
<tr><th>Mirror cron=<th>meaning</tr>
|
|
|
|
<tr><td>0 3 * * *<td>Every night at 3:00</td>
|
|
<tr><td>30 7 1,15 * *<td>At 7:30 every 1st and 15th of a month</td>
|
|
<tr><td>0 12 10 10 *<td>Once a year at 12:00 on my birthday</td>
|
|
<tr><td>0 7-18 * * 1-5<td>Once every hour from 7:00 to 18:00 from Monday to Friday</td>
|
|
</table><br><br>
|
|
|
|
Valid ranges for each value are:<br><br>
|
|
|
|
<table border=1>
|
|
<tr><td>Minute<td>0-59</td>
|
|
<tr><td>Hour<td>0-23</td>
|
|
<tr><td>Day<td>1-31</td>
|
|
<tr><td>Month<td>1-12</td>
|
|
<tr><td>Weekday<td>0-6 with 0=Sunday, 1=Monday, etc.</td>
|
|
</table><br><br>
|
|
|
|
If mirroring is turned on, it is advisable to use the <b><code>Logfile =</code></b>
|
|
option to turn on logging, so that one can inspect the logfile to see if the mirroring
|
|
works correctly.<br><br>
|
|
|
|
<li><b><code>Mirror user = <name></code></b><br><br>
|
|
|
|
If periodic mirroring is used via the <b><code>Mirror cron =</b></code> statement
|
|
and the remote logbook uses user-level access, this statement specifies the
|
|
user name which is used to log in to the remote logbook. The password is taken from
|
|
the local password file and has to match the password in the remote password file,
|
|
otherwise the access is not allowed. The user name is typical the login name of
|
|
the administrator.<br><br>
|
|
|
|
<li><b><code>Mirror simulate = 0 | 1</code></b><br><br>
|
|
|
|
If one wants to try out mirroring without causing any harm, one can turn on this flag.
|
|
During synchronization, entries are compared and necessary transfers are displayed,
|
|
but not executed. Default is <b><code>0</code></b>.<br><br>
|
|
|
|
<li><b><code>Mirror exclude = 0 | 1</code></b><br><br>
|
|
|
|
By default, all logbooks are mirrored. Individual logbooks might be excluded from
|
|
mirroring by putting <b><code>Mirror exclude = 1</code></b> in their individual logbook
|
|
section of the configuration file (<B>Not</B> the [global] section).
|
|
Default is <b><code>0</code></b>.
|
|
|
|
</UL>
|
|
</OL><p>
|
|
|
|
If the statement <b><code>Mirror server</b></code> is present in the configuration file, a new
|
|
menu option <b><code>"Synchronize"</code></b> appears on the elog page. Clicking on
|
|
this menu options starts the synchronization:<br><br>
|
|
|
|
<img src="sync.gif"><br><br>
|
|
|
|
On the left side one sees the entry ID's. Entries which are equal locally and remotely
|
|
are not displayed. Here are the rules for synchronization:<br><br>
|
|
|
|
<UL>
|
|
<LI> If an entry has been modified locally but not remotely, it is submitted to the remote
|
|
server.
|
|
|
|
<LI> If an entry has been modified remotely but not locally, it is retrieved from the
|
|
remote server and saved locally.
|
|
|
|
<LI> If an entry has been modified remotely and locally since the last synchronization,
|
|
an error is shown that the entries are conflicting. In that case one has to merge
|
|
the entries manually and delete it on one side.
|
|
|
|
<LI> If an entry has been deleted locally, it is deleted remotely.
|
|
|
|
<LI> If an entry has been deleted remotely, it is deleted locally.
|
|
|
|
<LI> If a new entry exists locally, it is submitted.
|
|
|
|
<LI> If a new entry exists remotely, it is retrieved from the remote server and
|
|
saved locally.
|
|
|
|
<LI> If new entries exist locally and remotely having the same entry ID, the local
|
|
entries are changed to have higher entry IDs, then the remote ones are retrieved. Care
|
|
should be taken if external links (such as <b><code>elog:123</code></b>) to the
|
|
local entries are used, since they will point afterwards to the wrong entry.
|
|
|
|
</UL><p>
|
|
|
|
By starting the synchronization on one elogd server, this server becomes the client
|
|
and the other one becomes the server. This means that the local server actively compares
|
|
the local and the remote messages, and updates one or the other if necessary.
|
|
The other (remote) server does not need to have any mirror option in its configuration
|
|
file, since the local server simulates a web browser to send and retrieve messages to
|
|
the remote server. It is however allowed that the remote server also contains some
|
|
mirror settings in the configuration file, this way the synchronization can be
|
|
started from both servers.<p>
|
|
|
|
|
|
<HR>
|
|
<div class=footer>
|
|
Content by <a class=nav href="mailto:Stefan.Ritt@psi.ch">Stefan Ritt</a>,
|
|
Web pages by <a class=nav href="mailto:fredp@mygale.org">Fred Pacquier</a>
|
|
- last modified on 28/01/2004
|
|
</div>
|
|
</BODY>
|
|
</HTML>
|