aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shchepin <alexey@process-one.net>2003-02-03 20:23:08 +0000
committerAlexey Shchepin <alexey@process-one.net>2003-02-03 20:23:08 +0000
commitdc906c80c4545fcbbb82073c3ae8bfd381eaf98e (patch)
tree6d8f54c73631834130917ce7c41b680b96aef7d6
parent*** empty log message *** (diff)
*** empty log message ***
SVN Revision: 57
-rw-r--r--doc/guide.html107
-rw-r--r--doc/guide.tex111
2 files changed, 198 insertions, 20 deletions
diff --git a/doc/guide.html b/doc/guide.html
index 6d95e6e73..078c7c723 100644
--- a/doc/guide.html
+++ b/doc/guide.html
@@ -17,8 +17,10 @@
<H3 ALIGN=center>Alexey Shchepin<BR><A HREF="mailto:alexey@sevcom.net"><TT>mailto:alexey@sevcom.net</TT></A><BR><A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT></A></H3>
-<H3 ALIGN=center>January 29, 2003</H3> <DIV ALIGN=center><IMG SRC="logo.png">
+<H3 ALIGN=center>February 3, 2003</H3> <DIV ALIGN=center>
+ <IMG SRC="logo.png">
+
</DIV><BR>
<BR>
@@ -32,9 +34,28 @@
<A NAME="sec:intro"></A><TT>ejabberd</TT> is a Free and Open Source distributed fault-tolerant Jabber
server. It writen mostly in Erlang.<BR>
<BR>
-TBD<BR>
-<BR>
-<!--TOC section Installation-->
+Main features of ejabberd is:
+<UL>
+<LI>
+ Distribution. You can run ejaberd on cluster of machines and all them
+ will serve one Jabber domain.
+
+<LI> Fault-tolerance. You can setup ejabberd cluster in such way, that all
+ information required for properly working will be stored permanently on more
+ then one machine, so if one of them crashed, then all other ones continue
+ working without any pauses. Also you can replace or add more machines ``on
+ the fly''.
+
+<LI> Support of <A HREF="http://www.jabber.org/jeps/jep-0030.html">JEP-0030</A>
+ (Service Discovery).
+
+<LI> Support of <A HREF="http://www.jabber.org/jeps/jep-0039.html">JEP-0039</A>
+ (Statistics Gathering).
+
+<LI> Support of <TT>xml:lang</TT> attribute in many XML elements.
+
+<LI> JUD based on users vCards.
+</UL><!--TOC section Installation-->
<H2>2&nbsp;&nbsp; Installation</H2><!--SEC END -->
@@ -121,8 +142,8 @@ serves. E.&nbsp;g. to use <TT>jabber.org</TT> domain add following line in confi
<H4>3.1.2&nbsp;&nbsp; Access Rules</H4><!--SEC END -->
-<A NAME="sec:configaccess"></A>Access control in <TT>ejabberd</TT> is done via Access Control Lists (ACL). In
-config file they looks like this:
+<A NAME="sec:configaccess"></A>Access control in <TT>ejabberd</TT> is done via Access Control Lists (ACL).
+Declaration of ACL in config file have following syntax:
<PRE>
{acl, &lt;aclname&gt;, {&lt;acltype&gt;, ...}}.
</PRE><TT>&lt;acltype&gt;</TT> can be one of following:
@@ -202,7 +223,7 @@ config file they looks like this:
]}.
</PRE>When JID is checked to have access to <TT>&lt;accessname&gt;</TT>, server
sequentially checks if this JID in one of the ACLs that are second elements in
-eache tuple in list. If one of them matched, then returned first element of
+each tuple in list. If one of them matched, then returned first element of
matched tuple. Else returned ``<TT>deny</TT>''.<BR>
<BR>
Example:
@@ -285,9 +306,9 @@ Example:
{mod_time, [{iqdisc, no_queue}]},
{mod_version, []}
]}.
-</PRE><!--TOC subsection Online Configuration-->
+</PRE><!--TOC subsection Online Configuration and Monitoring-->
-<H3>3.2&nbsp;&nbsp; Online Configuration</H3><!--SEC END -->
+<H3>3.2&nbsp;&nbsp; Online Configuration and Monitoring</H3><!--SEC END -->
<A NAME="sec:onlineconfig"></A>To use facility of online reconfiguration of <TT>ejabberd</TT> needed to have
<TT>mod_configure</TT> loaded (see section&nbsp;<A HREF="#sec:modconfigure">5.4</A>). Also highly
@@ -298,6 +319,74 @@ xdata-capable client
developed synchronously with <TT>ejabberd</TT>, its CVS version use most of
<TT>ejabberd</TT> features).<BR>
<BR>
+On disco query <TT>ejabberd</TT> returns following items:
+<UL>
+<LI>
+ Identity of server.
+
+<LI> List of features, including defined namespaces.
+
+<LI> List of JIDs from route table.
+
+<LI> List of disco-nodes described in following subsections.
+</UL><!--TOC subsubsection Node <TT>config</TT>: Global Configuration-->
+
+<H4>3.2.1&nbsp;&nbsp; Node <TT>config</TT>: Global Configuration</H4><!--SEC END -->
+Under this node exists following nodes:<BR>
+<BR>
+<!--TOC paragraph Node <TT>config/hostname</TT>-->
+
+<H5> Node <TT>config/hostname</TT></H5><!--SEC END -->
+Via <TT>jabber:x:data</TT> queries to this node possible to change host name of
+this <TT>ejabberd</TT> server. (See figure&nbsp;<A HREF="#fig:hostname">1</A>) (Currently will work
+correctly only after restart)
+<BLOCKQUOTE><DIV ALIGN=center><DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV>
+ [hostname editing window]
+ <BR>
+<BR>
+<DIV ALIGN=center>Figure 1: Editing of hostname</DIV><BR>
+
+ <A NAME="fig:hostname"></A>
+<DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><!--TOC paragraph Node <TT>config/acls</TT>-->
+
+<H5> Node <TT>config/acls</TT></H5><!--SEC END -->
+Via <TT>jabber:x:data</TT> queries to this node possible edit ACLs list. (See
+figure&nbsp;<A HREF="#fig:acls">2</A>)
+<BLOCKQUOTE><DIV ALIGN=center><DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV>
+ [acls editing window]
+ <BR>
+<BR>
+<DIV ALIGN=center>Figure 2: Editing of ACLs</DIV><BR>
+
+ <A NAME="fig:acls"></A>
+<DIV ALIGN=center><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><!--TOC paragraph Node <TT>config/access</TT>-->
+
+<H5> Node <TT>config/access</TT></H5><!--SEC END -->
+Via <TT>jabber:x:data</TT> queries to this node possible edit access rules.
+<B>Not work yet</B>.<BR>
+<BR>
+<!--TOC paragraph Node <TT>config/remusers</TT>-->
+
+<H5> Node <TT>config/remusers</TT></H5><!--SEC END -->
+Via <TT>jabber:x:data</TT> queries to this node possible to remove users. If
+removed user is online, then he will be disconnected. Also user-related data
+(e.g. his roster) is removed (but appropriate module must be loaded).<BR>
+<BR>
+<!--TOC subsubsection Node <TT>online users</TT>: List of Online Users-->
+
+<H4>3.2.2&nbsp;&nbsp; Node <TT>online users</TT>: List of Online Users</H4><!--SEC END -->
+<!--TOC subsubsection Node <TT>all users</TT>: List of Connected User-->
+
+<H4>3.2.3&nbsp;&nbsp; Node <TT>all users</TT>: List of Connected User</H4><!--SEC END -->
+<!--TOC subsubsection Node <TT>outgoing s2s</TT>: List of Outgoing S2S connections-->
+
+<H4>3.2.4&nbsp;&nbsp; Node <TT>outgoing s2s</TT>: List of Outgoing S2S connections</H4><!--SEC END -->
+<!--TOC subsubsection Node <TT>running nodes</TT>: List of Running <TT>ejabberd</TT> Nodes-->
+
+<H4>3.2.5&nbsp;&nbsp; Node <TT>running nodes</TT>: List of Running <TT>ejabberd</TT> Nodes</H4><!--SEC END -->
+<!--TOC subsubsection Node <TT>stopped nodes</TT>: List of Stopped Nodes-->
+
+<H4>3.2.6&nbsp;&nbsp; Node <TT>stopped nodes</TT>: List of Stopped Nodes</H4><!--SEC END -->
TBD<BR>
<BR>
<!--TOC section Distribution-->
diff --git a/doc/guide.tex b/doc/guide.tex
index 7f516a8e2..da22aca77 100644
--- a/doc/guide.tex
+++ b/doc/guide.tex
@@ -6,7 +6,12 @@
\newcommand{\imgscale}{0.7}
-
+\newcommand{\insimg}[1]{
+ \imgsrc{#1}{}
+ \begin{latexonly}
+ \scalebox{\imgscale}{\includegraphics{#1}}
+ \end{latexonly}
+}
\newcommand{\ns}[1]{\texttt{#1}}
\newcommand{\ejabberd}{\texttt{ejabberd}}
@@ -30,17 +35,14 @@
\author{Alexey Shchepin \\
\ahrefurl{mailto:alexey@sevcom.net} \\
\ahrefurl{xmpp:aleksey@jabber.ru}}
-\date{January 29, 2003}
+\date{February 3, 2003}
\begin{document}
\begin{titlepage}
\maketitle{}
{\centering
- \imgsrc{logo.png}{}
- \begin{latexonly}
- \scalebox{\imgscale}{\includegraphics{logo.png}}
- \end{latexonly}
+ \insimg{logo.png}
\par
}
\end{titlepage}
@@ -54,7 +56,23 @@
\ejabberd{} is a Free and Open Source distributed fault-tolerant \Jabber{}
server. It writen mostly in Erlang.
-TBD
+Main features of ejabberd is:
+\begin{itemize}
+\item Distribution. You can run ejaberd on cluster of machines and all them
+ will serve one Jabber domain.
+\item Fault-tolerance. You can setup ejabberd cluster in such way, that all
+ information required for properly working will be stored permanently on more
+ then one machine, so if one of them crashed, then all other ones continue
+ working without any pauses. Also you can replace or add more machines ``on
+ the fly''.
+\item Support of \footahref{http://www.jabber.org/jeps/jep-0030.html}{JEP-0030}
+ (Service Discovery).
+\item Support of \footahref{http://www.jabber.org/jeps/jep-0039.html}{JEP-0039}
+ (Statistics Gathering).
+\item Support of \ns{xml:lang} attribute in many XML elements.
+\item JUD based on users vCards.
+\end{itemize}
+
@@ -158,8 +176,8 @@ serves. E.\,g.\ to use \texttt{jabber.org} domain add following line in config:
\subsubsection{Access Rules}
\label{sec:configaccess}
-Access control in \ejabberd{} is done via Access Control Lists (ACL). In
-config file they looks like this:
+Access control in \ejabberd{} is done via Access Control Lists (ACL).
+Declaration of ACL in config file have following syntax:
\begin{verbatim}
{acl, <aclname>, {<acltype>, ...}}.
\end{verbatim}
@@ -245,7 +263,7 @@ Allowing or denying of different services is like this:
\end{verbatim}
When JID is checked to have access to \texttt{<accessname>}, server
sequentially checks if this JID in one of the ACLs that are second elements in
-eache tuple in list. If one of them matched, then returned first element of
+each tuple in list. If one of them matched, then returned first element of
matched tuple. Else returned ``\texttt{deny}''.
Example:
@@ -334,7 +352,7 @@ Example:
\end{verbatim}
-\subsection{Online Configuration}
+\subsection{Online Configuration and Monitoring}
\label{sec:onlineconfig}
To use facility of online reconfiguration of \ejabberd{} needed to have
@@ -346,6 +364,77 @@ xdata-capable client
developed synchronously with \ejabberd{}, its CVS version use most of
\ejabberd{} features).
+On disco query \ejabberd{} returns following items:
+\begin{itemize}
+\item Identity of server.
+\item List of features, including defined namespaces.
+\item List of JIDs from route table.
+\item List of disco-nodes described in following subsections.
+\end{itemize}
+
+
+\subsubsection{Node \texttt{config}: Global Configuration}
+
+Under this node exists following nodes:
+
+\paragraph{Node \texttt{config/hostname}}
+
+Via \ns{jabber:x:data} queries to this node possible to change host name of
+this \ejabberd{} server. (See figure~\ref{fig:hostname}) (Currently will work
+correctly only after restart)
+\begin{figure}[htbp]
+ \centering
+ [hostname editing window]
+ \caption{Editing of hostname}
+ \label{fig:hostname}
+\end{figure}
+
+
+\paragraph{Node \texttt{config/acls}}
+
+Via \ns{jabber:x:data} queries to this node possible edit ACLs list. (See
+figure~\ref{fig:acls})
+\begin{figure}[htbp]
+ \centering
+ [acls editing window]
+ \caption{Editing of ACLs}
+ \label{fig:acls}
+\end{figure}
+
+
+\paragraph{Node \texttt{config/access}}
+
+Via \ns{jabber:x:data} queries to this node possible edit access rules.
+\textbf{Not work yet}.
+
+\paragraph{Node \texttt{config/remusers}}
+
+Via \ns{jabber:x:data} queries to this node possible to remove users. If
+removed user is online, then he will be disconnected. Also user-related data
+(e.g. his roster) is removed (but appropriate module must be loaded).
+
+
+
+
+\subsubsection{Node \texttt{online users}: List of Online Users}
+
+
+
+
+\subsubsection{Node \texttt{all users}: List of Connected User}
+
+\subsubsection{Node \texttt{outgoing s2s}: List of Outgoing S2S connections}
+
+\subsubsection{Node \texttt{running nodes}: List of Running \ejabberd{} Nodes}
+
+\subsubsection{Node \texttt{stopped nodes}: List of Stopped Nodes}
+
+
+
+
+
+
+
TBD
\section{Distribution}