re-add repo README.md

This commit is contained in:
Tom Quackenbush 2016-08-02 20:41:19 +00:00
parent 9359ce3b75
commit 06c96ad778
1 changed files with 66 additions and 0 deletions

66
README.md Normal file
View File

@ -0,0 +1,66 @@
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.