Chapter 1. PubSub Component

Table of Contents

Tigase Pubsub Release Notes
Tigase PubSub 5.0.0 Release Notes
Previous Releases
Configuration
Pubsub naming
Configure Roster Maximum size
Store Full XML of Last Presence
Using separate store
Enabling PEP support
Enabling REST API
Changing nodes cache size
Enable sending last published item on presence
Throttling sending notifications
Disable automatic subscription of node creator
Database
Preparation of database
Upgrade of database schema
Schema description
PubSub Schema Changes
Features
AdHoc Commands
Create a Node
Delete a Node
Subscribe to a Node
Unsubscribe to a Node
Publish an item to a Node
PubSub Node Presence Protocol
REST API
Create a node
Delete a node
Subscribe to a node
Unsubscribe from a node
Publish an item to a node
Delete an item from a node
List available nodes
List published items on node
Retrieve item published on node
Retrieve user subscriptions
AdHoc Commands
REST API

Tigase’s Publish Subscribe component is an XEP-0060 compliant plugin handling all publish and subscribe activity within Tigase server. This is enabled as default with the pubsub name, however you may include the following line if you wish to customize it’s configuration.

pubsub () {}

You may change the name so long as you specify the pubsub class within parenthesis.

Tigase Pubsub Release Notes

Welcome to Tigase Pubsub 5.0.0! This is a feature release for with a number of fixes and updates.

Tigase PubSub 5.0.0 Release Notes

Major Changes

  • Add publishing executor with rate limiting
  • Optimisations and fixes

All Changes

  • #pubsub-102: Add publishing executor with rate limiting
  • #pubsub-103: Empty message notification id attribute
  • #pubsub-105: NPE in RetrieveItemsModule
  • #pubsub-106: NPE in PubsubPublishModule?Eventbus
  • #pubsub-107: disco#items feature returned on disco#info request for PubSub node item
  • #pubsub-108: Fix Missing notification for published events
  • #pubsub-110: Fix Deadlock in TigPubSubRemoveService SP on MySQL
  • #pubsub-111: Fix SQLException: At least one parameter to the current statement is uninitialized.
  • #pubsub-113: Fix StackOverflowError in LRUCacheWithFuture
  • #pubsub-114: Fix pubsub#persist_items is not advertised
  • #pubsub-115: Fix Cannot add or update a child row: a foreign key constraint fails (tigasedb.tig_pubsub_items, CONSTRAINT tig_pubsub_items_ibfk_1 FOREIGN KEY (node_id) REFERENCES tig_pubsub_nodes (node_id))
  • #pubsub-119: Fix NPE in DiscoveryModule
  • #pubsub-120: Fix Empty element in POST payload is incorrectly parsed
  • #pubsub-121: Use String.intern() for PEP CAPS nodes string
  • #pubsub-124: Fix PubSub sends notifications about last published item on each presence received from subscriber.
  • #pubsub-125: Reported features pubsub#metadata should be pubsub#meta-data
  • #pubsub-126: Fix Deadlocks in MySQL schema
  • #pubsub-127: Fix NPE in UserEntry.remove
  • #pubsub-128: Fix PatternSyntaxException for users with emoticons in resource

Previous Releases

Announcement

Major changes

Tigase pubsub component has undergone a few major changes to our code and structure. To continue to use Tigase pubsub component, a few changes may be needed to be made to your systems. Please see them below:

Database schema changes

Current version comes with changes to database schema to improve JID comparison during lookup of nodes, subscriptions, affiliations, etc.

To continue usage of new versions of pubsub component it is required to manually load new component database schema, see database preparation section for more information.

Warning

Loading of new database schema is required to use new version of pubsub component.

Changes in REST API

We continuously work on improving usability and making our REST API easier to use we added support for handling JSON requests in REST API for pubsub. At the same time we decided to slightly modify responses in XML sent by REST API to make responses in JSON and XML similar.

For more informations about current REST API please look into Rest API section.

New features
Support for using separate database for different domains

Since this version it is possible to use separate pubsub nodes and items based on domains. This allows you to configure component to store informations about nodes and items for particular domain to different database.

For more informations please look into using multiple databases.

Support for MAM

In this version we added support for XEP-0313: Message Archive Management protocol which allows any MAM compatible XMPP client with pubsub support to retrieve items published on pubsub nodes using MAM protocol for querying.