Bug 839100
Summary: | RFE: Topic Changed Notification queue | ||
---|---|---|---|
Product: | [Community] PressGang CCMS | Reporter: | Joshua Wulf <jwulf> |
Component: | Web-UI | Assignee: | Nobody <nobody> |
Status: | NEW --- | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 1.x | CC: | topic-tool-list |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | Type: | Bug | |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 839120 |
Description
Joshua Wulf
2012-07-10 23:14:38 UTC
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: https://github.com/jwulf/node-deathstar/blob/master/lib/livePatch.js#L27 Whenever a book is built, it is scanned and a map is made of the topics in the Content Spec. https://github.com/jwulf/node-deathstar/blob/master/lib/livePatch.js#L71 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, https://github.com/jwulf/node-deathstar/blob/master/lib/livePatch.js#L71 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. https://github.com/jwulf/node-deathstar/blob/master/lib/livePatch.js#L162 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. https://github.com/jwulf/node-deathstar/blob/master/routes/sockethandler.js#L26 https://github.com/jwulf/publican-deathstar/blob/master/en-US/scripts/deathstar.js#L32 That's the patch stream for patching books live in the browser, no rebuilding, no reloading needed. |