Red Hat Bugzilla – Bug 839100
RFE: Topic Changed Notification queue
Last modified: 2014-10-26 21:14:00 EDT
Requesting a queue that provides notification of change events to topics.
Maybe a set of generic queues for different events like "changed", "published"; more sophisticated would be the ability to subscribe to a queue and inform the server what the consumer is interested in: I'm interested in changes to these topics and this content spec.
To be used to dynamically render a book in the browser and update it when changes are made to the topics in the book, during writing.
This would be really good:
"I'm interested in content spec ID X"
So the queue that I get informs me when the content spec changes, or any of the topics in the spec change.
You can almost do this now.
http://skynet.usersys.redhat.com:8080/TopicIndex/seam/resource/rest/1/topics/get/atom/query will return an atom feed against a standard query.
So http://skynet.usersys.redhat.com:8080/TopicIndex/seam/resource/rest/1/topics/get/atom/query;topicEditedInLastDays=7;topicIncludedInSpec=10074 will return topics that belong to csp 10074 edited in the last 7 days.
Use the report at http://skynet.usersys.redhat.com:8080/birt/frameset?__report=General/Table_Topic_Revisions.rptdesign
This report shows you topics changed within a Content Spec, optionally over a specific time period.
On the Death Star I'm using streams to do this. It's kind of a poor man's pub-sub messaging system, inspired by my work on MRG.
Each Content Spec checked out on the Death Star has a stream subscribed:
Whenever a book is built, it is scanned and a map is made of the topics in the Content Spec.
Each topic gets a list of Content Specs that include it.
When a topic is saved via the Death Star, the 'Star looks up the Content Specs that include that topic,
Then (a) updates the built HTML of dependent books on the 'Star, and (b) sends a websocket notification to the books that use this topic via their livePatch streams.
When a book is opened in a browser, it subscribes to its notification stream on the 'Star. The web socket between the book and the 'Star is hooked up to the livePatch stream for the book on the 'Star.
That's the patch stream for patching books live in the browser, no rebuilding, no reloading needed.