* doc/guide.tex: Latex / Hevea related improvements for documentation

generation (thanks to Sander Devrieze). 
* doc/introduction.tex: Likewise.
* doc/dev.tex: Likewise.
* doc/features.tex: Likewise.

SVN Revision: 705
This commit is contained in:
Mickaël Rémond 2007-01-11 08:17:18 +00:00
parent ba03fc4715
commit 7fb38dd38a
10 changed files with 611 additions and 597 deletions

View File

@ -1,3 +1,11 @@
2007-01-11 Mickael Remond <mickael.remond@process-one.net>
* doc/guide.tex: Latex / Hevea related improvements for documentation
generation (thanks to Sander Devrieze).
* doc/introduction.tex: Likewise.
* doc/dev.tex: Likewise.
* doc/features.tex: Likewise.
2007-01-08 Christophe Romain <christophe.romain@process-one.net>
* src/mod_pubsub/mod_pubsub.erl: add presence_based_delivery cluster

View File

@ -5,9 +5,12 @@ all: release pdf html
release:
@echo "Notes for the releaser:"
@echo "* Do not forget to add a link to the release notes in guide.tex"
@echo "* Do not forget to change the version number in version.tex"
@echo "* Do not forget to update the version number in src/ejabberd.hrl!"
@echo "* Do not forget to update the features in introduction.tex (including \new{} and \improved{} tags)."
@read -p "press any key to continue"
@echo "% ejabberd version (automatically generated)." > version.tex
@echo "\newcommand{\version}{"`cat ../src/ejabberd.hrl | grep VERSION |\
sed s/-define\(VERSION,\ \"//g | sed s/\"\).//g`"}" >> version.tex
html: guide.html dev.html features.html

View File

