Polished documentation

This commit is contained in:
2025-10-02 11:51:39 +02:00
parent d2a64a5071
commit 6157305e15
6 changed files with 83 additions and 100 deletions
+39 -41
View File
@@ -318,7 +318,7 @@ show the logbooks from the other department. Prior to ELOG version
different ports. Since 2.4.1, one can achieve the same behaviour using
**`Top groups`**. The configuration could look like this:
```
``` text
Group Linux PCs = Red Hat, Debian, Mandrake
Group Windows PCs = 98, ME, NT, XP, CE
Group CE = 1.0, 2.UL
@@ -462,7 +462,7 @@ Here are the available options, by broad categories:
messages of for logbook queries. Here is a simple example of such a
file:
```
``` text
<h1>Welcome to the test logbook</h1>
<ul>
<li><a href="?cmd=new">Enter</a> a new message
@@ -491,7 +491,7 @@ Here are the available options, by broad categories:
This optional page can be displayed when a new message was submitted
in a logbook. Here is an example:
```
``` text
<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
@@ -592,7 +592,7 @@ Here are the available options, by broad categories:
commands"** list. A typical example for the menu settings for this
scenario are:
```
``` text
Menu commands = List, New, Edit, Reply, Duplicate, Find, Config, Logout, Help
Guest menu commands = List, Find, Login, Help
```
@@ -613,7 +613,7 @@ Here are the available options, by broad categories:
to go back to the listing page and display the next *Routine* entry
and all *Routine* entries:
```
``` text
<small>
&nbsp;<a href="?cmd=next&type=Routine">Next Routine entry</a>&nbsp;|
&nbsp;<a href="../?Type=Routine">All Routine entries</a>
@@ -634,7 +634,7 @@ Here are the available options, by broad categories:
attributes, including the word *text*, if one wants to display the
entry body text for guests.
```
``` text
<small>
&nbsp;<a href="?mode=summary">Summary</a>&nbsp;|
&nbsp;<a href="?mode=full">Full</a>&nbsp;|
@@ -841,7 +841,8 @@ Here are the available options, by broad categories:
This list specifies a set of icons for an attribute. Some icons are
contained in the *themes/default/icons* directory which can be used
here like
```
``` text
Attributes = Author, Icon, Subject...
IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
```
@@ -1032,11 +1033,11 @@ IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
RSS title. With this option once can changed this behaviour. Following
substitutions are possible:
- $<attribute\>**: The value of the attribute
- $logbook**: The name of the current logbook
- $entry time**: The message date and time, formatted via "*Time
- **$<attribute\>**: The value of the attribute
- **$logbook**: The name of the current logbook
- **$entry time**: The message date and time, formatted via "*Time
format*"
- $message id**: The message ID
- **$message id**: The message ID
A typical example would be\
@@ -1050,23 +1051,23 @@ IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
by some text. This text can contain arbitrary fixed text and following
values:
- $<attribute\>**: The entered value of the attribute itself
- $host**: The host name where **`elogd`** is running
- $remote_host**: The host name of the host from with the entry was
- **$<attribute\>**: The entered value of the attribute itself
- **$host**: The host name where **`elogd`** is running
- **$remote_host**: The host name of the host from with the entry was
submitted
- $short_name**: The login name (if password file is present)
- $long_name**: The full name from the password file for the
- **$short_name**: The login name (if password file is present)
- **$long_name**: The full name from the password file for the
current user
- $user_email**: The email address from the password file for the
- **$user_email**: The email address from the password file for the
current user
- $logbook**: The name of the current logbook
- $date**: The current date, formatted via "*Date format*"
- $utcdate**: The current UTC date (GMT) and time, formatted via
- **$logbook**: The name of the current logbook
- **$date**: The current date, formatted via "*Date format*"
- **$utcdate**: The current UTC date (GMT) and time, formatted via
"*Date format*"
- $version**: The version of the ELOG server in the form x.y.z
- $revision**: The Subversion reversion of the ELOG server as an
- **$version**: The version of the ELOG server in the form x.y.z
- **$revision**: The Subversion reversion of the ELOG server as an
integer number
- $shell(<command\>)**: <command\> gets passed to the operating
- **$shell(<command\>)**: <command\> gets passed to the operating
system shell and the result is taken for substitution.
Following example use this feature to add the remote host name to the
@@ -1078,7 +1079,7 @@ IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
Following example substitutes an attribute with the contents of a
file:
```
``` text
Subst Info = $shell(cat /tmp/filename) (Unix)
Subst Info = $shell(type c:\tmp\filename) (Windows)
```
@@ -1094,7 +1095,7 @@ Subst Info = $shell(type c:\tmp\filename) (Windows)
results in automatically created attributes *"Number"* of the form
```
``` text
XYZ-00001
XYZ-00002
XYZ-00003
@@ -1107,11 +1108,11 @@ XYZ-00003
The statement
`Subst Number = XYZ-%Y-%b-###
`Subst Number = XYZ-%Y-%b-###`
results in automatically created attributes *"Number"* of the form
```
``` text
XYZ-2005-Oct-001
XYZ-2005-Oct-002
XYZ-2005-Oct-003
@@ -1119,7 +1120,7 @@ XYZ-2005-Oct-003
and
```
``` text
XYZ-2005-Nov-001
XYZ-2005-Nov-002
```
@@ -1181,19 +1182,19 @@ XYZ-2005-Nov-002
Values used for single message display page:
- <flags\>** Sum of following flags:
- **<flags\>** Sum of following flags:
- **1**: Display attribute in same line as previous attribute
- **2**: Display radio buttons or check boxes in separate lines (if
applicable)
- <css_class_name\>**,<css_class_value\>** Cascading Style Sheet
- **<css_class_name\>**,<css_class_value\>** 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 *themes/default/default.css*).
Values used for new message entry form:
- <width\>** Width of the text entry field in characters
- <size\>** Maximum number of characters allowed.
- **<width\>** Width of the text entry field in characters
- **<size\>** Maximum number of characters allowed.
Default is *"0, attribname, attribvalue, 80, 500"*. Trailing
parameters can be ommitted, so specifying for example only the flags
@@ -1240,9 +1241,7 @@ XYZ-2005-Nov-002
**`importnace`** is **`severe`** for example, you can specify
following style:
`Style importance severe = background-color:red`
`Style importance severe = background-color:red`
For possible formattings, please refer to some CSS documentation. You
can change the colors, font styles and sizes. The style is then valid
@@ -1250,7 +1249,6 @@ XYZ-2005-Nov-002
For empty attributes one can specify "", such as
`Style importance "" = background-color:red`
@@ -1268,7 +1266,7 @@ Cell Style Status Under Process = background-color:yellow
for example produce following listing:
![](img/cell_style.png){border="0"}
![](img/cell_style.png)
### `Change <attribute> = <string>`
Instead of subsituting an attribute, the original attribute can be
@@ -1411,7 +1409,7 @@ configuration option **`Preset text = ...`** can be used to copy some
pre-defined forms into the message body, which can then be filled out.
Consider following example:
```
``` text
Attributes = Author, Type
Options Type = Network check{1}, System check{2}
@@ -1423,7 +1421,7 @@ This causes two text files *network.txt* and *system.txt* to be copied
into the message body when a new entry is made. The file *network.txt*
could look like:
```
``` text
Routers checked: [ ]
DHCP checked: [ ]
Comment: ...
@@ -1468,7 +1466,7 @@ 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:
```
``` text
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}
@@ -1529,7 +1527,7 @@ Following options can be used to control the behavior:
This file contains user names and passwords in XML format, such as
```
``` text
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- created by MXML on Tue Nov 07 08:15:51 2006 -->
<list>
+1 -4
View File
@@ -11,20 +11,17 @@ Feature| Votes
Implement groups of users| 8
Password expiration| 2
Account expiration|1
Make attributes which whould be displayd selectable in \"Find\" page|1
Make attributes which whould be displayed selectable in "Find" page|1
Convert elog text files into XML files and comma separated files with elconv|1
Implement multi-line attributes|8
Derive attribute options from list of entries of another logbook|1
Specify date format explicitly for substitutions, like $entry date{%Y}|2
Change attributes of whole thread, like mark a thread "open" or "closed"|4
Automatic unlocking of entries after a specific time period|1
Implement PAM authentification under Linux (Which includes LDAP & AFS & Kerberos & ...)|13
Implement attributes which are math results from others, like *att3=att1+att2*|3
Show sums of numeric attributes|2
Let each user choose its language separately|1
Implement multiple selection boxes|1
Boolean operators for queries, like "attrib1=a AND not attrib2=b"|1
Implement "sybolik-link" logbooks such that a (virtual) logbook can "point" to a "real" logbook.<br>This is useful to have people always submit to the same logbook, when the real logbook<br>changes from time to time.|1
Select individual columns for display and printing|2
"Incremental" options. Have fixed set of global options, and in each<br>logbook add or remove some of those with<br>**+Options = ...** or **-Options = ...**|1
"Include" statement for config file.|2
+40 -40
View File
@@ -821,7 +821,7 @@ 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
<strong><code>Top groups</code></strong>. The configuration could look like this:</p>
<pre><code>Group Linux PCs = Red Hat, Debian, Mandrake
<pre><code class="language-text">Group Linux PCs = Red Hat, Debian, Mandrake
Group Windows PCs = 98, ME, NT, XP, CE
Group CE = 1.0, 2.UL
@@ -941,7 +941,7 @@ section, the logbook option is used.</p>
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><code>&lt;h1&gt;Welcome to the test logbook&lt;/h1&gt;
<pre><code class="language-text">&lt;h1&gt;Welcome to the test logbook&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;?cmd=new&quot;&gt;Enter&lt;/a&gt; a new message
`&lt;li&gt;&lt;a href=&quot;?cmd=find&quot;&gt;Search&lt;/a&gt; the logbook
@@ -962,7 +962,7 @@ section, the logbook option is used.</p>
<h3 id="submit-page-file"><code>Submit Page = &lt;file&gt;</code></h3>
<p>This optional page can be displayed when a new message was submitted
in a logbook. Here is an example:</p>
<pre><code>&lt;h1&gt;You successfully submitted a message&lt;/h1&gt;
<pre><code class="language-text">&lt;h1&gt;You successfully submitted a message&lt;/h1&gt;
&lt;a href=&quot;?cmd=Back&quot;&gt;Back&lt;/a&gt; to the logbook&lt;p&gt;
&lt;a href=&quot;?cmd=New&quot;&gt;Enter&lt;/a&gt; another message
</code></pre>
@@ -1049,7 +1049,7 @@ section, the logbook option is used.</p>
password file), which then allowes full access via the <strong>"Menu
commands"</strong> list. A typical example for the menu settings for this
scenario are:</p>
<pre><code> Menu commands = List, New, Edit, Reply, Duplicate, Find, Config, Logout, Help
<pre><code class="language-text"> Menu commands = List, New, Edit, Reply, Duplicate, Find, Config, Logout, Help
Guest menu commands = List, Find, Login, Help
</code></pre>
<p>Note that the presence of this option opens user access also to the
@@ -1065,7 +1065,7 @@ section, the logbook option is used.</p>
arbitrary text, images or links. One example would be following text
to go back to the listing page and display the next <em>Routine</em> entry
and all <em>Routine</em> entries:</p>
<pre><code>&lt;small&gt;
<pre><code class="language-text">&lt;small&gt;
&amp;nbsp;&lt;a href=&quot;?cmd=next&amp;type=Routine&quot;&gt;Next Routine entry&lt;/a&gt;&amp;nbsp;|
&amp;nbsp;&lt;a href=&quot;../?Type=Routine&quot;&gt;All Routine entries&lt;/a&gt;
&lt;/small&gt;
@@ -1081,7 +1081,7 @@ section, the logbook option is used.</p>
"Password file"). The <strong><code>list</code></strong> consists of comma separated
attributes, including the word <em>text</em>, if one wants to display the
entry body text for guests.</p>
<pre><code>&lt;small&gt;
<pre><code class="language-text">&lt;small&gt;
&amp;nbsp;&lt;a href=&quot;?mode=summary&quot;&gt;Summary&lt;/a&gt;&amp;nbsp;|
&amp;nbsp;&lt;a href=&quot;?mode=full&quot;&gt;Full&lt;/a&gt;&amp;nbsp;|
&amp;nbsp;&lt;a href=&quot;?mode=threaded&quot;&gt;Threaded&lt;/a&gt;&amp;nbsp;|
@@ -1250,7 +1250,7 @@ section, the logbook option is used.</p>
<p>This list specifies a set of icons for an attribute. Some icons are
contained in the <em>themes/default/icons</em> directory which can be used
here like</p>
<pre><code>Attributes = Author, Icon, Subject...
<pre><code class="language-text">Attributes = Author, Icon, Subject...
IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
</code></pre>
<p>New icons are welcome and should be sent back to the author to be
@@ -1401,11 +1401,11 @@ IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
RSS title. With this option once can changed this behaviour. Following
substitutions are possible:</p>
<ul>
<li>$&lt;attribute&gt;**: The value of the attribute</li>
<li>$logbook**: The name of the current logbook</li>
<li>$entry time<em><em>: The message date and time, formatted via "</em>Time
<li><strong>$&lt;attribute&gt;</strong>: The value of the attribute</li>
<li><strong>$logbook</strong>: The name of the current logbook</li>
<li><strong>$entry time</strong>: The message date and time, formatted via "<em>Time
format</em>"</li>
<li>$message id**: The message ID</li>
<li><strong>$message id</strong>: The message ID</li>
</ul>
<p>A typical example would be\</p>
<p><code>RSS Title = $subject, posted by $author on $entry time</code></p>
@@ -1416,23 +1416,23 @@ IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
by some text. This text can contain arbitrary fixed text and following
values:</p>
<ul>
<li>$&lt;attribute&gt;**: The entered value of the attribute itself</li>
<li>$host<strong>: The host name where </strong><code>elogd</code>** is running</li>
<li>$remote_host**: The host name of the host from with the entry was
<li><strong>$&lt;attribute&gt;</strong>: The entered value of the attribute itself</li>
<li><strong>$host</strong>: The host name where <strong><code>elogd</code></strong> is running</li>
<li><strong>$remote_host</strong>: The host name of the host from with the entry was
submitted</li>
<li>$short_name**: The login name (if password file is present)</li>
<li>$long_name**: The full name from the password file for the
<li><strong>$short_name</strong>: The login name (if password file is present)</li>
<li><strong>$long_name</strong>: The full name from the password file for the
current user</li>
<li>$user_email**: The email address from the password file for the
<li><strong>$user_email</strong>: The email address from the password file for the
current user</li>
<li>$logbook**: The name of the current logbook</li>
<li>$date<em><em>: The current date, formatted via "</em>Date format</em>"</li>
<li>$utcdate<em><em>: The current UTC date (GMT) and time, formatted via
"</em>Date format</em>"</li>
<li>$version**: The version of the ELOG server in the form x.y.z</li>
<li>$revision**: The Subversion reversion of the ELOG server as an
<li><strong>$logbook</strong>: The name of the current logbook</li>
<li><strong>$date</strong>: The current date, formatted via "<em>Date format</em>"</li>
<li><strong>$utcdate</strong>: The current UTC date (GMT) and time, formatted via
"<em>Date format</em>"</li>
<li><strong>$version</strong>: The version of the ELOG server in the form x.y.z</li>
<li><strong>$revision</strong>: The Subversion reversion of the ELOG server as an
integer number</li>
<li>$shell(&lt;command&gt;)**: &lt;command&gt; gets passed to the operating
<li><strong>$shell(&lt;command&gt;)</strong>: &lt;command&gt; gets passed to the operating
system shell and the result is taken for substitution.</li>
</ul>
<p>Following example use this feature to add the remote host name to the
@@ -1440,7 +1440,7 @@ IOptions Icon = icon1.gif, icon2.gif, icon3.gif, ...
<p><code>Subst Author = $author from $remote_host</code></p>
<p>Following example substitutes an attribute with the contents of a
file:</p>
<pre><code>Subst Info = $shell(cat /tmp/filename) (Unix)
<pre><code class="language-text">Subst Info = $shell(cat /tmp/filename) (Unix)
Subst Info = $shell(type c:\tmp\filename) (Windows)
</code></pre>
<p>A special option are automatically generated tags, which are
@@ -1450,7 +1450,7 @@ Subst Info = $shell(type c:\tmp\filename) (Windows)
digit, thus the statement</p>
<p><code>Subst Number = XYZ-#####</code></p>
<p>results in automatically created attributes <em>"Number"</em> of the form</p>
<pre><code>XYZ-00001
<pre><code class="language-text">XYZ-00001
XYZ-00002
XYZ-00003
</code></pre>
@@ -1459,14 +1459,14 @@ XYZ-00003
to create tags wich contain the current year, month and so on. Once
the date part of the attribute changes, the index restarts from one.
The statement</p>
<p>`Subst Number = XYZ-%Y-%b-###</p>
<p><code>Subst Number = XYZ-%Y-%b-###</code></p>
<p>results in automatically created attributes <em>"Number"</em> of the form</p>
<pre><code>XYZ-2005-Oct-001
<pre><code class="language-text">XYZ-2005-Oct-001
XYZ-2005-Oct-002
XYZ-2005-Oct-003
</code></pre>
<p>and</p>
<pre><code>XYZ-2005-Nov-001
<pre><code class="language-text">XYZ-2005-Nov-001
XYZ-2005-Nov-002
</code></pre>
<p>on the next month.</p>
@@ -1513,21 +1513,21 @@ XYZ-2005-Nov-002
defined in the comma-separated list:</p>
<p>Values used for single message display page:</p>
<ul>
<li>&lt;flags&gt;** Sum of following flags:<ul>
<li><strong>&lt;flags&gt;</strong> Sum of following flags:<ul>
<li><strong>1</strong>: Display attribute in same line as previous attribute</li>
<li><strong>2</strong>: Display radio buttons or check boxes in separate lines (if
applicable)</li>
</ul>
</li>
<li>&lt;css_class_name&gt;<strong>,&lt;css_class_value&gt;</strong> Cascading Style Sheet
<li><strong>&lt;css_class_name&gt;</strong>,&lt;css_class_value&gt;<em><em> 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 <em>themes/default/default.css</em>).</li>
(usually </em>themes/default/default.css</em>).</li>
</ul>
<p>Values used for new message entry form:</p>
<ul>
<li>&lt;width&gt;** Width of the text entry field in characters</li>
<li>&lt;size&gt;** Maximum number of characters allowed.</li>
<li><strong>&lt;width&gt;</strong> Width of the text entry field in characters</li>
<li><strong>&lt;size&gt;</strong> Maximum number of characters allowed.</li>
</ul>
<p>Default is <em>"0, attribname, attribvalue, 80, 500"</em>. Trailing
parameters can be ommitted, so specifying for example only the flags
@@ -1569,7 +1569,7 @@ XYZ-2005-Nov-002
called <strong><code>importnace</code></strong> and you want to highlight all entries where
<strong><code>importnace</code></strong> is <strong><code>severe</code></strong> for example, you can specify
following style:</p>
<p><code>Style importance severe = background-color:red</code></p>
<p><code>Style importance severe = background-color:red</code> </p>
<p>For possible formattings, please refer to some CSS documentation. You
can change the colors, font styles and sizes. The style is then valid
for the whole row of that entry.</p>
@@ -1585,7 +1585,7 @@ Cell Style Status Not Fixed = background-color:red
Cell Style Status Under Process = background-color:yellow
</code></pre>
<p>for example produce following listing:</p>
<p><img alt="" src="../img/cell_style.png" />{border="0"}</p>
<p><img alt="" src="../img/cell_style.png" /></p>
<h3 id="change-attribute-string"><code>Change &lt;attribute&gt; = &lt;string&gt;</code></h3>
<p>Instead of subsituting an attribute, the original attribute can be
kept and just the output formatting can be changed. This can be very
@@ -1694,7 +1694,7 @@ possibility is the definition of forms. Depending on an attribute, the
configuration option <strong><code>Preset text = ...</code></strong> can be used to copy some
pre-defined forms into the message body, which can then be filled out.
Consider following example:</p>
<pre><code>Attributes = Author, Type
<pre><code class="language-text">Attributes = Author, Type
Options Type = Network check{1}, System check{2}
{1} Preset text = network.txt
@@ -1703,7 +1703,7 @@ Options Type = Network check{1}, System check{2}
<p>This causes two text files <em>network.txt</em> and <em>system.txt</em> to be copied
into the message body when a new entry is made. The file <em>network.txt</em>
could look like:</p>
<pre><code>Routers checked: [ ]
<pre><code class="language-text">Routers checked: [ ]
DHCP checked: [ ]
Comment: ...
</code></pre>
@@ -1738,7 +1738,7 @@ 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>
<pre><code>Attributes = PC Name, Operating System, Version, Location, Floor
<pre><code class="language-text">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
@@ -1783,7 +1783,7 @@ browser.</p>
<h3 id="admin-user-user-list"><code>Admin user = &lt;user list&gt;</code></h3>
<h3 id="login-user-user-list"><code>Login user = &lt;user list&gt;</code></h3>
<p>This file contains user names and passwords in XML format, such as</p>
<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;
<pre><code class="language-text">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;
&lt;!-- created by MXML on Tue Nov 07 08:15:51 2006 --&gt;
&lt;list&gt;
&lt;user&gt;
+1 -1
View File
@@ -289,5 +289,5 @@ by <a href="mailto:fredp@mygale.org">Fred Pacquier</a></em></p>
<!--
MkDocs version : 1.6.1
Build Date UTC : 2025-10-02 08:35:21.979466+00:00
Build Date UTC : 2025-10-02 09:51:22.343965+00:00
-->
File diff suppressed because one or more lines are too long
+1 -13
View File
@@ -130,7 +130,7 @@ can vote for a feature, or suggest one, by sending me an email.</p>
<td>1</td>
</tr>
<tr>
<td>Make attributes which whould be displayd selectable in \"Find\" page</td>
<td>Make attributes which whould be displayed selectable in "Find" page</td>
<td>1</td>
</tr>
<tr>
@@ -158,10 +158,6 @@ can vote for a feature, or suggest one, by sending me an email.</p>
<td>1</td>
</tr>
<tr>
<td>Implement PAM authentification under Linux (Which includes LDAP &amp; AFS &amp; Kerberos &amp; ...)</td>
<td>13</td>
</tr>
<tr>
<td>Implement attributes which are math results from others, like <em>att3=att1+att2</em></td>
<td>3</td>
</tr>
@@ -178,14 +174,6 @@ can vote for a feature, or suggest one, by sending me an email.</p>
<td>1</td>
</tr>
<tr>
<td>Boolean operators for queries, like "attrib1=a AND not attrib2=b"</td>
<td>1</td>
</tr>
<tr>
<td>Implement "sybolik-link" logbooks such that a (virtual) logbook can "point" to a "real" logbook.<br>This is useful to have people always submit to the same logbook, when the real logbook<br>changes from time to time.</td>
<td>1</td>
</tr>
<tr>
<td>Select individual columns for display and printing</td>
<td>2</td>
</tr>