* Added a per-user client option to always compose messages using the
[citadel.git] / citadel / docs / citadel.html
index e197c042b83f4d2f3899110b46a2c7bb42a83b4c..ce8d991d9624c8d4bda4b138ba7d420a698a0e39 100644 (file)
@@ -8,9 +8,8 @@
 <body>
 <div align="center">
 <h1>C I T A D E L</h1>
-<h2>a messaging and collaboration platform for BBS and groupware
-applications</h2>
-Copyright &copy;1987-2005 by the Citadel development team:<br>
+<h2>an open source messaging and collaboration platform</h2>
+Copyright &copy;1987-2006 by the Citadel development team:<br>
 <br>
 <table align="center" border="0" cellpadding="2" cellspacing="2">
   <tbody>
@@ -59,17 +58,16 @@ developer<br>
       </i></td>
     </tr>
     <tr>
-      <td valign="top">Michael Hampton<br>
+      <td valign="top">Wilfried Goesgens<br>
       </td>
-      <td valign="top"><i>client software development<br>
+      <td valign="top"><i>build system patches<br>
       </i></td>
     </tr>
     <tr>
-      <td style="vertical-align: top;">Urs Jannsen<br>
-      </td>
-      <td style="vertical-align: top;"><span style="font-style: italic;">text
-search algorithm</span><br>
+      <td valign="top">Michael Hampton<br>
       </td>
+      <td valign="top"><i>client software development<br>
+      </i></td>
     </tr>
     <tr>
       <td valign="top">Andru Luvisi<br>
@@ -87,6 +85,13 @@ search algorithm</span><br>
       <td valign="top">Stu Mark<br>
       </td>
       <td valign="top"><i>additional client features, IGnet protocol
+design<br>
+      </i></td>
+    </tr>
+    <tr>
+      <td valign="top">Edward S. Marshall<br>
+      </td>
+      <td valign="top"><i>RBL checking function
 design<br>
       </i></td>
     </tr>
@@ -102,6 +107,12 @@ design<br>
       <td valign="top"><i>assistance with project management<br>
       </i></td>
     </tr>
+    <tr>
+      <td valign="top">Trey Van Riper<br>
+      </td>
+      <td valign="top"><i>portability enhancements<br>
+      </i></td>
+    </tr>
     <tr>
       <td valign="top">John Walker<br>
       </td>
@@ -582,7 +593,7 @@ processing) </li>
 the system. It is mandatory that the sysop have "root" access to the
 operating system. The following are required to install Citadel: </p>
 <ul>
-  <li>A Unix operating system (Linux, BSD, Solaris, Tru64, HP/UX) </li>
+  <li>A unix-like operating system (Linux, FreeBSD, Solaris, etc.) </li>
   <li>C compiler (<a href="http://gcc.gnu.org/">GCC</a> with <a
  href="http://www.gnu.org/software/make/make.html">gmake</a> is the
 recommended build environment) </li>
@@ -595,22 +606,26 @@ newer (if you want the calendar service to work)<br>
   <li>Enough disk space to hold all of the programs and data </li>
 </ul>
 <p>If you are running Citadel on a Linux system, it is STRONGLY
-recommended that you run it on a recent distribution (such as <a
- href="http://www.redhat.com">Red Hat</a> 7.3 or newer). A new-ish
+recommended that you run it on a recent distribution (such as Fedora
+Core 3 or newer). A new-ish
 distribution will have most or all of the prerequisite tools and
 libraries already integrated for you.</p>
-<h3>Now available:</h3>
+<h3>Other pieces which complete the Citadel system:</h3>
 <ul>
   <li>"WebCit", a gateway program to allow full access to Citadel via
 the World Wide Web. Interactive access through any Web browser. </li>
   <li>Access to Citadel via <i>any</i> standards-compliant e-mail
 program, thanks to Citadel's built-in SMTP, POP, and IMAP services.
 You can use Mozilla, Netscape, Evolution, Eudora, Pine, Outlook, etc.
-with Citadel. </li>
+with Citadel.</li>
+  <li>Access to Citadel's calendar and address book functions using any
+GroupDAV-enabled PIM client (requires WebCit).<br>
+  </li>
 </ul>
 <h3>Coming soon:</h3>
 <ul>
-  <li>Newer and better GUI-based clients.</li>
+  <li>More integration with third-party software.<br>
+  </li>
 </ul>
 <h3><a name="Everything_in_its_place..."></a>Everything in its place...</h3>
 <p>Hopefully you've unpacked the distribution archive into its own
@@ -642,11 +657,11 @@ will use <tt>/usr/local/citadel</tt>) and the shell should be either
 "citadel" in
 that directory, or a script that will start up the citadel client.
 Example:</p>
-<pre>bbs::100:1:Citadel Login:/usr/local/citadel:/usr/local/citadel/citadel<br></pre>
+<pre>citadel::100:1:Citadel Login:/usr/local/citadel:/usr/local/citadel/citadel<br></pre>
 <p>When you run setup later, you will be required to tell it the
 username or user ID of the account you created is, so it knows what
