Monday, April 04, 2011 at 1:07 AM.
radio2Suite.initFeed
on initFeed (adrfeed) {
<<Changes
<<3/15/11; 10:38:37 AM by DW
<<Comment initialization of cloud prefs, that's now a top-level pref.
<<3/12/11; 1:05:03 PM by DW
<<Callbacks. Now you can manage your own data in each feed table.
<<3/1/11; 8:40:04 AM by DW
<<Initialize prefs and stats for HTML archive.
<<1/7/11; 9:40:58 AM by DW
<<Commented out the initialization of the legacy s3 stuff and the fresca stuff.
<<12/25/10; 2:27:19 PM by DW
<<Created.
if not defined (adrfeed^) {
new (tabletype, adrfeed)};
bundle { //prefs
if not defined (adrfeed^.prefs) {
new (tabletype, @adrfeed^.prefs)};
if not defined (adrfeed^.prefs.enabled) {
adrfeed^.prefs.enabled = false};
if not defined (adrfeed^.prefs.title) {
adrfeed^.prefs.title = "My New Feed"};
if not defined (adrfeed^.prefs.link) {
adrfeed^.prefs.link = "http://my.reallysimple.org/"};
if not defined (adrfeed^.prefs.docs) {
adrfeed^.prefs.docs = "http://cyber.law.harvard.edu/rss/rss.html"};
if not defined (adrfeed^.prefs.description) {
adrfeed^.prefs.description = ""};
if not defined (adrfeed^.prefs.language) {
adrfeed^.prefs.language = "en-us"};
<<bundle //cloud, use REST, 7/24/09 by DW
<<if not defined (adrfeed^.prefs.cloud)
<<new (tabletype, @adrfeed^.prefs.cloud)
<<if not defined (adrfeed^.prefs.cloud.server)
<<adrfeed^.prefs.cloud.server = "rpc.rsscloud.org"
<<if not defined (adrfeed^.prefs.cloud.port)
<<adrfeed^.prefs.cloud.port = 5337
<<if not defined (adrfeed^.prefs.cloud.path)
<<adrfeed^.prefs.cloud.path = "/rsscloud/pleaseNotify"
<<if not defined (adrfeed^.prefs.cloud.protocol)
<<adrfeed^.prefs.cloud.protocol = "http-post"
<<if not defined (adrfeed^.prefs.cloud.registerProcedure)
<<adrfeed^.prefs.cloud.registerProcedure = ""
bundle { //html archive, 3/1/11 by DW
if not defined (adrfeed^.prefs.htmlArchive) {
new (tabletype, @adrfeed^.prefs.htmlArchive)};
if not defined (adrfeed^.prefs.htmlArchive.filename) {
adrfeed^.prefs.htmlArchive.filename = string.popsuffix (nameof (adrfeed^)) + ".html"};
if not defined (adrfeed^.prefs.htmlArchive.pagetitle) {
adrfeed^.prefs.htmlArchive.pagetitle = "HTML archive for " + nameof (adrfeed^)};
if not defined (adrfeed^.prefs.htmlArchive.maxct) {
adrfeed^.prefs.htmlArchive.maxct = infinity}}};
<<bundle //old stuff
<<bundle //fresca prefs, 12/25/10 by DW
<<if not defined (adrfeed^.prefs.fresca)
<<new (tabletype, @adrfeed^.prefs.fresca)
<<if not defined (adrfeed^.prefs.fresca.enabled)
<<adrfeed^.prefs.fresca.enabled = false
<<if not defined (adrfeed^.prefs.fresca.domain)
<<adrfeed^.prefs.fresca.domain = ""
<<if not defined (adrfeed^.prefs.fresca.path)
<<adrfeed^.prefs.fresca.path = ""
<<if not defined (adrfeed^.prefs.s3Path) //12/14/10 by DW
<<adrfeed^.prefs.s3Path = ""
<<if not defined (adrfeed^.prefs.s3ArchivePath) //12/16/10 by DW
<<adrfeed^.prefs.s3ArchivePath = ""
<<if not defined (adrfeed^.prefs.s3Url) //12/14/10 by DW
<<adrfeed^.prefs.s3Url = ""
<<if not defined (adrfeed^.prefs.s3filename) //1/5/11 by DW
<<adrfeed^.prefs.s3filename = ""
bundle { //stats
if not defined (adrfeed^.stats) {
new (tabletype, @adrfeed^.stats)};
if not defined (adrfeed^.stats.ctSaves) {
adrfeed^.stats.ctSaves = 0};
if not defined (adrfeed^.stats.whenLastSave) {
adrfeed^.stats.whenLastSave = date (0)};
if not defined (adrfeed^.stats.serialnum) {
adrfeed^.stats.serialnum = 0};
if not defined (adrfeed^.stats.ctArchiveBuilds) { //2/28/11 by DW
adrfeed^.stats.ctArchiveBuilds = 0}};
if not defined (adrfeed^.calendar) {
new (tabletype, @adrfeed^.calendar)};
bundle { //callbacks, 3/12/11 by DW
local (adrdata = @config.radio2, adrscript);
for adrscript in @adrdata^.callbacks.initFeed {
while typeof (adrscript^) == addresstype {
adrscript = adrscript^};
try {
adrscript^ (adrfeed)}}}};
bundle { //test code
initfeed (@config.radio2.feeds.daveradio2)}
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.