Don't store messages of type "error", even if it has a <store/> hint.
ejabberd-contrib
This is a collaborative development area for ejabberd module developers and users.
For users
To use an ejabberd module coming from this repository:
-
You need to have Erlang installed.
-
Read the module-specific
README.txtfile to see if special steps are required to deploy it. -
Run
./build.shorbuild.batin the root directory of the desired module. -
Copy generated
.beamfiles from theebindirectory to the directory where your ejabberd.beamfiles are. -
Use the configuration file examples provided in the
confdir to update yourejabberd.cfgorejabberd.ymlconfiguration 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
For developers
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-devhelper 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.txtfile whether the module has requirements or known incompatibilities with other modules (for example, by modifying the same main ejabberd modules).