-user to run as. If you create an account called <tt>bbs</tt>, <tt>guest</tt>,
-or <tt>citadel</tt>, the setup program will automatically pick up the
+user to run as. If you create an account called <tt>citadel, bbs</tt>,
+or <tt>guest</tt>, the setup program will automatically pick up the
 user ID by default.</p>
 <p>For all other users in /etc/passwd (or in some other name service
 such as NIS), Citadel will automatically set up
@@ -765,7 +780,9 @@ your favorite text editor to write messages. To do this you simply put
 a line in your citadel.rc file like this:</p>
 <pre>editor=/usr/bin/vi<br></pre>
 <p>The above example would make Citadel call the vi editor when using
-the <tt><b>.E</b>nter <b>E</b>ditor</tt> command. You can also make
+the <tt><b>.E</b>nter <b>E</b>ditor</tt> command, or when a user
+selects the &quot;Always compose messages with the full-screen
+editor&quot; option.  You can also make
 it the default editor for the <tt><b>E</b>nter</tt> command by editing
 the <tt>citadel.rc</tt> file. <b>But be warned:</b> external editors
 on public systems can
@@ -785,8 +802,9 @@ else in your system. The variable <tt>PRINTCMD</tt> in <tt>citadel.rc</tt>
 specifies what command you use to print. Text is sent to the standard
 input (stdin) of the print command.</p>
 <p>So if you did this:</p>
-<pre>printcmd="nl|pr|lpr -Plocal"<br></pre>
-<p>...that would add line numbers, then paginate, then print on the
+<pre>printcmd="a2ps -o - |lpr -Plocal"<br></pre>
+<p>...that would convert the printed text to PostScript, then print on
+the
 printer named "local". There's tons of stuff you can do with this
 feature. For example, you could use a command like <tt>cat
 &lt;&lt;$HOME/archive</tt> to save copies of important messages in a
@@ -991,7 +1009,7 @@ install</tt> ?? </li>
 </ul>
 <p>To report a problem, you can log on to <a
  href="http://uncensored.citadel.org">UNCENSORED!</a> or any other BBS
-on the Citadel network which carries the <tt>Citadel&gt;</tt> room.
+on the Citadel network which carries the <tt>Citadel/UX&gt;</tt> room.
 Please DO NOT e-mail the developers directly. Post a request for help
 on the BBS, with all of the following information: </p>
 <ul>
@@ -1625,7 +1643,7 @@ database logs affect your ability to reliably backup your Citadel
 system.<br>
 </p>
 <p>The next set of options affect how Citadel behaves on a network.</p>
-<pre>Server IP address (0.0.0.0 for 'any') [0.0.0.0]:<br>POP3 server port (-1 to disable) [110]:<br>POP3S server port (-1 to disable) [995]:<br>IMAP server port (-1 to disable) [143]:<br>IMAPS server port (-1 to disable) [993]:<br>SMTP MTA server port (-1 to disable) [25]:<br>SMTP MSA server port (-1 to disable) [587]:<br>SMTPS server port (-1 to disable) [465]:<br>Correct forged From: lines during authenticated SMTP [Yes]:<br></pre>
+<pre>Server IP address (0.0.0.0 for 'any') [0.0.0.0]:<br>POP3 server port (-1 to disable) [110]:<br>POP3S server port (-1 to disable) [995]:<br>IMAP server port (-1 to disable) [143]:<br>IMAPS server port (-1 to disable) [993]:<br>SMTP MTA server port (-1 to disable) [25]:<br>SMTP MSA server port (-1 to disable) [587]:<br>SMTPS server port (-1 to disable) [465]:<br>Correct forged From: lines during authenticated SMTP [Yes]:<br>Allow unauthenticated SMTP clients to spoof my domains [No]: No<br>Instantly expunge deleted IMAP messages [No]: Yes<br></pre>
 <p>"Server IP address" refers to the IP address on <span
  style="font-style: italic;">your server</span> to which Citadel's
 protocol services should be bound.&nbsp; Normally you will leave this
@@ -1694,7 +1712,27 @@ sense dictates that this is a good idea. Nevertheless, if you want to
 suppress
 this behavior, answer 'No' at the prompt (the default is 'Yes') and the
 headers
-will never be altered.<br>
+will never be altered.</p>
+<p>&quot;Instant expunge&quot; affects what happens when IMAP users delete
+messages.  As you may already know, messages are not <i>truly</i> deleted
+when an IMAP client sends a delete command; they are only <i>marked for
+deletion</i>.  The IMAP client must also send an &quot;expunge&quot; command
+to actually delete the message.  The Citadel server automatically expunges
+messages when the client logs out or selects a different folder, but if you
+select the Instant Expunge option, an expunge operation will automatically
+follow any delete operation (and the client will be notified, preventing any
+mailbox state problems).  This is a good option to select, for example, if you
+have users who leave their IMAP client software open all the time and are
+wondering why their deleted messages show up again when they log in from a
+different location (such as WebCit).</p>
+<p>&quot;Allow spoofing&quot; refers to the security level applied to
+non-authenticated SMTP clients.  Normally, when another host connects to
+Citadel via SMTP to deliver mail, Citadel will reject any attempt to send
+mail whose sender (From) address matches one of your host's own domains.  This
+forces your legitimate users to authenticate properly, and prevents foreign
+hosts (such as spammers) from forging mail from your domains.  If, however,
+this behavior is creating a problem for you, you can select this option to
+bypass this particular security check.<br>
 <span style="font-family: monospace;"><br>
 Connect this Citadel to an LDAP directory [No]: No</span><br>
 </p>
