misterion / ejabberd-contrib

ejabberd contributions - Not maintained or reviewed by ProcessOne

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.txt file to see if special steps are required to deploy it.

  • Run ./build.sh or build.bat in the root directory of the desired module.

  • Copy generated .beam files from the ebin directory to the directory where your ejabberd .beam files are.

  • Use the configuration file examples provided in the conf dir to update your ejabberd.cfg or ejabberd.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

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-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).

About

ejabberd contributions - Not maintained or reviewed by ProcessOne