d73b648cf3
* http-upload: mod_http_upload: Use application/octet-stream instead of text/html for security reasons mod_http_upload: Add note regarding "get_url" mod_http_upload: Use full PUT URL for process name mod_http_upload: Rename variable for clarity mod_http_upload: Fix logging of file size mismatch mod_http_upload: Return error atoms, not strings mod_http_upload: Log message if URL looks wrong mod_http_upload_quota: Don't track all users mod_http_upload: Make case indentation consistent mod_http_upload: Apply cosmetic changes mod_http_upload: Don't flatten command strings mod_http_upload: Don't let identify/1 return error mod_http_upload_quota: Omit info message mod_http_upload: Don't complain during shutdown mod_http_upload: Use binary strings in most places mod_http_upload: Check availability of ImageMagick mod_http_upload: Suppress error on non-image files mod_http_upload: Fix string()/binary() type issue mod_http_upload: Add/fix function specifications mod_http_upload: Strip newline from command output mod_http_upload: Support thumbnail generation |
||
---|---|---|
atom_pubsub | ||
ejabberd_auth_http | ||
extra | ||
ircd | ||
mod_archive | ||
mod_cron | ||
mod_http_upload | ||
mod_log_chat | ||
mod_logsession | ||
mod_logxml | ||
mod_mam_mnesia | ||
mod_message_log | ||
mod_muc_log_http | ||
mod_openid | ||
mod_post_log | ||
mod_profile | ||
mod_rest | ||
mod_s2s_log | ||
mod_shcommands | ||
mod_statsdx | ||
mod_webpresence | ||
.gitignore | ||
README-broken.md | ||
README.md |
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 ejabberd installed.
-
If you have not already done it, run
ejabberdctl modules_update_specs
to retrieve the list of available modules. -
Run
ejabberdctl module_install <module>
to get the source code and to compile and install thebeam
file into ejabberd's module search path. This path is either~/.ejabberd-modules
or defined by theCONTRIB_MODULES_PATH
setting inejabberdctl.cfg
. -
Edit the configuration file provided in the
conf
directory of the installed module and update it to your needs. Then apply the changes to your main ejabberd configuration. In a future release, ejabberd will automatically add this file to its runtime configuration without changes. -
Run
ejabberdctl module_uninstall <module>
to remove a module from ejabberd.
For developers
The following organization has been set up for the development:
-
Development and compilation of modules is done by ejabberd. You need ejabberd installed. Use
ejabberdctl module_check <module>
to ensure it compiles correctly before committing your work. The sources of your module must be located in$CONTRIB_MODULES_PATH/sources/<module>
. -
Compilation can by done manually (if you know what you are doing) so you don't need ejabberd running:
cd /path/of/module mkdir ebin /path/of/ejabberd's/erlc \ -o ebin \ -I include -I /path/of/ejabberd/lib/ejabberd-XX.YY/include \ -DLAGER -DNO_EXT_LIB \ src/*erl
-
The module directory structure is usually the following:
README.txt
: Module description.COPYING
: License for the module.doc/
: Documentation directory.src/
: Erlang source directory.lib/
: Elixir source directory.priv/msgs/
: Directory with translation files (pot, po and msg).conf/<module>.yml
: Configuration for your module.<module>.spec
: Yaml description file for your module.
-
Module developers should note in the
README.txt
file whether the module has requirements or known incompatibilities with other modules.