@@ -1703,7 +1741,8 @@ document.<br>
 </p>
 <p>The final set of options configures system-wide defaults for the
 auto-purger:</p>
-<pre>Default user purge time (days) [120]: <br>Default room purge time (days) [30]: <br>System default message expire policy (? for list) [0]: <br>Keep how many messages online? [150]:<br>Mailbox default message expire policy (? for list) [0]:<br>How often to run network jobs (in seconds) [1800]:<br>Enable full text search index (warning: resource intensive) [Yes]: Yes<br>Hour to run purges (0-23) [4]:<br></pre>
+<pre>Default user purge time (days) [120]: <br>Default room purge time (days) [30]: <br>System default message expire policy (? for list) [0]: <br>Keep how many messages online? [150]:<br>Mailbox default message expire policy (? for list) [0]:<br>How often to run network jobs (in seconds) [1800]:<br>Enable full text search index (warning: resource intensive) [Yes]: Yes<br>Hour to run purges (0-23) [4]:<br>
+Perform journaling of email messages [No]:<br>Perform journaling of non-email messages [No]:<br>Email destination of journalized messages [example@example.com]:<br></pre>
 <p>Any user who does not log in for the period specified in 'Default
 user purge time' will be deleted the next time a purge is run. This
 setting may be modified on a per-user basis.</p>
@@ -1744,12 +1783,24 @@ day.</p>
 build and maintain a searchable index of all messages on the
 system.&nbsp; This is a time and resource intensive process -- it could
 take days to build the index if you enable it on a large
-database.&nbsp; Once enabled, however, it will be updated incrementally
+database.&nbsp; It is also fairly memory intensive; we do not recommend
+that you enable the index unless your host system has at least 512 MB
+of memory.&nbsp; Once enabled, however, it will be updated
+incrementally
 and will not have any noticeable impact on the interactive response
 time of your system.&nbsp; The full text index is currently only
 searchable when using IMAP clients; other search facilities will be
-made available in the near future.<br>
-<span style="font-family: monospace;"></span></p>
+made available in the near future.</p>
+<p>The &quot;Perform journaling...&quot; options allow you to configure
+your Citadel server to send an extra copy of every message, along with
+recipient information if applicable, to the email address of your choice.
+The journaling destination address may be an account on the local Citadel
+server, an account on another Citadel server on your network, or an Internet
+email address.  These options, used in conjunction with an archiving service,
+allow you to build an archive of all messages which flow through your Citadel
+system.  This is typically used for regulatory compliance in industries which
+require such things.  Please refer to the <a href="journaling.html">journaling
+guide</a> for more details on this subject.</p>
 <p><span style="font-family: monospace;">Save this configuration? No</span><br>
 </p>
 <p>When you're done, enter 'Yes' to confirm the changes, or 'No' to
@@ -1835,7 +1886,9 @@ sites; you may require (due to local convention, security policy, or
 whatever) that all outbound mail be sent to an SMTP relay or forwarder.
 To configure this
 functionality, simply enter the domain name or IP address of your relay
-as a 'smart-host' entry.</p>
+as a 'smart-host' entry.  If your relay server is running on a port other
+than the standard SMTP port 25, you can also specify the port number
+using &quot;host:port&quot; syntax; i.e. <tt>relay99.myisp.com:2525</tt></p>
 <p><b>directory:</b> a domain for which you are participating in
 directory services across any number of Citadel nodes. For example, if
 users who have addresses in the domain <tt>citadel.org</tt> are spread
@@ -2275,8 +2328,8 @@ alphabetical and on-disk ordering of the <span
   <li>After verifying that your backup completed successfully, delete
 the committed log files with a command like this:</li>
 </ol>
-<span style="font-family: monospace;">db_archive -d -h
-/usr/local/citadel/data</span><br>
+<span style="font-family: monospace;">/usr/local/citadel/sendcommand
+"CULL"</span><br>
 <br>
 <span style="font-style: italic;">Advantage:</span> Citadel continues
 to run normally during backups.<span style="font-style: italic;"><br>
@@ -2674,10 +2727,7 @@ require textual input will read it from stdin. Commands which generate
 textual output will be sent to stdout.</p>
 <p>This utility is intended to be used to enable Citadel server
 commands to
-be executed from shell scripts. Review the script called <tt>weekly</tt>
-which ships with the Citadel distribution for an example of how this
-can
-be used.</p>
+be executed from shell scripts.</p>
 <p><b>NOTE:</b> be sure that this utility is not world-executable. It
 connects to the server in privileged mode, and therefore could present
 a security hole