This is a collaborative development area for ejabberd module developers and users.
To use an ejabberd module coming from this repository:
-
You need to have Erlang installed.
-
Read the module-specific
README.txt
file to see if special steps are required to deploy it. -
Run
./build.sh
orbuild.bat
in the root directory of the desired module. -
Copy generated
.beam
files from theebin
directory to the directory where your ejabberd.beam
files are. -
Use the configuration file examples provided in the
conf
dir to update yourejabberd.cfg
orejabberd.yml
configuration file.
If during compilation of a module you get an error like:
{"init terminating in do_boot",{undef,[{make,all,[]},...
it means Erlang couldn't find its make.beam
file. In Debian and other
distributions you can try to install packages like:
erlang-dev erlang-nox erlang-tools
The following organization has been set up for the development:
-
Development and compilation of modules should be possible without the ejabberd source code, as the
ejabberd-dev
helper module contains the include files necessary to make compilation possible. -
The module directory structure is usually the following:
README.txt
: Module description.LICENSE.txt
: License for the module.Emakefile
: Erlang Makefile to build the module (preferred way, if no dependencies on C code, as build will thus work on Windows).doc/
: Documentation directory.src/
: Source directory.src/msgs/
: Directory with translation files (pot, po and msg).ebin/
: Empty (target directory for the build).conf/
: Directory containing example configuration for your module.build.sh
: Unix/Linux build script.build.bat
: Windows build script.
-
Module developers should note in the
README.txt
file whether the module has requirements or known incompatibilities with other modules (for example, by modifying the same main ejabberd modules).