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.