@ -6,7 +6,7 @@
<TITLE>Ejabberd 1.1.2 Developers Guide</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="GENERATOR" content="hevea 1.08">
<STYLE type="text/css">
.toc{list-style:none;}
@ -22,7 +22,7 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
</HEAD>
<BODY >
<!--HEVEA command line is: hevea -fix -noiso -pedantic dev.tex -->
<!--HEVEA command line is: /usr/bin/hevea -fix -noiso -pedantic dev.tex -->
<!--HTMLHEAD-->
<!--ENDHTML-->
<!--PREFIX <ARG ></ARG>-->
@ -30,7 +30,7 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
<BR>
<BR>
<A NAME="sec:titlepage"></A>
<A NAME="titlepage"></A>
<TABLE CLASS="title">
<TR><TD>
@ -80,9 +80,9 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
<!--TOC section Introduction-->
<H2 CLASS="section"><A NAME="htoc1">1</A>&nbsp;&nbsp;<A NAME="intro">Introduction</A></H2><!--SEC END -->
<H2 CLASS="section"><A NAME="htoc1">1</A>&nbsp;&nbsp;Introduction</H2><!--SEC END -->
<A NAME="sec:intro"></A>
<A NAME="intro"></A>
<TT>ejabberd</TT> is a free and open source instant messaging server written in <A HREF="http://www.erlang.org/">Erlang</A>.<BR>
<BR>
@ -94,9 +94,9 @@ BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
<BR>
<!--TOC subsection Key Features-->
<H3 CLASS="subsection"><A NAME="htoc2">1.1</A>&nbsp;&nbsp;<A NAME="keyfeatures">Key Features</A></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc2">1.1</A>&nbsp;&nbsp;Key Features</H3><!--SEC END -->
<A NAME="sec:keyfeatures"></A>
<A NAME="keyfeatures"></A>
<TT>ejabberd</TT> is:
<UL CLASS="itemize"><LI CLASS="li-itemize">
@ -127,13 +127,13 @@ Translated in 12 languages.
<UL CLASS="itemize"><LI CLASS="li-itemize">
Fully XMPP compliant.
<LI CLASS="li-itemize">XML-based protocol.
<LI CLASS="li-itemize"><A HREF="http://ejabberd.jabber.ru/protocols">Many JEPs supported</A>.
<LI CLASS="li-itemize"><A HREF="http://ejabberd.jabber.ru/protocols">Many protocols supported</A>.
</UL></UL>
<!--TOC subsection Additional Features-->
<H3 CLASS="subsection"><A NAME="htoc3">1.2</A>&nbsp;&nbsp;<A NAME="addfeatures">Additional Features</A></H3><!--SEC END -->
<H3 CLASS="subsection"><A NAME="htoc3">1.2</A>&nbsp;&nbsp;Additional Features</H3><!--SEC END -->
<A NAME="sec:addfeatures"></A>
<A NAME="addfeatures"></A>
Moreover, <TT>ejabberd</TT> comes with a wide range of other state-of-the-art features:
<UL CLASS="itemize"><LI CLASS="li-itemize">
@ -164,15 +164,15 @@ LDAP and ODBC.
</UL>
<LI CLASS="li-itemize">Others
<UL CLASS="itemize"><LI CLASS="li-itemize">
Compressing XML streams with Stream Compression (<A HREF="http://www.jabber.org/jeps/jep-0138.html">JEP-0138</A>).
Compressing XML streams with Stream Compression (<A HREF="http://www.xmpp.org/extensions/xep-0138.html">XEP-0138</A>).
<LI CLASS="li-itemize">Interface with networks such as AIM, ICQ and MSN.
<LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.jabber.org/jeps/jep-0039.html">JEP-0039</A>).
<LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.xmpp.org/extensions/xep-0039.html">XEP-0039</A>).
<LI CLASS="li-itemize">IPv6 support both for c2s and s2s connections.
<LI CLASS="li-itemize"><A HREF="http://www.jabber.org/jeps/jep-0045.html">Multi-User Chat</A> module with logging.
<LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0045.html">Multi-User Chat</A> module with logging.
<LI CLASS="li-itemize">Users Directory based on users vCards.
<LI CLASS="li-itemize"><A HREF="http://www.jabber.org/jeps/jep-0060.html">Publish-Subscribe</A> component.
<LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component.
<LI CLASS="li-itemize">Support for virtual hosting.
<LI CLASS="li-itemize"><A HREF="http://www.jabber.org/jeps/jep-0025.html">HTTP Polling</A> service.
<LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0025.html">HTTP Polling</A> service.
<LI CLASS="li-itemize">IRC transport.
</UL>
</UL>
@ -180,7 +180,7 @@ Compressing XML streams with Stream Compression (<A HREF="http://www.jabber.org/
<H2 CLASS="section"><A NAME="htoc4">2</A>&nbsp;&nbsp;How it Works</H2><!--SEC END -->
<A NAME="sec:howitworks"></A>
<A NAME="howitworks"></A>
A Jabber domain is served by one or more <TT>ejabberd</TT> nodes. These nodes can
be run on different machines that are connected via a network. They all must
have the ability to connect to port 4369 of all another nodes, and must have
@ -240,7 +240,7 @@ does not exist, then it is opened and registered.<BR>
<H2 CLASS="section"><A NAME="htoc9">3</A>&nbsp;&nbsp;XML Representation</H2><!--SEC END -->
<A NAME="sec:xmlrepr"></A>
<A NAME="xmlrepr"></A>
Each XML stanza is represented as the following tuple:
<PRE CLASS="verbatim">
XMLElement = {xmlelement, Name, Attrs, [ElementOrCDATA]}
@ -269,7 +269,7 @@ XMLElement = {xmlelement, Name, Attrs, [ElementOrCDATA]}
<H2 CLASS="section"><A NAME="htoc10">4</A>&nbsp;&nbsp;Module <TT>xml</TT></H2><!--SEC END -->
<A NAME="sec:xmlmod"></A>
<A NAME="xmlmod"></A>
<DL CLASS="description" COMPACT=compact><DT CLASS="dt-description"><DD CLASS="dd-description"><CODE>element_to_string(El) -&gt; string()</CODE>
<PRE CLASS="verbatim">
El = XMLElement
@ -318,7 +318,7 @@ Res = string() | XMLElement
<H2 CLASS="section"><A NAME="htoc11">5</A>&nbsp;&nbsp;Module <TT>xml_stream</TT></H2><!--SEC END -->
<A NAME="sec:xmlstreammod"></A>
<A NAME="xmlstreammod"></A>
<DL CLASS="description" COMPACT=compact><DT CLASS="dt-description"><DD CLASS="dd-description"><CODE>parse_element(Str) -&gt; XMLElement | {error, Err}</CODE>
<PRE CLASS="verbatim">
Str = string()
@ -330,12 +330,12 @@ Err = term()
<H2 CLASS="section"><A NAME="htoc12">6</A>&nbsp;&nbsp;Modules</H2><!--SEC END -->
<A NAME="sec:emods"></A>
<A NAME="emods"></A>
<!--TOC subsection Module gen_iq_handler-->
<H3 CLASS="subsection"><A NAME="htoc13">6.1</A>&nbsp;&nbsp;Module gen_iq_handler</H3><!--SEC END -->
<A NAME="sec:geniqhandl"></A>
<A NAME="geniqhandl"></A>
The module <CODE>gen_iq_handler</CODE> allows to easily write handlers for IQ packets
of particular XML namespaces that addressed to server or to users bare JIDs.<BR>
<BR>
@ -404,7 +404,7 @@ process_local_iq(From, To, {iq, ID, Type, XMLNS, SubEl}) -&gt;
<H3 CLASS="subsection"><A NAME="htoc14">6.2</A>&nbsp;&nbsp;Services</H3><!--SEC END -->
<A NAME="sec:services"></A>
<A NAME="services"></A>
<PRE CLASS="verbatim">
-module(mod_echo).

View File

@ -71,12 +71,12 @@
\newcommand{\moreinfo}[1]{} % Hide details
%% Footnotes
\newcommand{\tjepref}[2]{\footahref{http://www.jabber.org/jeps/jep-#1.html}{#2}}
\newcommand{\jepref}[1]{\tjepref{#1}{JEP-#1}}
\newcommand{\txepref}[2]{\footahref{http://www.xmpp.org/extensions/xep-#1.html}{#2}}
\newcommand{\xepref}[1]{\txepref{#1}{XEP-#1}}
\begin{document}
\label{sec:titlepage}
\label{titlepage}
\begin{titlepage}
\maketitle{}
@ -97,7 +97,7 @@
\input{introduction}
\section{How it Works}
\label{sec:howitworks}
\label{howitworks}
A \Jabber{} domain is served by one or more \ejabberd{} nodes. These nodes can
@ -158,7 +158,7 @@ does not exist, then it is opened and registered.
\section{XML Representation}
\label{sec:xmlrepr}
\label{xmlrepr}
Each XML stanza is represented as the following tuple:
\begin{verbatim}
@ -190,7 +190,7 @@ is represented as the following structure:
\section{Module \texttt{xml}}
\label{sec:xmlmod}
\label{xmlmod}
\begin{description}
\item{\verb|element_to_string(El) -> string()|}
@ -248,7 +248,7 @@ Res = string() | XMLElement
\section{Module \texttt{xml\_stream}}
\label{sec:xmlstreammod}
\label{xmlstreammod}
\begin{description}
\item{\verb!parse_element(Str) -> XMLElement | {error, Err}!}
@ -262,16 +262,16 @@ Err = term()
\section{Modules}
\label{sec:emods}
\label{emods}
%\subsection{gen\_mod behaviour}
%\label{sec:genmod}
%\label{genmod}
%TBD
\subsection{Module gen\_iq\_handler}
\label{sec:geniqhandl}
\label{geniqhandl}
The module \verb|gen_iq_handler| allows to easily write handlers for IQ packets
of particular XML namespaces that addressed to server or to users bare JIDs.
@ -350,7 +350,7 @@ process_local_iq(From, To, {iq, ID, Type, XMLNS, SubEl}) ->
\subsection{Services}
\label{sec:services}
\label{services}
%TBD

View File

@ -6,7 +6,7 @@
<TITLE>Ejabberd 1.1.2 Feature Sheet</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META name="GENERATOR" content="hevea 1.08">
<STYLE type="text/css">
.toc{list-style:none;}
@ -23,7 +23,7 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;}
</HEAD>
<BODY >
<!--HEVEA command line is: hevea -fix -noiso -pedantic features.tex -->
<!--HEVEA command line is: /usr/bin/hevea -fix -noiso -pedantic features.tex -->
<!--HTMLHEAD-->
<!--ENDHTML-->
<!--PREFIX <ARG ></ARG>-->
@ -104,7 +104,7 @@ Translated in 12 languages.<FONT COLOR="#FFAA00"><SPAN STYLE="font-variant:small
<UL CLASS="itemize"><LI CLASS="li-itemize">
Fully XMPP compliant.
<LI CLASS="li-itemize">XML-based protocol.
<LI CLASS="li-itemize"><A HREF="http://ejabberd.jabber.ru/protocols">Many JEPs supported</A>.
<LI CLASS="li-itemize"><A HREF="http://ejabberd.jabber.ru/protocols">Many protocols supported</A>.
</UL></UL>
<!--TOC subsection Additional Features-->
@ -143,15 +143,15 @@ LDAP and ODBC.<FONT COLOR="#FFAA00"><SPAN STYLE="font-variant:small-caps">improv
</UL>
<LI CLASS="li-itemize">Others
<UL CLASS="itemize"><LI CLASS="li-itemize">
Compressing XML streams with Stream Compression (<A HREF="http://www.jabber.org/jeps/jep-0138.html">JEP-0138</A>).
Compressing XML streams with Stream Compression (<A HREF="http://www.xmpp.org/extensions/xep-0138.html">XEP-0138</A>).
<LI CLASS="li-itemize">Interface with networks such as AIM, ICQ and MSN.
<LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.jabber.org/jeps/jep-0039.html">JEP-0039</A>).
<LI CLASS="li-itemize">Statistics via Statistics Gathering (<A HREF="http://www.xmpp.org/extensions/xep-0039.html">XEP-0039</A>).
<LI CLASS="li-itemize">IPv6 support both for c2s and s2s connections.
<LI CLASS="li-itemize"><A HREF="http://www.jabber.org/jeps/jep-0045.html">Multi-User Chat</A> module with logging.<FONT COLOR="#FFAA00"><SPAN STYLE="font-variant:small-caps">improved</SPAN></FONT>
<LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0045.html">Multi-User Chat</A> module with logging.<FONT COLOR="#FFAA00"><SPAN STYLE="font-variant:small-caps">improved</SPAN></FONT>
<LI CLASS="li-itemize">Users Directory based on users vCards.
<LI CLASS="li-itemize"><A HREF="http://www.jabber.org/jeps/jep-0060.html">Publish-Subscribe</A> component.
<LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0060.html">Publish-Subscribe</A> component.
<LI CLASS="li-itemize">Support for virtual hosting.
<LI CLASS="li-itemize"><A HREF="http://www.jabber.org/jeps/jep-0025.html">HTTP Polling</A> service.
<LI CLASS="li-itemize"><A HREF="http://www.xmpp.org/extensions/xep-0025.html">HTTP Polling</A> service.
<LI CLASS="li-itemize">IRC transport.
</UL>
</UL>

View File

@ -64,8 +64,8 @@
\gdef\ahrefurl#1{\href{#1}{\texttt{#1}}}
\gdef\footahref#1#2{#2\footnote{\href{#1}{\texttt{#1}}}}
\end{latexonly}
\newcommand{\tjepref}[2]{\footahref{http://www.jabber.org/jeps/jep-#1.html}{#2}}
\newcommand{\jepref}[1]{\tjepref{#1}{JEP-#1}}
\newcommand{\txepref}[2]{\footahref{http://www.xmpp.org/extensions/xep-#1.html}{#2}}
\newcommand{\xepref}[1]{\txepref{#1}{XEP-#1}}
%% Fancy header
\fancyhf{}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
\section{\aname{intro}{Introduction}}
\label{sec:intro}
\section{Introduction}
\label{intro}
\quoting{I just tried out ejabberd and was impressed both by ejabberd itself and the language it is written in, Erlang. ---
Joeri}
@ -14,8 +14,8 @@ Joeri}
\ejabberd{} is suitable for small deployments, whether they need to be \marking{scalable} or not, as well as extremely big deployments.
%\subsection{\aname{layout}{Layout with example deployment (title needs a better name)}}
%\label{sec:layout}
%\subsection{Layout with example deployment (title needs a better name)}
%\label{layout}
%In this section there will be a graphical overview like these:\\
%\verb|http://www.tipic.com/var/timp/timp_dep.gif| \\
@ -24,8 +24,8 @@ Joeri}
%A page full with names of Jabber client that are known to work with ejabberd. \begin{tiny}tiny font\end{tiny}
%\subsection{\aname{trytoday}{Try It Today}}
%\label{sec:trytoday}
%\subsection{Try It Today}
%\label{trytoday}
%(Not sure if I will include/finish this section for the next version.)
@ -38,8 +38,8 @@ Joeri}
%\end{itemize}
\newpage
\subsection{\aname{keyfeatures}{Key Features}}
\label{sec:keyfeatures}
\subsection{Key Features}
\label{keyfeatures}
\ind{features!key features}
\quoting{Erlang seems to be tailor-made for writing stable, robust servers. ---
@ -74,15 +74,15 @@ Peter Saint-Andr\'e, Executive Director of the Jabber Software Foundation}
\begin{itemize}
\item Fully XMPP compliant.
\item XML-based protocol.
\item \footahref{http://ejabberd.jabber.ru/protocols}{Many JEPs supported}.
\item \footahref{http://ejabberd.jabber.ru/protocols}{Many protocols supported}.
\end{itemize}
\end{itemize}
\newpage
\subsection{\aname{addfeatures}{Additional Features}}
\label{sec:addfeatures}
\subsection{Additional Features}
\label{addfeatures}
\ind{features!additional features}
\quoting{ejabberd is making inroads to solving the "buggy incomplete server" problem ---
@ -117,15 +117,15 @@ Moreover, \ejabberd{} comes with a wide range of other state-of-the-art features
\end{itemize}
\item Others
\begin{itemize}
\item Compressing XML streams with Stream Compression (\jepref{0138}).
\item Compressing XML streams with Stream Compression (\xepref{0138}).
\item Interface with networks such as AIM, ICQ and MSN.
\item Statistics via Statistics Gathering (\jepref{0039}).
\item Statistics via Statistics Gathering (\xepref{0039}).
\item IPv6 support both for c2s and s2s connections.
\item \tjepref{0045}{Multi-User Chat} module with logging.\improved{}
\item \txepref{0045}{Multi-User Chat} module with logging.\improved{}
\item Users Directory based on users vCards.
\item \tjepref{0060}{Publish-Subscribe} component.
\item \txepref{0060}{Publish-Subscribe} component.
\item Support for virtual hosting.
\item \tjepref{0025}{HTTP Polling} service.
\item \txepref{0025}{HTTP Polling} service.
\item IRC transport.
\end{itemize}
\end{itemize}

View File

@ -1,2 +1,2 @@
% Define ejabberd version here.
% ejabberd version (automatically generated).
\newcommand{\version}{1.1.2}