diff --git a/src/plugins/plugin_tickets_import.py b/src/plugins/plugin_tickets_import.py index 4171d2aa..5395c410 100755 --- a/src/plugins/plugin_tickets_import.py +++ b/src/plugins/plugin_tickets_import.py @@ -97,9 +97,17 @@ class TicketsImportPlugin(object): def importSubItems(self, client, item_import_data, ticket_data, session, options): # TODO: force "open" permission (except if private, check below) # TODO: handle "private" metadata, to have non public access for node + # TODO: node access/publish model should be customisable comments = ticket_data.get('comments', []) service, node = self._m.getCommentsService(client), self._m.getCommentsNode(session['root_node'] + u'_' + ticket_data['id']) - yield self._p.createIfNewNode(client, service, node) + node_options = {self._p.OPT_ACCESS_MODEL: self._p.ACCESS_OPEN, + self._p.OPT_PERSIST_ITEMS: 1, + self._p.OPT_MAX_ITEMS: -1, + self._p.OPT_DELIVER_PAYLOADS: 1, + self._p.OPT_SEND_ITEM_SUBSCRIBE: 1, + self._p.OPT_PUBLISH_MODEL: self._p.ACCESS_OPEN, + } + yield self._p.createIfNewNode(client, service, node, options=node_options) ticket_data['comments_uri'] = uri.buildXMPPUri(u'pubsub', subtype='microblog', path=service.full(), node=node) for comment in comments: if 'updated' not in comment and 'published' in comment: diff --git a/src/plugins/plugin_xep_0060.py b/src/plugins/plugin_xep_0060.py index df850603..e09068f7 100755 --- a/src/plugins/plugin_xep_0060.py +++ b/src/plugins/plugin_xep_0060.py @@ -445,6 +445,7 @@ class XEP_0060(object): @param option(dict[unicode, unicode], None): node configuration options @return (unicode): identifier of the created node (may be different from requested name) """ + # TODO: if pubsub service doesn't hande publish-options, configure it in a second time return client.pubsub_client.createNode(service, nodeIdentifier, options) @defer.inlineCallbacks