Fine print: The initial version will not work in cluster mode. Unless we manage to find some time to implement it before Openfire 3.4.0 is released.
1) We need to not load all PEP services (i.e. of each user) when the module is initialized
2) We need to so nothing in IQPEPHandler#start()
3) We need to change IQPEPHandler#handleIQ(IQ) so that a PEP service is tried to be loaded and if not found then one is created
4) Review need to use dummy service in IQPEPHandler#handleIQ(IQ)
5) Make PEP work in a cluster. Eg. Use Caches in IQPEPHandler and implement Externalizable in PEPService
6) Implement entity capabilities to be used by notification filtering
7) Refactor notification filtering (e.g. do not use packet interceptor)
8) Think of some UI we can add to the admin console as a way to browse user's nodes
PEP services are now loaded dynamically after my commit of revision 9163. Thus, pending items 1-3 are complete.
Pending item 4 has been clarified. Item 5 has been postponed until PubSub itself has been made to work in a cluster.
Closing for now. New Jira issues were created for pending things.