Monday, November 08, 2010 at 12:04 AM.
system.verbs.builtins.mainResponder.install
<<bundle //perform deletions
<<try {delete (@user.scheduler.hourly.mainResponder)} //we do this from the agent
<<try {delete (@system.startup.mainResponder)} //it's now called nirvanaServer
<<try {delete (@user.betty.rpcHandlers.mainResponder)} //it's now called nirvanaServer
<<try {delete (@user.menus.mainResponder)} //it's now called nirvanaServer
<<try {delete (@user.webeditserver.callbacks.checkin.mainResponder)} //it's now called nirvanaServer
<<try {delete (@system.agents.mainResponder)} //it's now called nirvanaServer
<<try {delete (@config.mainresponder.prefs.nextBackupNumber)} //backups work differently now
<<try {delete (@config.mainResponder.log)} //each day's log is kept in its own file
<<try {delete (@config.mainresponder.tickets)} //data is now stored in tickets.root.prefs
<<try {delete (@system.startup.nirvanaServer)} //startup code is run thru user.databases setting
<<try {delete (@system.agents.nirvanaServer)} //startup code is run thru user.scheduler
<<try {delete (@user.scheduler.tasks.nirvanaServer)} //we install an everyMinute script instead
<<try {delete (@user.scheduler.overnight.nirvanaServer)} //it's now an address
<<try {delete (@user.scheduler.everyminute.nirvanaServer)} //it's now an address
<<try {delete (@user.scheduler.tasks.overnight)} //it'll get recreated by scheduler.init
<<try {delete (@user.scheduler.tasks.hourly)} //it'll get recreated by scheduler.init
<<
<<Delete old code from mainResponder.root.
<<try {delete (@mainResponder.pounder)}
<<try {delete (@mainResponder.discuss.macros)}
<<try {delete (@mainResponder.readMe)}
<<try {delete (@mainResponder.suiteName)}
<<try {delete (@mainResponder.tickets)}
<<
<<try {delete (@mainResponder.discuss.addSystemEvent)} //Wed, 10 Mar 1999 05:09:55 GMT by AR
<<try {delete (@mainResponder.discuss.server)}
<<try {delete (@mainResponder.discuss.transitionDiscussionGroup)}
<<try {delete (@mainResponder.getFolder)}
<<try {delete (@mainResponder.log.addOld)}
<<try {delete (@mainResponder.log.oldRoll)}
<<try {delete (@mainResponder.news.oldstuff)}
<<try {delete (@mainResponder.rpcHandlers.oldnews)}
<<try {delete (@mainResponder.subscriptions.testing)}
<<try {delete (@mainResponder.testing.ticketRPC)}
<<try {delete (@mainResponder.writing)}
<<try {delete (@mainResponder.calendar.getPostTime)} //Wed, 10 Mar 1999 13:53:17 GMT by AR
<<try {delete (@mainResponder.discuss.link)}
<<try {delete (@mainResponder.discuss.threadRedirect)}
<<try {delete (@mainResponder.log.getCurrentFile)}
<<
<<try {delete (@mainResponder.search.utilities.isTablePage)} //PBS 3/10/99
<<
<<local (adrparts = @mainresponder.data.parts, adritem, i)
<<for i = 1 to sizeof (adrparts^) //move all the parts that live outside mainResponder
<<adritem = @adrparts^ [i]
<<adritem^.adr^ = adritem^.data
<<if adritem^.adr == @system.verbs.builtins.log
<<log.startup ()
<<export.addtolog (adritem^.adr)
<<bundle //be sure config.root exists and is open and is initialized
<<local (f = frontier.getSubFolder ("apps") + "config.root")
<<if not window.isopen (f)
<<try
<<filemenu.open (f)
<<else
<<filemenu.new (f)
<<local (adrtable = @[f].config)
<<if not defined (adrtable^)
<<new (tabletype, adrtable)
<<mainResponder.init () //sets up config.mainresponder
<<filemenu.save (f)
<<scheduler.init () //upgrades user.scheduler if it needs it
<<user.scheduler.overnight.nirvanaServer = @mainresponder.background.everynight
<<user.scheduler.everyMinute.nirvanaServer = @mainresponder.background.everyminute
<<user.scheduler.hourly.searchEngine = @mainResponder.search.server.indexStoredPages
<<
<<bundle //update rootUpdates prefs for mainResponder.root.
<<Wednesday, March 03, 1999 at 11:40:43 AM by PBS
<<local (adrTable = @user.rootUpdates.servers.mainResponder)
<<if not defined (adrTable^)
<<new (tableType, adrTable)
<<if not defined (adrTable^.autobackup)
<<adrTable^.autobackup = true
<<if not defined (adrTable^.dbname)
<<adrTable^.dbname = "mainResponder.root"
<<if not defined (adrTable^.dialogs)
<<adrTable^.dialogs = true
<<adrTable^.lastUpdate = "Wed, 03 Mar 1999 19:00:00 GMT"
<<adrTable^.method = "mainResponder.subscriptions.update"
<<adrTable^.port = 80
<<if not defined (adrTable^.serialNum)
<<adrTable^.serialNum = 1
<<adrTable^.server = "madrid.userland.com"
<<adrTable^.URL = "http://developers.userland.com/"
<<
<<webEditServer.init () //create user.webEditServer
<<filemenu.save ()
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.