diff --git a/docs/source/changes.rst b/docs/source/changes.rst index e43ddb92a..ead22a2dd 100644 --- a/docs/source/changes.rst +++ b/docs/source/changes.rst @@ -5,6 +5,36 @@ Changes ======= +.. _release_2.0_rc.3: + +---------------- +Version 2.0-rc.3 +---------------- + +*Release Date: 2016-11-01* + +1. Change the three modules(Presence, Retainer, Subscription) to standalone plugins: + ++----------------------------+--------------------------------------------+ +| `emq_mod_retainer`_ | Retained Message Storage | ++----------------------------+--------------------------------------------+ +| `emq_mod_presence`_ | Publish presence message to $SYS topics | +| | when client connected or disconnected | ++----------------------------+--------------------------------------------+ +| `emq_mod_subscription`_ | Subscribe topics automatically when client | +| | connected | ++----------------------------+--------------------------------------------+ + +2. Update the SSL certificates under the etc/certs/ folder. + +3. Bugfix: Fixed a typo (#716) + +4. Bugfix: emqttd_http can not use emq_auth_http? #739 + +5. Bugfix: emq_auth_redis cannot use hostname as server address (#741) + +6. Upgrade Redis, MySQL, Postgre and MongoDB plugins to support hostname. + .. _release_2.0_rc.2: ---------------- @@ -1697,3 +1727,13 @@ Version 0.1.0 The first public release. +.. _erlang.mk_: https://erlang.mk +.. _relx_: https://github.com/erlware/relx +.. _emqttd_: https://github.com/emqtt/emqttd +.. _emqttd_relx: https://github.com/emqtt/emqttd-relx +.. _emqttd_sn: http://github.com/emqtt/emqttd_sn + +.. _emq_mod_retainer: https://github.com/emqtt/emq_mod_retainer +.. _emq_mod_presence: https://github.com/emqtt/emq_mod_presence +.. _emq_mod_subscription: https://github.com/emqtt/emq_mod_subscription + diff --git a/docs/source/config.rst b/docs/source/config.rst index d623ef0bc..e6f786812 100644 --- a/docs/source/config.rst +++ b/docs/source/config.rst @@ -378,55 +378,6 @@ Plugins' Etc Folder ## File to store loaded plugin names. mqtt.plugins.loaded_file = data/loaded_plugins ----------------- -Extended Modules ----------------- - -Enable `Retainer` Module ------------------------- - -.. code-block:: properties - - ## Enable retainer module - mqtt.module.retainer = on - - ## disc: disc_copies, ram: ram_copies - mqtt.module.retainer.storage_type = ram - - ## Max number of retained messages - mqtt.module.retainer.max_message_num = 100000 - - ## Max Payload Size of retained message - mqtt.module.retainer.max_payload_size = 64KB - - ## Expired after seconds, never expired if 0 - mqtt.module.retainer.expired_after = 0 - -Enable `Presence` Module ------------------------- - -`Presence` module will publish presence message to $SYS topic when a client connected or disconnected: - -.. code-block:: properties - - ## Enable presence module - ## Publish presence messages when client connected or disconnected. - mqtt.module.presence = on - - mqtt.module.presence.qos = 0 - -Enable `Subscription` Module ----------------------------- - -`Subscription` module forces the client to subscribe some topics when connected to the broker: - -.. code-block:: properties - - # Enable subscription module - mqtt.module.subscription = on - - mqtt.module.subscription.topics = $client/%c=1,$user/%u=1 - -------------- MQTT Listeners -------------- @@ -575,6 +526,14 @@ Plugin Configuration Files +----------------------------------------+-----------------------------------+ | etc/plugins/emq_coap.conf | CoAP Protocol Plugin Config | +----------------------------------------+-----------------------------------+ +| etc/plugins/emq_mod_presence.conf | Presence Module Config | ++----------------------------------------+-----------------------------------+ +| etc/plugins/emq_mod_retainer.conf | Retainer Module Config | ++----------------------------------------+-----------------------------------+ +| etc/plugins/emq_mod_rewrite.config | Rewrite Module Config | ++----------------------------------------+-----------------------------------+ +| etc/plugins/emq_mod_subscription.conf | Subscription Module Config | ++----------------------------------------+-----------------------------------+ | etc/plugins/emq_dashboard.conf | Dashboard Plugin Config | +----------------------------------------+-----------------------------------+ | etc/plugins/emq_plugin_template.conf | Template Plugin Config | diff --git a/docs/source/getstarted.rst b/docs/source/getstarted.rst index 5b364b658..900bbb941 100644 --- a/docs/source/getstarted.rst +++ b/docs/source/getstarted.rst @@ -109,47 +109,11 @@ The Dashboard helps check running status of the broker, monitor statistics and m .. image:: ./_static/images/dashboard.png -------------------- -Modules and Plugins -------------------- - -The *EMQ* broker could be extended by Modules ofr Plugins. - -Modules ------- - -+-------------------------+--------------------------------------------+ -| emqttd_mod_retainer | Retained Messages Storage | -+-------------------------+--------------------------------------------+ -| emqttd_mod_presence | Publish presence message to $SYS topics | -| | when client connected or disconnected | -+-------------------------+--------------------------------------------+ -| emqttd_mod_subscription | Subscribe topics automatically when client | -| | connected | -+-------------------------+--------------------------------------------+ - -Modules could enabled by configuring 'etc/emq.conf': - -.. code-block:: properties - - ##------------------------------------------------------------------- - ## MQTT Modules - ##------------------------------------------------------------------- - - ## Enable presence module - mqtt.module.presence = on - - mqtt.module.presence.qos = 0 - - ## Enable subscription module - mqtt.module.subscription = on - - mqtt.module.subscription.topics = $client/%c=1,$user/%u=1 - Plugins ------- -A plugin is an Erlang application to extend the *EMQ* broker. +The *EMQ* broker could be extended by Plugins. A plugin is an Erlang application to extend the *EMQ* broker: +-------------------------+--------------------------------------------+ | `emq_auth_clientid`_ | Authentication with ClientId | @@ -172,6 +136,12 @@ A plugin is an Erlang application to extend the *EMQ* broker. +-------------------------+--------------------------------------------+ | `emq_mod_rewrite`_ | Topics rewrite like HTTP rewrite module | +-------------------------+--------------------------------------------+ +| `emq_mod_retainer`_ | Retainer Module | ++-------------------------+--------------------------------------------+ +| `emq_mod_presence`_ | Presence Module | ++-------------------------+--------------------------------------------+ +| `emq_mod_subscription`_ | Subscription Module | ++-------------------------+--------------------------------------------+ | `emq_mod_mongo`_ | Authentication with MongoDB | +-------------------------+--------------------------------------------+ | `emq_sn`_ | MQTT-SN Protocol Plugin | @@ -303,4 +273,7 @@ MQTT.org: https://github.com/mqtt/mqtt.github.io/wiki/libraries .. _emq_recon: https://github.com/emqtt/emq_recon .. _emq_sn: https://github.com/emqtt/emq_sn .. _emq_coap: https://github.com/emqtt/emq_coap +.. _emq_mod_retainer: https://github.com/emqtt/emq_mod_retainer +.. _emq_mod_presence: https://github.com/emqtt/emq_mod_presence +.. _emq_mod_subscription: https://github.com/emqtt/emq_mod_subscription diff --git a/docs/source/plugins.rst b/docs/source/plugins.rst index 58bdfd469..183446ea5 100644 --- a/docs/source/plugins.rst +++ b/docs/source/plugins.rst @@ -30,7 +30,13 @@ The plugins that *EMQ* 2.0-rc.2 released: +------------------------+-------------------------------+ | `emq_auth_mongo`_ | MongoDB Auth/ACL Plugin | +------------------------+-------------------------------+ -| `emq_mod_rewrite`_ | Topic Rewrite Plugin | +| `emq_mod_presence`_ | Presence Module | ++------------------------+-------------------------------+ +| `emq_mod_retainer`_ | Retainer Module | ++------------------------+-------------------------------+ +| `emq_mod_rewrite`_ | Topic Rewrite Module | ++------------------------+-------------------------------+ +| `emq_mod_subscription`_| Subscription Module | +------------------------+-------------------------------+ | `emq_coap`_ | CoAP Protocol Plugin | +------------------------+-------------------------------+ @@ -610,16 +616,118 @@ Load MongoDB Auth/ACL Plugin ./bin/emqttd_ctl plugins load emq_auth_mongo +---------------------------------- +emq_mod_presence - Presence Module +---------------------------------- + +`Presence` module will publish presence message to $SYS topic when a client connected or disconnected: + +.. NOTE:: Released in 2.0-rc.3: https://github.com/emqtt/emq_mod_presence + +Configure Presence Module +------------------------- + +etc/plugins/emq_mod_presence.conf: + +.. code-block:: properties + + ## Enable presence module + ## Values: on | off + module.presence = on + + module.presence.qos = 0 + +Load Presence Module +-------------------- + +.. NOTE:: This module will be loaded by default. + +.. code:: bash + + ./bin/emqttd_ctl plugins load emq_mod_presence + +---------------------------------- +emq_mod_retainer - Retainer Module +---------------------------------- + +`Retainer` module is responsbile for storing MQTT retained messages. + +.. NOTE:: Released in 2.0-rc.3: https://github.com/emqtt/emq_mod_retainer + +Configure Retainer Module +------------------------- + +etc/plugins/emq_mod_retainer.conf: + +.. code-block:: properties + + ## disc: disc_copies, ram: ram_copies + module.retainer.storage_type = ram + + ## Max number of retained messages + module.retainer.max_message_num = 100000 + + ## Max Payload Size of retained message + module.retainer.max_payload_size = 64KB + + ## Expired after seconds, never expired if 0 + module.retainer.expired_after = 0 + +Load Retainer Module +-------------------- + +.. NOTE:: This module will be loaded by default. + +.. code:: bash + + ./bin/emqttd_ctl plugins load emq_mod_retainer + +------------------------------------------ +emq_mod_subscription - Subscription Module +------------------------------------------ + +`Subscription` module forces the client to subscribe some topics when connected to the broker: + +.. NOTE:: Released in 2.0-rc.3: https://github.com/emqtt/emq_mod_subscription + +Configure Subscription Module +----------------------------- + +etc/plugins/emq_mod_subscription.conf: + +.. code-block:: properties + + ## Subscribe the Topics automatically when client connected + module.subscription.1.topic = $client/%c + ## Qos of the subscription: 0 | 1 | 2 + module.subscription.1.qos = 1 + + ##module.subscription.2.topic = $user/%u + ##module.subscription.2.qos = 1 + + ## Load static subscriptions from backend storage + ## Values: on | off + module.subscription.backend = on + +Load Subscription Module +------------------------ + +.. NOTE:: This module will be loaded by default. + +.. code:: bash + + ./bin/emqttd_ctl plugins load emq_mod_subscription + -------------------------------------- -emq_mod_rewrite - Topic Rewrite Plugin +emq_mod_rewrite - Topic Rewrite Module -------------------------------------- Released in 2.0-rc.2: https://github.com/emqtt/emq_mod_rewrite -Configure Rewrite Plugin +Configure Rewrite Module ------------------------ -etc/plugins/emq_mod_rewrite.conf: +etc/plugins/emq_mod_rewrite.config: .. code-block:: erlang @@ -636,7 +744,7 @@ etc/plugins/emq_mod_rewrite.conf: ]} ]. -Load Rewrite Plugin +Load Rewrite Module ------------------- .. code:: bash @@ -1052,3 +1160,6 @@ Build and Release the Plugin .. _emq_plugin_template: https://github.com/emqtt/emq_plugin_template .. _recon: http://ferd.github.io/recon/ +.. _emq_mod_retainer: https://github.com/emqtt/emq_mod_retainer +.. _emq_mod_presence: https://github.com/emqtt/emq_mod_presence +.. _emq_mod_subscription: https://github.com/emqtt/emq_mod_subscription