62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
|
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).
|