This updates mod_cron to have much more unix-cron like behavior. The old version would start an interval timer whenever ejabberd started, which isn't a particularly useful starting point (I don't care for my regular activities to be based on when the server was last booted). This version allows two types of entries: timers based on an interval, e.g. every 10 seconds (which would start on the minute, so occur at 00:00s, 00:10s, 00:20s etc) and fixed timers occuring once per parent-interval. e.g. a fixed 10s timer would occur at 00:10s, 01:10s etc. (ie its a one minute interval happening 10seconds after every minute).
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.txtfile to see if special steps are required to deploy it. -
Run
./build.shorbuild.batin the root directory of the desired module. -
Copy generated
.beamfiles from theebindirectory to the directory where your ejabberd.beamfiles are. -
Use the configuration file examples provided in the
confdir to update yourejabberd.cfgorejabberd.ymlconfiguration 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-devhelper 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.txtfile whether the module has requirements or known incompatibilities with other modules (for example, by modifying the same main ejabberd modules).