* processone/pr/3666:
PubSub: Add delete_old_pubsub_items command
PubSub: Optimize publishing on large nodes (SQL)
PubSub: Support unlimited number of items
PubSub: Support 'max_items=max' node configuration
Add a command for keeping only the specified number of items on each
node and removing all older items. This might be especially useful if
nodes may be configured to have no 'max_items' limit.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
Avoid an unnecessary SQL query while publishing an item on a PubSub node
without 'max_items' limit. The query in question can be expensive if
the node has a large number of items.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
Allow for setting the mod_pubsub option 'max_items_node' to 'unlimited'.
If clients then request a 'max_items' limit of 'max', old items aren't
deleted when publishing new ones.
Thanks to Ammonit Measurement GmbH for sponsoring this work.
Let clients request the maximum limit for the node configuration option
'max_items' by specifying the special value 'max' instead of an integer.
This was added to XEP-0060, revision 1.17.0 (and clarified in revision
1.20.0).
Thanks to Ammonit Measurement GmbH for sponsoring this work.
Problems:
- That workaround required running "make" twice
- CEAN (used to build installers) doesn't support that make && make
- Support for Elixir in rebar3 doesn't yet exist
- Preferable path for Elixir usage: install Elixir and use --with-rebar=mix
If clients don't ask for a specific 'max_items' limit, use the value of
mod_pubsub's 'max_items_node' option as default, rather than the
hard-coded ?MAXITEMS value. This makes sure clients cannot circumvent a
smaller, configured limit.
Bump the default value for mod_pubsub's 'max_items_node' option, which
hard-limits the 'max_items' value requested by clients.
These days, use cases such as microblogging or XEP-0402 may need a large
number of items per node. Bumping the limit makes sure such
functionality is properly supported with the default configuration.
Notice that Elixir 1.12.0 requires Erlang/OTP 21 or higher
BTW, this workaround works only with rebar2... unfortunately
rebar3 doesn't compile the elixir files from lib/