diff mod_delegation/README.markdown @ 4709:679f1834dbdb

mod_delegation: update to XEP-0355 v0.5 - namespace bump to "urn:xmpp:delegation:2" - disco remaining infos now uses the XEP defined "urn:xmpp:delegation:2:bare:disco#info:*" namespace - complemeted disco remaining infos implementation for requests made on nodes not already managed by the server - bare JID disco items now uses the XEP defined "urn:xmpp:delegation:2:bare:disco#items:*'" namespace
author Goffi <goffi@goffi.org>
date Fri, 15 Oct 2021 15:10:36 +0200
parents ea6b5321db50
children
line wrap: on
line diff
--- a/mod_delegation/README.markdown	Fri Oct 15 11:30:44 2021 +0200
+++ b/mod_delegation/README.markdown	Fri Oct 15 15:10:36 2021 +0200
@@ -7,25 +7,24 @@
 Introduction
 ============
 
-Namespace Delegation is an extension which allows server to delegate
-some features handling to an entity/component. Typical use case is an
-external PEP service, but it can be used more generally when your
-preferred server lack one internal feature and you found an external
-component which can do it.
+Namespace Delegation is an extension which allows server to delegate some
+features handling to an entity/component. Typical use case is an external PEP
+service, but it can be used more generally when your preferred server lack one
+internal feature, and you found an external component which can do it.
 
 Details
 =======
 
 You can have all the details by reading the
-[XEP-0355](http://xmpp.org/extensions/xep-0355.html). Only the admin
-mode is implemented so far.
+[XEP-0355](http://xmpp.org/extensions/xep-0355.html). Only the admin mode is
+implemented so far.
 
 Usage
 =====
 
-To use the module, like usual add **"delegation"** to your
-modules\_enabled. Note that if you use it with a local component, you
-also need to activate the module in your component section:
+To use the module, like usual add **"delegation"** to your *modules\_enabled*.
+Note that if you use it with a local component, you also need to activate the
+module in your component section:
 
     modules_enabled = {
             [...]
@@ -44,47 +43,57 @@
     VirtualHost "yourdomain.tld"
 
         delegations = {
-            ["urn:xmpp:mam:0"] = {
+            ["urn:xmpp:mam:2"] = {
                 filtering = {"node"};
                 jid = "pubsub.yourdomain.tld";
             },
             ["http://jabber.org/protocol/pubsub"] = {
                 jid = "pubsub.yourdomain.tld";
             },
+            ["http://jabber.org/protocol/pubsub#owner"] = {
+                jid = "pubsub.yourdomain.tld";
+            },
+            ["urn:xmpp:delegation:2:bare:disco#info:*"] = {
+                jid = "pubsub.yourdomain.tld";
+            },
+            ["urn:xmpp:delegation:2:bare:disco#items:*"] = {
+                jid = "pubsub.yourdomain.tld";
+            },
+
         }
 
-Here all MAM requests with a "node" attribute (i.e. all MAM pubsub
-request) will be delegated to pubsub.yourdomain.tld. Similarly, all
-pubsub request to the host (i.e. the PEP requests) will be delegated to
-pubsub.yourdomain.tld.
+Here all MAM requests with a "node" attribute (i.e. all MAM pubsub request) will
+be delegated to pubsub.yourdomain.tld. Similarly, all pubsub request to the host
+(i.e. the PEP requests) will be delegated to pubsub.yourdomain.tld. Check the
+XEP for the meaning of "urn:xmpp:delegation:2:bare:disco#info:*" and
+"urn:xmpp:delegation:2:bare:disco#items:*".
 
-**/!\ Be extra careful when you give a delegation to an entity/component,
-it's a powerful access, only do it if you absoly trust the
-component/entity, and you know where the software is coming from**
+**/!\ Be extra careful when you give a delegation to an entity/component, it's a
+powerful access, only do it if you absolutely trust the component/entity, and
+you know where the software is coming from**
 
 Configuration
 =============
 
 The configuration is done with a table which map delegated namespace to
 namespace data. Namespace data MUST have a **jid** (in the form **jid =
-"delegated@domain.tld"**) and MAY have an additional **filtering**
-array. If filtering is present, request with attributes in the array
-will be delegated, other will be treated normally (i.e. by Prosody).
+"delegated@domain.tld"**) and MAY have an additional **filtering** array. If
+filtering is present, request with attributes in the array will be delegated,
+others will be treated normally (i.e. by Prosody).
 
-If your are not a developper, the delegated namespace(s)/attribute(s)
-are most probably specified with the external component/entity you want
-to use.
+If you are not a developer, the delegated namespace(s)/attribute(s) are most
+probably specified with the external component/entity you want to use.
 
-The pseudo-namespace `http://jabber.org/protocol/disco#items:*` is used
-to delegate remaining disco#items (i.e. items nodes not already handled
-by Prosody itself).
+The pseudo-namespace `http://jabber.org/protocol/disco#items:*` is used to
+delegate remaining disco#items (i.e. items nodes not already handled by Prosody
+itself).
 
 Compatibility
 =============
 
 If you use it with Prosody 0.9 and a component, you need to patch
-core/mod\_component.lua to fire a new signal. To do it, copy the
-following patch in a, for example, /tmp/component.patch file:
+core/mod\_component.lua to fire a new signal. To do it, copy the following patch
+in a, for example, /tmp/component.patch file:
 
     diff --git a/plugins/mod_component.lua b/plugins/mod_component.lua
     --- a/plugins/mod_component.lua
@@ -103,6 +112,7 @@
 `patch -p1 < /tmp/component.patch`
 
   ----- ----------------------------------------------------
+  0.11  Works
   0.10  Works
   0.9   Need a patched core/mod\_component.lua (see above)
   ----- ----------------------------------------------------
@@ -110,5 +120,4 @@
 Note
 ====
 
-This module is often used with mod\_privilege (c.f. XEP for more
-details)
+This module is often used with mod\_privilege (c.f. XEP for more details)