Growing and curated ejabberd contributions repository - PR or ask to join !
Go to file
Mickaël Rémond 0b88690212 Support for using and external HTTP API for authentication 2015-02-19 11:54:49 +01:00
atom_pubsub Document the five contributions that don't work with ejabberd 13 or newer 2015-02-06 12:54:49 +01:00
ejabberd-dev upgrade gen_mod to latest version 2015-02-19 10:52:15 +01:00
ejabberd_auth_http Support for using and external HTTP API for authentication 2015-02-19 11:54:49 +01:00
ircd Document the five contributions that don't work with ejabberd 13 or newer 2015-02-06 12:54:49 +01:00
mod_admin_extra Merge pull request #71 from gardenia/master 2015-02-18 17:02:16 +01:00
mod_archive Document the five contributions that don't work with ejabberd 13 or newer 2015-02-06 12:54:49 +01:00
mod_cron Fix README documentation for arguments 2015-02-11 16:23:39 -08:00
mod_log_chat Merge pull request #38 from weiss/update-build-bat 2014-05-29 11:29:44 +02:00
mod_logsession Update mod_logsession to work with ejabberd master branch #41 2014-06-23 13:54:40 +02:00
mod_logxml fix show_ip option 2015-02-18 00:21:13 +09:00
mod_mam mod_mam: Apply small indentation fixes 2015-02-17 23:32:46 +01:00
mod_message_log mod_message_log: Add function specifications 2015-01-04 19:29:54 +01:00
mod_muc_admin Fix "ejabberdctl muc_online_rooms global" 2014-08-19 14:40:10 +02:00
mod_muc_log_http Update mod_muc_log_http to work with ejabberd git master 2015-02-02 13:07:12 +01:00
mod_multicast Update multicast code to binarization and ejabberd 14.07 2014-11-12 17:52:08 +01:00
mod_openid Document the five contributions that don't work with ejabberd 13 or newer 2015-02-06 12:54:49 +01:00
mod_profile Document the five contributions that don't work with ejabberd 13 or newer 2015-02-06 12:54:49 +01:00
mod_rest Update erl(1) command line in build.bat files 2014-05-28 22:16:55 +02:00
mod_s2s_log Update erl(1) command line in build.bat files 2014-05-28 22:16:55 +02:00
mod_shcommands Update mod_shcommands to work with ejabberd git master 2015-02-02 17:36:34 +01:00
mod_statsdx mod_statsdx: Fix type issue when parsing xml:lang 2015-02-17 22:46:38 +01:00
mod_webpresence mod_webpresence: Support @HOST@ in 'baseurl' value 2014-09-14 22:45:05 +02:00
.gitignore Ignore .beam files 2014-03-14 11:47:54 -05:00
README-broken.md Add list of broken module 2015-02-11 16:21:43 +01:00
README.md Convert README to Markdown 2014-05-27 21:22:42 +02:00
extract-mod-translations.sh Initial import from ejabberd-modules SVN 2013-04-15 12:03:14 +02:00

README.md

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