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.