Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.outliner.rpcHandlers.opmlChanged
on opmlChanged (url) {
<<Changes
<<3/31/02; 5:53:05 PM by JES
<<Set adrsub^.timeReceivedLastNotification to now.
<<3/27/02; 7:20:51 PM by JES
<<Respect the flLogNotifications pref.
<<3/27/02; 7:13:06 PM by JES
<<Log the notification to the events page.
<<3/27/02; 5:14:04 PM by JES
<<Created. Handle notification of changed outlines. When we get a notification for an outline we're subscribed to, pre-cache the xml text, and bloden the person's name in the Buddies outline.
local (adrdata = radio.outliner.init ());
local (adrsub = @adrdata^.subscriptions.[url]);
if defined (adrsub^) {
local (startticks = clock.ticks ());
radio.outliner.preCacheUrl (url);
bundle { //call callbacks
local (adr);
for adr in @adrdata^.callbacks.subscriptionChanged {
try {
while typeOf (adr^) == addressType {
adr = adr^};
adr^ (adrsub)}}};
radio.outliner.boldenBuddy (url);
radio.outliner.openBuddies (true);
local (link = "<a href=\"" + url + "\">" + adrsub^.author + "</a>");
adrsub^.timeReceivedLastNotification = clock.now ();
if adrdata^.prefs.flLogNotifications {
radio.log.add ("Outline change", link + " changed.", startticks)}}}
<<bundle //debugging
<<local (url = "http://radio.weblogs.com/0001100/instantOutliner/elvisPresley.opml")
<<opmlChanged (url)
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.