* doc/guide.tex: Title in HTML is shorter. Update several external URIs.

SVN Revision: 1354
This commit is contained in:
Badlop 2008-06-13 15:25:57 +00:00
parent 8f7d9de0b6
commit 44e0a17d80
5 changed files with 47 additions and 60 deletions

View File

@ -3,7 +3,8 @@
* doc/guide.tex: Table of listener modules converted to
description. Table of modules overview simplified, and module
names link to their sections. Document
ldap_local_filter (EJAB-179)
ldap_local_filter (EJAB-179). Title in HTML is shorter.
Update several external URIs.
* doc/guide.html: Regenerated with all the latest changes

View File

@ -139,7 +139,7 @@ Support for virtual hosting.
</LI><LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.xmpp.org/extensions/xep-0039.html">XEP-0039</A>).
</LI><LI CLASS="li-itemize">IPv6 support both for c2s and s2s connections.
</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0045.html">Multi-User Chat</A> module with support for clustering and HTML logging. </LI><LI CLASS="li-itemize">Users Directory based on users vCards.
</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-00163.html">Personal Eventing via Pubsub</A>.
</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-0163.html">Personal Eventing via Pubsub</A>.
</LI><LI CLASS="li-itemize">Support for web clients: <A HREF="http://www.xmpp.org/extensions/xep-0025.html">HTTP Polling</A> and <A HREF="http://www.xmpp.org/extensions/xep-0206.html">HTTP Binding (BOSH)</A> services.
</LI><LI CLASS="li-itemize">IRC transport.
</LI><LI CLASS="li-itemize">Component support: interface with networks such as AIM, ICQ and MSN installing special tranports.

View File

@ -118,7 +118,7 @@ Support for virtual hosting.
</LI><LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.xmpp.org/extensions/xep-0039.html">XEP-0039</A>).
</LI><LI CLASS="li-itemize">IPv6 support both for c2s and s2s connections.
</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0045.html">Multi-User Chat</A> module with support for clustering and HTML logging. </LI><LI CLASS="li-itemize">Users Directory based on users vCards.
</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-00163.html">Personal Eventing via Pubsub</A>.
</LI><LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component with support for <A HREF="http://www.xmpp.org/extensions/xep-0163.html">Personal Eventing via Pubsub</A>.
</LI><LI CLASS="li-itemize">Support for web clients: <A HREF="http://www.xmpp.org/extensions/xep-0025.html">HTTP Polling</A> and <A HREF="http://www.xmpp.org/extensions/xep-0206.html">HTTP Binding (BOSH)</A> services.
</LI><LI CLASS="li-itemize">IRC transport.
</LI><LI CLASS="li-itemize">Component support: interface with networks such as AIM, ICQ and MSN installing special tranports.

View File

