Monday, April 04, 2011 at 1:06 AM.
rssCloudSuite.init
on init () { <<Changes <<3/13/11; 10:07:15 AM by DW <<Defaults change. enabled is false by default -- this gives you a chance to review your setup before the server is responding to pings and subscriptions. enableFeedStorage is a feature that very few if any rssCloud servers are going to want to support, so it's default false. <<10/24/09; 9:54:11 AM by DW <<minSecsBetweenPings now defaults to 0 <<10/21/09; 10:46:49 AM by DW <<Init adrdata^.prefs.minSecsBetweenPings. There's a feed that's pinging us every ten seconds or so. <<9/4/09; 3:04:42 PM by DW <<s3ChangesPath points to a folder, not a file. <<9/4/09; 12:05:38 PM by DW <<Prefs for changes.xml. <<7/25/09; 10:15:46 AM by DW <<New pref sets number of hours before a subscription expires. <<7/12/2009; 5:42:54 PM by <<Created. local (adrdata = @config.rssCloud); if not defined (adrdata^) { new (tabletype, adrdata)}; bundle { //prefs if not defined (adrdata^.prefs) { new (tabletype, @adrdata^.prefs)}; if not defined (adrdata^.prefs.enabled) { adrdata^.prefs.enabled = false}; if not defined (adrdata^.prefs.enableFeedStorage) { //7/22/09 by DW adrdata^.prefs.enableFeedStorage = false}; if not defined (adrdata^.prefs.s3Path) { adrdata^.prefs.s3Path = ""}; if not defined (adrdata^.prefs.s3Url) { adrdata^.prefs.s3Url = ""}; if not defined (adrdata^.prefs.maxConcurrentThreads) { adrdata^.prefs.maxConcurrentThreads = 25}; if not defined (adrdata^.prefs.notifyTimeoutTicks) { //3 seconds adrdata^.prefs.notifyTimeoutTicks = 180}; if not defined (adrdata^.prefs.maxConsecutiveErrors) { adrdata^.prefs.maxConsecutiveErrors = 3}; if not defined (adrdata^.prefs.maxFeedSize) { //250K adrdata^.prefs.maxFeedSize = 1024 * 250}; if not defined (adrdata^.prefs.ctSecsFeedExpire) { //25 hours adrdata^.prefs.ctSecsFeedExpire = 25 * 60 * 60}; if not defined (adrdata^.prefs.enableChangesXML) { //9/4/09 by DW adrdata^.prefs.enableChangesXML = false}; if not defined (adrdata^.prefs.maxChangesXML) { //9/4/09 by DW adrdata^.prefs.maxChangesXML = 250}; if not defined (adrdata^.prefs.s3ChangesPath) { //9/4/09 by DW adrdata^.prefs.s3ChangesPath = "/static.scripting.com/rsscloud/"}; if not defined (adrdata^.prefs.minSecsBetweenPings) { //10/21/09 by DW adrdata^.prefs.minSecsBetweenPings = 0}}; bundle { //stats if not defined (adrdata^.stats) { new (tabletype, @adrdata^.stats)}; if not defined (adrdata^.stats.ctRssSaves) { adrdata^.stats.ctRssSaves = 0}; if not defined (adrdata^.stats.ctNotifySubscribers) { adrdata^.stats.ctNotifySubscribers = 0}; if not defined (adrdata^.stats.whenLastNotifySubscribers) { adrdata^.stats.whenLastNotifySubscribers = date (0)}; if not defined (adrdata^.stats.ctChanges) { //for changes.xml, 9/4/09 by DW adrdata^.stats.ctChanges = 0}; if not defined (adrdata^.stats.ctChangesBuilds) { //for changes.xml, 9/4/09 by DW adrdata^.stats.ctChangesBuilds = 0}; if not defined (adrdata^.stats.flChangesDirty) { //for changes.xml, 9/4/09 by DW adrdata^.stats.flChangesDirty = true}}; bundle { //changes if not defined (adrdata^.changes) { new (tabletype, @adrdata^.changes)}}; bundle { //temp table if not defined (system.temp.rssCloud) { new (tabletype, @system.temp.rssCloud)}; if not defined (system.temp.rssCloud.ctNotifyThreads) { system.temp.rssCloud.ctNotifyThreads = 0}}; if not defined (adrdata^.feeds) { new (tabletype, @adrdata^.feeds)}; if not defined (adrdata^.subscribers) { new (tabletype, @adrdata^.subscribers)}; if not defined (adrdata^.subscriptions) { new (tabletype, @adrdata^.subscriptions)}; return (adrdata)}; bundle { //test code init ()}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.