Holger Weiss d73b648cf3 Merge branch 'http-upload'
* 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
2016-01-12 00:05:05 +01:00
2015-04-29 12:59:44 +02:00
2015-03-13 11:13:21 +01:00
2014-03-14 11:47:54 -05:00

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 the beam file into ejabberd's module search path. This path is either ~/.ejabberd-modules or defined by the CONTRIB_MODULES_PATH setting in ejabberdctl.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.

Description
Growing and curated ejabberd contributions repository - PR or ask to join !
Readme 8.3 MiB
Languages
Erlang 98.7%
Ruby 0.9%
Elixir 0.2%
TSQL 0.2%