@ -13,23 +13,6 @@
</TITLE>
@ -73,7 +56,10 @@ TD P{margin:0px;}
.theorem{text-align:left;margin:1ex auto 1ex 0ex;}
.part{margin:2ex auto;text-align:center}
.SPAN{width:20%; float:right; text-align:left; margin-left:auto;}
H1 A, H2 A, H3 A, H4 A{color:#000000; text-decoration:none;}
H1.titlemain HR{display:none;}
TABLE.title{border-top:1px solid grey;border-bottom:1px solid grey; background: #efefef}
H1.chapter A, H2.section A, H3.subsection A, H4.subsubsection A, H5.paragraph A{color:#000000; text-decoration:none;}
H1.chapter, H2.section, H3.subsection, H4.subsubsection, H5.paragraph{border-top: 1px solid grey; background: #efefef; padding: 0.5ex}
pre.verbatim{margin:1ex 2ex;border:1px dashed lightgrey;background-color:#f9f9f9;padding:0.5ex;}
.dt-description{margin:0ex 2ex;}
table[border="1"]{border-collapse:collapse;margin-bottom:1em;}
@ -83,7 +69,7 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;}
</STYLE>
</HEAD>
<BODY >
<!--HEVEA command line is: /usr/bin/hevea -fix guide.tex -->
<!--HEVEA command line is: /usr/bin/hevea -fix -pedantic guide.tex -->
<!--CUT DEF chapter 1 --><P><A NAME="titlepage"></A>
</P><TABLE CLASS="title"><TR><TD><H1 CLASS="titlemain">
@ -97,26 +83,8 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;}
<BR>
<HR SIZE=2>
<BR><BR><BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
</H1><H3 CLASS="titlerest"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>ejabberd Development Team</TD></TR>
</TABLE></H3></TD></TR>
</H1></TD></TR>
</TABLE><P><A NAME="toc"></A>
</P><!--TOC chapter Contents-->
<H1 CLASS="chapter"><!--SEC ANCHOR -->Contents</H1><!--SEC END --><UL CLASS="toc"><LI CLASS="li-toc">
@ -427,7 +395,7 @@ and configurable options to fine tune the Erlang runtime system.</P><P> <A NAME=
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#windowsreq">Requirements</A></H4><!--SEC END --><P> <A NAME="windowsreq"></A> </P><P>To compile <TT>ejabberd</TT> on a Microsoft Windows system, you need:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
MS Visual C++ 6.0 Compiler
</LI><LI CLASS="li-itemize"><A HREF="http://erlang.org/download.html">Erlang/OTP R11B-5</A>
</LI><LI CLASS="li-itemize"><A HREF="http://www.erlang.org/download.html">Erlang/OTP R11B-5</A>
</LI><LI CLASS="li-itemize"><A HREF="http://sourceforge.net/project/showfiles.php?group_id=10127&package_id=11277">Expat 2.0.0 or higher</A>
</LI><LI CLASS="li-itemize"><A HREF="http://www.gnu.org/software/libiconv/">GNU Iconv 1.9.2</A>
(optional)
@ -1201,8 +1169,8 @@ authentication mechanisms for the same virtual host (fallback), you can set
different storage systems for modules, and so forth.</P><P>The following databases are supported by <TT>ejabberd</TT>:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
<A HREF="http://www.microsoft.com/sql/">Microsoft SQL Server</A>
</LI><LI CLASS="li-itemize"><A HREF="http://www.erlang.org/doc/doc-5.5.1/lib/mnesia-4.3.2/doc/">Mnesia</A>
</LI><LI CLASS="li-itemize"><A HREF="http://mysql.com/">MySQL</A>
</LI><LI CLASS="li-itemize"><A HREF="http://www.erlang.org/doc/apps/mnesia/index.html">Mnesia</A>
</LI><LI CLASS="li-itemize"><A HREF="http://www.mysql.com/">MySQL</A>
</LI><LI CLASS="li-itemize"><A HREF="http://en.wikipedia.org/wiki/Open_Database_Connectivity">Any ODBC compatible database</A>
</LI><LI CLASS="li-itemize"><A HREF="http://www.postgresql.org/">PostgreSQL</A>
</LI></UL><P>The following LDAP servers are tested with <TT>ejabberd</TT>:
@ -1459,8 +1427,18 @@ default is <TT>none</TT>. Example:
<TT>"(&amp;(objectClass=shadowAccount)(memberOf=Jabber Users))"</TT>. Please, do
not forget to close brackets and do not use superfluous whitespaces. Also you
<EM>must not</EM> use <TT>ldap_uidattr</TT> attribute in filter because this
attribute will be substituted in LDAP filter automatically.
</DD></DL><P> <A NAME="ldapexamples"></A> </P><!--TOC subsubsection Examples-->
attribute will be substituted in LDAP filter automatically.</DD><DT CLASS="dt-description"><B><TT>ldap_local_filter</TT></B></DT><DD CLASS="dd-description">
If you can&#X2019;t use <TT>ldap_filter</TT> due to performance reasons
(the LDAP server has many users registered),
you can use this local filter.
The local filter checks an attribute in ejabberd,
not in LDAP, so this limits the load on the LDAP directory.
The default filter is: <TT>undefined</TT>.
Example values:
<PRE CLASS="verbatim">{ldap_local_filter, {notequal, {"accountStatus",["disabled"]}}}.
{ldap_local_filter, {equal, {"accountStatus",["enabled"]}}}.
{ldap_local_filter, undefined}.
</PRE></DD></DL><P> <A NAME="ldapexamples"></A> </P><!--TOC subsubsection Examples-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#ldapexamples">Examples</A></H4><!--SEC END --><P> <A NAME="ldapexamples"></A> </P><P> <A NAME="ldapcommonexample"></A> </P><!--TOC paragraph Common example-->
<H5 CLASS="paragraph"><!--SEC ANCHOR --><A HREF="#ldapcommonexample">Common example</A></H5><!--SEC END --><P> <A NAME="ldapcommonexample"></A> </P><P>Let&#X2019;s say <TT>ldap.example.org</TT> is the name of our LDAP server. We have
users with their passwords in <TT>"ou=Users,dc=example,dc=org"</TT> directory.
@ -2168,7 +2146,7 @@ custom CSS file will be used (http://example.com/my.css). Further, the names
of the log files will contain the full date, and there will be no
subdirectories. The log files will be stored in /var/www/muclogs, and the
time zone will be GMT/UTC. Finally, the top link will be
<CODE>&lt;a href="http://www.jabber.ru"&gt;Jabber.ru&lt;/a&gt;</CODE>.
<CODE>&lt;a href="http://www.jabber.ru/"&gt;Jabber.ru&lt;/a&gt;</CODE>.
<PRE CLASS="verbatim">{access, muc, [{allow, all}]}.
{modules,
@ -2181,7 +2159,7 @@ time zone will be GMT/UTC. Finally, the top link will be
{outdir, "/var/www/muclogs"},
{timezone, universal},
{spam_prevention, true},
{top_link, {"http://www.jabber.ru", "Jabber.ru"}}
{top_link, {"http://www.jabber.ru/", "Jabber.ru"}}
]},
...
]}.
@ -2428,7 +2406,7 @@ the processing discipline for Roster Management (<TT>jabber:iq:roster</TT>) IQ q
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc52">3.3.17</A>&#XA0;&#XA0;<A HREF="#modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END --><P> <A NAME="modservicelog"></A>
</P><P>This module adds support for logging end user packets via a Jabber message
auditing service such as
<A HREF="http://www.funkypenguin.co.za/bandersnatch/">Bandersnatch</A>. All user
<A HREF="http://www.funkypenguin.info/project/bandersnatch/">Bandersnatch</A>. All user
packets are encapsulated in a <CODE>&lt;route/&gt;</CODE> element and sent to the specified
service(s).</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description">
@ -2918,7 +2896,7 @@ will be asked to enter the username (the <EM>full</EM> Jabber ID) and password
of an <TT>ejabberd</TT> user with administrator rights. After authentication
you will see a page similar to figure&#XA0;<A HREF="#fig:webadmmain">4.1</A>.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="webadmmain.png">
<IMG SRC="webadmmain.png" ALT="webadmmain.png">
<DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure 4.1: Top page from the Web Admin</TD></TR>
@ -3112,7 +3090,7 @@ can be replaced with &#X2018;<CODE>ram_copies</CODE>&#X2019; or
some hints from the command &#X2018;<CODE>mnesia:info().</CODE>&#X2019;, by looking at the
size of tables and the default storage type for each table on &#X2019;first&#X2019;.</P><P>Replicating a table makes lookups in this table faster on this node.
Writing, on the other hand, will be slower. And of course if machine with one
of the replicas is down, other replicas will be used.</P><P>Also <A HREF="http://www.erlang.se/doc/doc-5.4.9/lib/mnesia-4.2.2/doc/html/Mnesia_chap5.html#5.3">section 5.3 (Table Fragmentation) of Mnesia User&#X2019;s Guide</A> can be helpful.
of the replicas is down, other replicas will be used.</P><P>Also <A HREF="http://www.erlang.org/doc/apps/mnesia/Mnesia_chap5.html#5.3">section 5.3 (Table Fragmentation) of Mnesia User&#X2019;s Guide</A> can be helpful.
</P><P>(alt) Same as in previous item, but for other tables.</P></LI><LI CLASS="li-enumerate">Run &#X2018;<CODE>init:stop().</CODE>&#X2019; or just &#X2018;<CODE>q().</CODE>&#X2019; to exit from
the Erlang shell. This probably can take some time if Mnesia has not yet
transfered and processed all data it needed from <TT>first</TT>.</LI><LI CLASS="li-enumerate">Now run <TT>ejabberd</TT> on <TT>second</TT> with almost the same config as
@ -3185,7 +3163,7 @@ Figure&#XA0;<A HREF="#fig:discorus">A.1</A>, for example, shows the reply to the
&lt;/iq&gt;
</PRE><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="discorus.png">
<IMG SRC="discorus.png" ALT="discorus.png">
<DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure A.1: Service Discovery when <TT>xml:lang=&#X2019;ru&#X2019;</TT></TD></TR>
@ -3193,7 +3171,7 @@ Figure&#XA0;<A HREF="#fig:discorus">A.1</A>, for example, shows the reply to the
<A NAME="fig:discorus"></A>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P>The Web Admin also supports the <CODE>Accept-Language</CODE> HTTP header.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="webadmmainru.png">
<IMG SRC="webadmmainru.png" ALT="webadmmainru.png">
<DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure A.2: Web Admin showing a virtual host when the web browser provides the

View File

@ -124,16 +124,20 @@ the processing discipline for #1 IQ queries (see section~\ref{modiqdiscoption}).
\end{tabular}\\
\vspace{2mm}
{\rule{\larg}{1mm}}
\begin{latexonly}
\vspace{2mm} \\
\begin{tabular}{r}
{\large \bf \today}
\end{tabular}\\
\vspace{5.5cm}
\end{latexonly}
}
\begin{latexonly}
\author{\begin{tabular}{p{13.7cm}}
ejabberd Development Team
\end{tabular}}
\date{}
\end{latexonly}
%% Options
@ -144,8 +148,12 @@ ejabberd Development Team
%% To by-pass errors in the HTML version:
\newstyle{.SPAN}{width:20\%; float:right; text-align:left; margin-left:auto;}
\newstyle{H1.titlemain HR}{display:none;}
\newstyle{TABLE.title}{border-top:1px solid grey;border-bottom:1px solid grey; background: \#efefef}
\newstyle{H1.chapter A, H2.section A, H3.subsection A, H4.subsubsection A, H5.paragraph A}
{color:\#000000; text-decoration:none;}
\newstyle{H1.chapter, H2.section, H3.subsection, H4.subsubsection, H5.paragraph}
{border-top: 1px solid grey; background: \#efefef; padding: 0.5ex}
\newstyle{pre.verbatim}{margin:1ex 2ex;border:1px dashed lightgrey;background-color:\#f9f9f9;padding:0.5ex;}
\newstyle{.dt-description}{margin:0ex 2ex;}
\newstyle{table[border="1"]}{border-collapse:collapse;margin-bottom:1em;}
@ -405,7 +413,7 @@ gmake
To compile \ejabberd{} on a Microsoft Windows system, you need:
\begin{itemize}
\item MS Visual C++ 6.0 Compiler
\item \footahref{http://erlang.org/download.html}{Erlang/OTP R11B-5}
\item \footahref{http://www.erlang.org/download.html}{Erlang/OTP R11B-5}
\item \footahref{http://sourceforge.net/project/showfiles.php?group\_id=10127\&package\_id=11277}{Expat 2.0.0 or higher}
\item
\footahref{http://www.gnu.org/software/libiconv/}{GNU Iconv 1.9.2}
@ -1479,8 +1487,8 @@ different storage systems for modules, and so forth.
The following databases are supported by \ejabberd{}:
\begin{itemize}
\item \footahref{http://www.microsoft.com/sql/}{Microsoft SQL Server}
\item \footahref{http://www.erlang.org/doc/doc-5.5.1/lib/mnesia-4.3.2/doc/}{Mnesia}
\item \footahref{http://mysql.com/}{MySQL}
\item \footahref{http://www.erlang.org/doc/apps/mnesia/index.html}{Mnesia}
\item \footahref{http://www.mysql.com/}{MySQL}
\item \footahref{http://en.wikipedia.org/wiki/Open\_Database\_Connectivity}{Any ODBC compatible database}
\item \footahref{http://www.postgresql.org/}{PostgreSQL}
\end{itemize}
@ -2761,7 +2769,7 @@ Examples:
of the log files will contain the full date, and there will be no
subdirectories. The log files will be stored in /var/www/muclogs, and the
time zone will be GMT/UTC. Finally, the top link will be
\verb|<a href="http://www.jabber.ru">Jabber.ru</a>|.
\verb|<a href="http://www.jabber.ru/">Jabber.ru</a>|.
\begin{verbatim}
{access, muc, [{allow, all}]}.
@ -2775,7 +2783,7 @@ Examples:
{outdir, "/var/www/muclogs"},
{timezone, universal},
{spam_prevention, true},
{top_link, {"http://www.jabber.ru", "Jabber.ru"}}
{top_link, {"http://www.jabber.ru/", "Jabber.ru"}}
]},
...
]}.
@ -3079,7 +3087,7 @@ Options:
This module adds support for logging end user packets via a \Jabber{} message
auditing service such as
\footahref{http://www.funkypenguin.co.za/bandersnatch/}{Bandersnatch}. All user
\footahref{http://www.funkypenguin.info/project/bandersnatch/}{Bandersnatch}. All user
packets are encapsulated in a \verb|<route/>| element and sent to the specified
service(s).
@ -3999,7 +4007,7 @@ mnesia:change_table_copy_type(schema, node(), disc_copies).
Writing, on the other hand, will be slower. And of course if machine with one
of the replicas is down, other replicas will be used.
Also \footahref{http://www.erlang.se/doc/doc-5.4.9/lib/mnesia-4.2.2/doc/html/Mnesia\_chap5.html\#5.3}
Also \footahref{http://www.erlang.org/doc/apps/mnesia/Mnesia\_chap5.html\#5.3}
{section 5.3 (Table Fragmentation) of Mnesia User's Guide} can be helpful.
% The above URL needs update every Erlang release!