pubsubclient: 41607b0a3b4b1a8400a0886b6a8f4a7fd4deb1d9
1: This document exists to keep track of which parts of XEP-0060
2: pubsubclient implements. This is useful for developers wanting to know
3: which bits work, and for contributors wanting to know which areas need
4: improving.
5:
6: The format is as follows:
7:
8: Section number. Section name: Pubsubclient support
9:
10: Current spec at time of writing: 1.12 (2008-09-03)
11:
12: ------------------------------------------------------------------------
13:
14: 1. Introduction:
15: 1.1. Overview:
16: 1.2. How It Works:
17:
18: 2. Glossary:
19:
20: 3. Requirements:
21:
22: 4. Preliminaries:
23: 4.1. Affiliations:
24: 4.2. Subscription States:
25: 4.3. Event Types:
26: 4.4. Node Types:
27: 4.5. Node Access Models:
28: 4.6. Addressing:
29: 4.6.1. JID:
30: 4.6.2. JID+NodeID:
31:
32: 5. Entity Use Cases:
33: 5.1. Discover Features: NO HANDLER
34: 5.2. Discover Nodes: Implemented as pubsubclient.get_nodes
35: 5.3. Discover Node Information: Implemented as pubsubclient.
36: 5.4. Discover Node Meta-Data: Implemented as pubsubclient.
37: 5.5. Discover Items for a Node: Implemented as Node.get_items
38: 5.6. Retrieve Subscriptions: Implemented as pubsubclient.retrieve_subscriptions
39: 5.7. Retrieve Affiliations: NO HANDLER
40:
41: 6. Subscriber Use Cases:
42: 6.1. Subscribe to a Node: Implemented in Node.subscribe and pubsubclient.subscribe
43: 6.1.1. Request: Node.subscribe and pubsubclient.subscribe
44: 6.1.2. Success Case: NO HANDLER
45: 6.1.3. Error Cases: NO HANDLER
46: 6.1.3.1. JIDs Do Not Match: NO HANDLER
47: 6.1.3.2. Presence Subscription Required: NO HANDLER
48: 6.1.3.3. Not in Roster Group: NO HANDLER
49: 6.1.3.4. Not on Whitelist: NO HANDLER
50: 6.1.3.5. Payment Required: NO HANDLER
51: 6.1.3.6. Anonymous Subscriptions Not Allowed: NO HANDLER
52: 6.1.3.7. Subscription Pending: NO HANDLER
53: 6.1.3.8. Blocked: NO HANDLER
54: 6.1.3.9. Subscriptions Not Supported: NO HANDLER
55: 6.1.3.10. Node Has Moved: NO HANDLER
56: 6.1.3.11. Node Does Not Exist: NO HANDLER
57: 6.1.4. Approval Required: NO HANDLER
58: 6.1.5. Configuration Required: NO HANDLER
59: 6.1.6. Multiple Subscriptions: NO HANDLER
60: 6.1.7. Receiving the Last Published Item: NO HANDLER
61: 6.2. Unsubscribe from a Node: Implemented in pubsubclient.unsubscribe
62: 6.2.1. Request: Implemented in pubsubclient.unsubscribe
63: 6.2.2. Success Case: NO HANDLER
64: 6.2.3. Error Cases: NO HANDLER
65: 6.2.3.1. No Subscription ID: NO HANDLER
66: 6.2.3.2. No Such Subscriber: NO HANDLER
67: 6.2.3.3. Insufficient Privileges: NO HANDLER
68: 6.2.3.4. Node Does Not Exist: NO HANDLER
69: 6.2.3.5. Bad Subscription ID: NO HANDLER
70: 6.3. Configure Subscription Options: NO HANDLER
71: 6.3.1. Advertising Support: NO HANDLER
72: 6.3.2. Request: NO HANDLER
73: 6.3.3. Success Case: NO HANDLER
74: 6.3.4. Error Cases: NO HANDLER
75: 6.3.4.1. Insufficient Privileges: NO HANDLER
76: 6.3.4.2. No Such Subscriber: NO HANDLER
77: 6.3.4.3. NodeID Required: NO HANDLER
78: 6.3.4.4. Subscription ID Required: NO HANDLER
79: 6.3.4.5. Invalid Subscription ID: NO HANDLER
80: 6.3.4.6. Subscription Options Not Supported: NO HANDLER
81: 6.3.4.7. Node Does Not Exist: NO HANDLER
82: 6.3.5. Form Submission: NO HANDLER
83: 6.3.6. Form Processing: NO HANDLER
84: 6.3.6.1. Success: NO HANDLER
85: 6.3.6.2. Failure: NO HANDLER
86: 6.3.7. Subscribe and Configure: NO HANDLER
87: 6.4. Retrieve Items from a Node: Implemented in Node.get_items and pubsubclient.request_items_generic
88: 6.4.1. Permissions: NO HANDLER
89: 6.4.2. Requesting All Items: NO HANDLER
90: 6.4.3. Returning All Items: NO HANDLER
91: 6.4.4. Returning Some Items: NO HANDLER
92: 6.4.5. Returning the Last Published Item: NO HANDLER
93: 6.4.6. Returning Notifications Only: NO HANDLER
94: 6.4.7. Requesting Some Items: NO HANDLER
95: 6.4.8. Error Cases: NO HANDLER
96: 6.4.8.1. Subscription ID Required: NO HANDLER
97: 6.4.8.2. Invalid Subscription ID: NO HANDLER
98: 6.4.8.3. Entity Not Subscribed: NO HANDLER
99: 6.4.8.4. Persistent Items Not Supported: NO HANDLER
100: 6.4.8.5. Item Retrieval Not Supported: NO HANDLER
101: 6.4.8.6. Presence Subscription Required: NO HANDLER
102: 6.4.8.7. Not in Roster Group: NO HANDLER
103: 6.4.8.8. Not on Whitelist: NO HANDLER
104: 6.4.8.9. Payment Required: NO HANDLER
105: 6.4.8.10. Blocked: NO HANDLER
106: 6.4.8.11. Node Does Not Exist: NO HANDLER
107:
108: 7. Publisher Use Cases:
109: 7.1. Publish an Item to a Node: NO HANDLER
110: 7.1.1. Request: NO HANDLER
111: 7.1.2. Success Case: NO HANDLER
112: 7.1.2.1. Notification With Payload: NO HANDLER
113: 7.1.2.2. Notification Without Payload: NO HANDLER
114: 7.1.2.3. Inclusion of Subscription ID: NO HANDLER
115: 7.1.3. Error Cases: NO HANDLER
116: 7.1.3.1. Insufficient Privileges: NO HANDLER
117: 7.1.3.2. Item Publication Not Supported: NO HANDLER
118: 7.1.3.3. Node Does Not Exist: NO HANDLER
119: 7.1.3.4. Payload Too Big: NO HANDLER
120: 7.1.3.5. Bad Payload: NO HANDLER
121: 7.1.3.6. Request Does Not Match Configuration: NO HANDLER
122: 7.1.4. Automatic Node Creation: NO HANDLER
123: 7.1.5. Publishing Options: NO HANDLER
124: 7.2. Delete an Item from a Node: NO HANDLER
125: 7.2.1. Request: NO HANDLER
126: 7.2.2. Success Case: NO HANDLER
127: 7.2.2.1. Delete And Notify: NO HANDLER
128: 7.2.2.2. Inclusion of Subscription ID: NO HANDLER
129: 7.2.3. Error Cases: NO HANDLER
130: 7.2.3.1. Insufficient Privileges: NO HANDLER
131: 7.2.3.2. Node Does Not Exist: NO HANDLER
132: 7.2.3.3. NodeID Required: NO HANDLER
133: 7.2.3.4. Item or ItemID Required: NO HANDLER
134: 7.2.3.5. Persistent Items Not Supported: NO HANDLER
135: 7.2.3.6. Item Deletion Not Supported: NO HANDLER
136:
137: 8. Owner Use Cases:
138: 8.1. Create a Node: NO HANDLER
139: 8.1.1. General Considerations: NO HANDLER
140: 8.1.2. Create a Node With Default Configuration: NO HANDLER
141: 8.1.3. Create and Configure a Node: NO HANDLER
142: 8.2. Configure a Node: NO HANDLER
143: 8.2.1. Request: NO HANDLER
144: 8.2.2. Success Case: NO HANDLER
145: 8.2.3. Error Cases: NO HANDLER
146: 8.2.3.1. Node Configuration Not Supported: NO HANDLER
147: 8.2.3.2. Insufficient Privileges: NO HANDLER
148: 8.2.3.3. NodeID Required: NO HANDLER
149: 8.2.3.4. No Configuration Options: NO HANDLER
150: 8.2.4. Form Submission: NO HANDLER
151: 8.2.5. Form Processing: NO HANDLER
152: 8.2.5.1. Success: NO HANDLER
153: 8.2.5.2. Failure: NO HANDLER
154: 8.2.5.3. Success With Notifications: NO HANDLER
155: 8.3. Request Default Configuration Options: NO HANDLER
156: 8.3.1. Request: NO HANDLER
157: 8.3.2. Success Case: NO HANDLER
158: 8.3.3. Error Cases: NO HANDLER
159: 8.3.3.1. Node Configuration Not Supported: NO HANDLER
160: 8.3.3.2. Default Configuration Retrieval Not Supported: NO HANDLER
161: 8.4. Delete a Node: Implemented as pubsubclient.delete_a_node
162: 8.4.1. Request: Implemented as pubsubclient.delete_a_node
163: 8.4.2. Success Case: Runs return_function with True
164: 8.4.3. Error Cases: Runs return_function with False
165: 8.4.3.1. Insufficient Privileges: Runs return_function with False
166: 8.4.3.2. Node Does Not Exist: Runs return_function with False
167: 8.5. Purge All Node Items: Implemented in pubsubclient.purge_all_items_from_a_node
168: 8.5.1. Request: Implemented in pubsubclient.purge_all_items_from_a_node
169: 8.5.2. Success Case: Only prints reply
170: 8.5.3. Error Cases: Only prints reply
171: 8.5.3.1. Node Purging Not Supported: Only prints reply
172: 8.5.3.2. Insufficient Privileges: Only prints reply
173: 8.5.3.3. Node Does Not Persist Items: Only prints reply
174: 8.5.3.4. Node Does Not Exist: Only prints reply
175: 8.6. Manage Subscription Requests: NO HANDLER
176: 8.7. Process Pending Subscription Requests: NO HANDLER
177: 8.7.1. Request: NO HANDLER
178: 8.7.2. Success Case: NO HANDLER
179: 8.7.3. Error Cases: NO HANDLER
180: 8.7.3.1. Ad-Hoc Commands Not Supported: NO HANDLER
181: 8.7.3.2. Get-Pending Not Supported: NO HANDLER
182: 8.7.3.3. Insufficient Privileges: NO HANDLER
183: 8.7.3.4. Node Does Not Exist: NO HANDLER
184: 8.7.4. Per-Node Request: NO HANDLER (Bug in spec?)
185: 8.8. Manage Subscriptions: NO HANDLER
186: 8.8.1. Retrieve Subscriptions List: NO HANDLER
187: 8.8.1.1. Request: NO HANDLER
188: 8.8.1.2. Success Case: NO HANDLER
189: 8.8.1.3. Error Cases: NO HANDLER
190: 8.8.2. Modify Subscriptions: NO HANDLER
191: 8.8.2.1. Request: NO HANDLER
192: 8.8.2.2. Success Case: NO HANDLER
193: 8.8.2.3. Error Cases: NO HANDLER
194: 8.8.2.4. Multiple Simultaneous Modifications: NO HANDLER
195: 8.8.3. Delete a Subscriber: NO HANDLER
196: 8.8.4. Notifying Subscribers: NO HANDLER
197: 8.9. Manage Affiliations: NO HANDLER
198: 8.9.1. Retrieve Affiliations List: NO HANDLER
199: 8.9.1.1. Request: NO HANDLER
200: 8.9.1.2. Success Case: NO HANDLER
201: 8.9.1.3. Error Cases: NO HANDLER
202: 8.9.2. Modify Affiliation: NO HANDLER
203: 8.9.2.1. Request: NO HANDLER
204: 8.9.2.2. Success Case: NO HANDLER
205: 8.9.2.3. Error Cases: NO HANDLER
206: 8.9.2.4. Multiple Simultaneous Modifications: NO HANDLER
207: 8.9.3. Delete an Entity: NO HANDLER
208: 8.9.4. Notifying Entities: NO HANDLER
209:
210: 9. IM Account Integration: NO HANDLER
211: 9.1. Auto-Subscribe: NO HANDLER
212: 9.1.1. Account Owner: NO HANDLER
213: 9.1.2. Presence Subscriber: NO HANDLER
214: 9.1.3. Presence Sharer: NO HANDLER
215: 9.2. Filtered Notifications: NO HANDLER
216:
217: 10. Feature Summary:
218:
219: 11. Error Conditions:
220:
221: 12. Implementation Notes:
222: 12.1. Notification Triggers:
223: 12.2. Intended Recipients for Notifications:
224: 12.3. Handling Notification-Related Errors:
225: 12.4. Presence-Based Delivery of Events:
226: 12.5. Not Routing Events to Offline Storage:
227: 12.6. Including a Message Body:
228: 12.7. Node ID and Item ID Uniqueness:
229: 12.8. Item Caching:
230: 12.9. Batch Processing:
231: 12.10. Auto-Subscribing Owners and Publishers:
232: 12.11. Authorizing Subscription Requests (Pending Subscribers):
233: 12.12. Notification of Subscription State Changes:
234: 12.13. NodeID Semantics:
235: 12.14. Multiple Node Discovery:
236: 12.15. Inclusion of SHIM Headers:
237: 12.16. Associating Events and Payloads with the Generating Entity:
238: 12.17. Chaining:
239: 12.18. Time-Based Subscriptions (Leases):
240: 12.19. Content-Based Pubsub Systems:
241: 12.20. Singleton Nodes:
242:
243: 13. Internationalization Considerations:
244: 13.1. Field Labels:
245:
246: 14. Security Considerations:
247:
248: 15. IANA Considerations:
249:
250: 16. XMPP Registrar Considerations:
251: 16.1. Protocol Namespaces:
252: 16.2. Service Discovery Category/Type:
253: 16.3. Service Discovery Features:
254: 16.4. Field Standardization:
255: 16.4.1. pubsub#subscribe_authorization FORM_TYPE:
256: 16.4.2. pubsub#subscribe_options FORM_TYPE:
257: 16.4.3. pubsub#node_config FORM_TYPE:
258: 16.4.4. pubsub#meta-data FORM_TYPE:
259: 16.4.5. pubsub#publish-options FORM_TYPE:
260: 16.5. SHIM Headers:
261: 16.6. URI Query Types:
262:
263: 17. XML Schemas:
264: 17.1. http://jabber.org/protocol/pubsub:
265: 17.2. http://jabber.org/protocol/pubsub#errors:
266: 17.3. http://jabber.org/protocol/pubsub#event:
267: 17.4. http://jabber.org/protocol/pubsub#owner:
268:
269: 18. Acknowledgements:
270:
271: 19. Author Note:
Generated by git2html.