bubPubSub
bubPubSub (VisualWeb's PubSub) is a publish/subscribe system for communication between objects/modules of your code. It's rather similar to common pubSub systems, but closer related to the event system of nodeJS or the browser. USP's are
-
(optional) BUBBLING along a topic-tree
-
(optional) PERSISTENCE of publications for later retrieval/reference
It is developed, used and sponsored by myLinkCloud (http://www.mylinkcloud.com), meinUnterricht (http://www.meinUnterricht.de), K.lab (http://www.klab-berlin.com), and ViSERiON (http://www.viserion.com) .
compatibility
bubPubSub works on both ends, the client and the server (nodeJS).
Installation with nodeJS
$ npm install bubpubsub
Test (server-side)
cd to node_modules/bubpubsub
make
VERSION HISTORY:
- v0.8.7 22.11.12
- introduced silent option as a per-publication flag to avoice console logging
- v0.8.6 22.11.12
- bugFix
- v0.8.6 22.11.12
- bugFix
- v0.8.5 19.11.12
- bugFixes ..
- v0.8.4 15.11.12
- bugFixes ..
- old parameters for subscribe will be deprecated announcement
- v0.8.3 15.11.12
- introduced autoUnsubscribe to subscribe options !
- optional try-catch around subscribers
- scope setting for subscribers
- introduced limits for error and publication logs to 10000 items in order to limit memory usage.
- v0.82 28.07.2012
- bugfix in chain default and if check.
- v0.81 27.07.12
- unsubscribe updated to do a better job of namespace (& memory) cleanup
- v0.80 22.06.12
- added the option to do chaining. this needs quite some field-testing ;)
- added chainDelay config setting for chained publications to allow breathing-time for the cpu
- v0.71 15.06.12
- made the code a bit more beautiful
- introduced forceUniqueSubscriber to allow replacing subscriber methods by Id
- replaced isFunction method by typeof test
- removed randomString method
- switched from bad style == to good style === operators...
- changed licence
- v0.70 21.03.12
- renamed
- fused client (jQuery) and server (nodeJS) versions
- series of bugfixes
- v0.60 29.10.11
- removed dependencies from jQuery.
- enabled using the same file for client- and nodeJS server-side implementation
- added the reply function explicitely
Usage
there is a detailed description of all functions in the source-code ...
examples (more in the source JS)
// SUBSCRIPTION TO a deep branch WITHOUT PICKING UP BUBBLES var myEuropeSubscription = aBubPubSub; // SUBSCRIPTION TO ROOT WITH BUBBLING var myRootSubscription = aBubPubSub; // PUBLISH WITH PERSISTANCE AND BUBBLING aBubPubSub; // PUBLISH WITH PERSISTANCE AND BUBBLING aBubPubSub; // PERSISTANCE var persistentPublicationObjectArrayOnPolitics = aBubPubSub; // UNSUBSCRIBE aBubPubSub;