|
From: creedon <icr...@us...> - 2006-02-10 03:19:29
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv836 Modified Files: startup Log Message: set up 127.0.0.2 in domains for serving attachments add sampleMrWs to domains table and install sampleMrWs Index: startup =================================================================== RCS file: /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/startup,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** startup 9 Feb 2006 02:52:29 -0000 1.4 --- startup 10 Feb 2006 03:19:17 -0000 1.5 *************** *** 1,3 **** FrontierVcsFile:1:scpt:mainResponder.startup ! ÇChanges Ç2/8/06; 11:10:24 AM by TAC Çadded support for mainResponderWebsites.root Çtweaked script formatting Çnews.root code disabled Ç2/1/06; 12:59:03 PM by TAC Çchange root update last update time from hard coded date to Frontier.data.initialLastUpdateTime Ç12/23/05; 9:31:12 PM by TAC ÇnirvanaServer is not a supported name for betty Çupdated root update server information for frontier open source Ç07/29/00; 10:12:31 AM by PBS ÇEnsure that the everyMinute task, if it already exists, is valid. It's crucial to save databases every minute. Ç05/15/00; 9:33:03 PM by PBS ÇMake sure the nightlyUpdates task has been created. This scheduler task handles updating the various Frontier gdbs. It was uncoupled from mainResponder.background.everyNight, as machines were competing on the hour to get updates. Now the times are more dispersed. Ç1999 Ç12/30/99; 12:16:25 PM by PBS ÇWhen creating a new default membership group, set the cookie expiration date to Mon, 01 Apr 2030 07:00:00 GMT. Ç12/11/99; 5:29:27 AM by AR ÇUpdated the code for hooking into the scheduler: Only create entries in user.scheduler if they don't already exist. Also, use scripts instead of addresses for better portability. Ç11/15/99; 10:57:16 PM by PBS ÇOn some systems, if any or all of config.root, discuss.root, members.root, and news.root are open before mainResponder's startup script runs, this would cause the startup script to abort with an error. Now the startup script checks to see if a database is open before trying to open it -- if it's already open, it doesn't try to open it. Ç10/25/99; 2:55:22 PM by PBS ÇCreate callbacks in user.webEditServer.callbacks as scripts, not addresses, since addresses break when Frontier is moved to another machine or folder or the hard drive is renamed. This removes the leading cause of problems with WebEditServer. ÇChanged default root updates prefs. Server is updates.userland.com, URL is http://frontier.userland.com/updates/mainResponder ÇThu, Mar 25, 1999 at 3:11:02 PM by PBS ÇDon't create an empty news.root if none exists. ÇTue, Mar 9, 1999 at 4:14:33 PM by PBS ÇCall Frontier.getSubFolder rather than mainResponder.getFolder. ÇThis script is called when Frontier starts up, to get mainResponder ready for another session. on startupMsg (s) { msg ("mainResponder.startup: " + s)}; new (tableType, @system.temp.mainResponder); local (alist = string.parseAddress (this)); system.temp.mainResponder.mainResponderRootFile = alist [1]; bundle { //get the path to Index.root ÇTuesday, January 19, 1999 at 3:52:27 PM by PBS system.temp.mainResponder.indexRootFile = Frontier.getSubFolder ("ops/") + "Index.root"}; bundle { //system.temp.mainResponder.search ÇTuesday, January 19, 1999 at 3:44:11 PM by PBS new (tableType, @system.temp.mainResponder.search)}; bundle { //open config.root startupMsg ("Opening config.root" ); local (f = Frontier.getSubFolder ("apps") + "config.root"); system.temp.mainResponder.configRootFile = f; if not defined ([f]) { //PBS 11/15/99: open config.root only if it's not already open mainResponder.openFile ("apps", "config.root")}; local (adrconfig = @[system.temp.mainResponder.configRootFile].config); if not defined (adrconfig^) { new (tabletype, adrconfig)}}; mainResponder.init (); bundle { // init Frontier.root stuff Çuser.menus.nirvanaServer = @mainResponder.menu // Sun, 07 Mar 1999 15:06:26 GMT by AR ÇAdd XML-RPC handlers. Çif not defined (user.betty.rpcHandlers.nirvanaServer) Çuser.betty.rpcHandlers.nirvanaServer = @mainResponder.rpcHandlers if not defined (user.betty.rpcHandlers.mainResponder) { //PBS 3/16/99: both names are supported user.betty.rpcHandlers.mainResponder = @mainResponder.rpcHandlers}; ÇAdd WebEditServer callbacks needed to support #changes table and search engine indexing. webEditServer.init (); local (scriptCode = "on nirvanaServer (adrObject, username, now, description)\r\treturn (mainResponder.subscriptions.checkInCallback (adrObject, username, now, description))"); if not defined (user.webeditserver.callbacks.checkin.nirvanaServer) { script.newScriptObject (scriptCode, @user.webeditserver.callbacks.checkin.nirvanaServer)}; if not defined (user.webeditserver.callbacks.sendToServer.nirvanaServer) { if defined (user.webEditServer.callbacks.sendToServer) { script.newScriptObject (scriptCode, @user.webeditserver.callbacks.sendToServer.nirvanaServer)}}; scriptCode = "on searchEngineClient (adrObject, username=nil, now=nil, description=nil)\r\treturn (mainResponder.search.client.webEditCallback (adrObject, username, now, description))"; if not defined (user.webeditserver.callbacks.checkIn.searchEngineClient) { script.newScriptObject (scriptCode, @user.webeditserver.callbacks.checkIn.searchEngineClient)}; if not defined (user.webEditServer.callbacks.sendToServer.searchEngineClient) { if defined (user.webEditServer.callbacks.sendToServer) { script.newScriptObject (scriptCode, @user.webEditServer.callbacks.sendToServer.searchEngineClient)}}; ÇScheduler. scheduler.init (); //upgrades user.scheduler if it needs it if not defined (user.scheduler.everyMinute.nirvanaServer) { local (scriptCode = "mainresponder.background.everyminute ()"); script.newScriptObject (scriptCode, @user.scheduler.everyMinute.nirvanaServer)} else { //PBS 07/29/00: ensure that the everyMinute task is actually valid: it's crucial to save databases every minute if typeOf (user.scheduler.everyMinute.nirvanaServer) == addressType { if not defined (user.scheduler.everyMinute.nirvanaServer^) { local (scriptCode = "mainresponder.background.everyminute ()"); script.newScriptObject (scriptCode, @user.scheduler.everyMinute.nirvanaServer)}}}; if not defined (user.scheduler.hourly.nirvanaServer) { local (scriptCode = "mainresponder.background.everyHour ()"); script.newScriptObject (scriptCode, @user.scheduler.hourly.nirvanaServer)}; if not defined (user.scheduler.hourly.searchEngine) { local (scriptCode = "mainResponder.search.server.indexStoredPages ()"); script.newScriptObject (scriptCode, @user.scheduler.hourly.searchEngine)}; if not defined (user.scheduler.overnight.nirvanaServer) { local (scriptCode = "mainresponder.background.everynight ()"); script.newScriptObject (scriptCode, @user.scheduler.overnight.nirvanaServer)}; if not defined (user.scheduler.tasks.nightlyUpdates) { local (adrTable = @user.scheduler.tasks.nightlyUpdates); startupMsg ("Creating nightly updates task."); new (tableType, adrTable); local (scriptCode = "mainResponder.background.nightlyUpdates ()"); script.newScriptObject (scriptCode, @adrTable^.script); adrTable^.ctRuns = 0; adrTable^.error = ""; adrTable^.minutesBetweenRuns = 1440; ÇGet a task time that's a random 5 to 55 minutes in the hour after the overnight script runs. local (overnightTaskTime = user.scheduler.tasks.overnight.taskTime); local (minutesPastTime = random (5, 55)); local (updatesTaskTime = overnightTaskTime + (minutesPastTime * 60)); adrTable^.taskTime = updatesTaskTime}}; bundle { // init 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}; if not defined (adrTable^.lastUpdate) { adrTable^.lastUpdate = Frontier.data.initialLastUpdateTime}; if not defined (adrTable^.method) { adrTable^.method = "mainResponder.subscriptions.update"}; if not defined (adrTable^.port) { adrTable^.port = 8081}; if not defined (adrTable^.serialNum) { adrTable^.serialNum = 0}; if not defined (adrTable^.server) { adrTable^.server = "rootUpdates.frontierOpenSource.editHere.com"}; if not defined (adrTable^.URL) { adrTable^.URL = "http://www.frontierOpenSource.editHere.com/rootUpdates/mainResponder"}}; bundle { // open discuss.root startupMsg ("Opening discuss.root" ); local (f = Frontier.getSubFolder ("ops") + "discuss.root"); system.temp.mainResponder.discussRootFile = f; if not defined ([f]) { //PBS 11/15/99: open discuss.root only if it's not already open mainResponder.openFile ("ops", "discuss.root")}; local (adrdata = @[f].["discuss"]); if not defined (adrdata^) { new (tabletype, adrdata)}; if not defined (adrdata^.calendar) { new (tabletype, @adrdata^.calendar)}; if not defined (adrdata^.messages) { new (tabletype, @adrdata^.messages)}; bundle { //prefs local (adrprefs = @adrdata^.prefs); if not defined (adrprefs^) { new (tabletype, adrprefs)}; Çif not defined (adrprefs^.auditTrail) //Fri, 12 Mar 1999 17:43:10 GMT by AR Çadrprefs^.auditTrail = true Çif not defined (adrprefs^.auditTrailFolder) Çlocal (pc = file.getpathchar ()) Çadrprefs^.auditTrailFolder = Frontier.getSubFolder ("/ops/discuss/") //PBS 3/9/99 if not defined (adrprefs^.nextMsgNum) { adrprefs^.nextMsgNum = 1}; if not defined (adrprefs^.url) { //PBS 3/16/99 adrprefs^.url = config.mainResponder.urls.discussMsgReader}; if not defined (adrprefs^.adrMsgReader) { //PBS 3/16/99 local (f = Frontier.getSubFolder ("/www/") + "htmlInterfaces.root"); if defined ([f].discussionGroup.msgReader) { adrprefs^.adrMsgReader = @[f].discussionGroup.msgReader} else { adrprefs^.adrMsgReader = nil}}}; //it can be set later: it should exist, at least try {delete (@[f].["item #1"])}; filemenu.save (f)}; bundle { // open members.root startupMsg ("Opening members.root" ); local (f = Frontier.getSubFolder ("ops") + "members.root"); system.temp.mainResponder.membersRootFile = f; if not defined ([f]) { //PBS 11/15/99: open members.root only if it's not already open mainResponder.openFile ("ops", "members.root")}; local (adrtable = @[f].["default"]); if not defined (adrtable^) { new (tabletype, adrtable)}; if not defined (adrtable^.callbacks) { new (tabletype, @adrtable^.callbacks)}; if not defined (adrtable^.cookieDomain) { adrtable^.cookieDomain = ""}; if not defined (adrtable^.cookieExpires) { Çadrtable^.cookieExpires = "Friday, 31-Dec-99 23:59:59 GMT" adrtable^.cookieExpires = "Mon, 01 Apr 2030 07:00:00 GMT"}; //PBS 12/30/99: set the cookie expiration date farther in the future if not defined (adrtable^.cookieName) { adrtable^.cookieName = "Nirvana Server"}; if not defined (adrtable^.mailReturnAddress) { adrtable^.mailReturnAddress = user.prefs.mailAddress}; if not defined (adrtable^.mailSubject) { adrtable^.mailSubject = "Welcome!"}; if not defined (adrtable^.mailTemplate) { adrtable^.mailTemplate = mainResponder.data.mailTemplate}; if not defined (adrtable^.openToPublic) { adrtable^.openToPublic = true}; if not defined (adrtable^.users) { new (tabletype, @adrtable^.users)}; try {delete (@[f].["item #1"])}}; Çbundle // open news.root Çlocal (folder = Frontier.getSubFolder ("/www/")) Çlocal (f = folder + "news.root") Çif file.exists (f) ÇstartupMsg ("Opening news.root" ) Çif not defined ([f]) //PBS 11/15/99: open news.root only if it's not already open ÇmainResponder.openFile ("www", "news.root") Çsystem.temp.mainResponder.newsRootFile = f bundle { // set up mainResponderWebsites.root bundle { // open local (folder = Frontier.getSubFolder ("/www/")); local (f = folder + "mainResponderWebsites.root"); if file.exists (f) { startupMsg ("Opening mainResponderWebsites.root" ); if not defined ([f]) { mainResponder.openFile ("www", "mainResponderWebsites.root")}; system.temp.mainResponder.mainResponderWebsitesRootFile = f}}; bundle { // add a "fake" entry to user.databases to that this database can be indexed local (adrTable = @user.databases.["mainResponderWebsites.root"]); if not (defined (adrTable^)) { new (tableType, adrTable); adrTable^.supportsIndexing = true; adrTable^.openOnStartup = false}}; bundle { // init rootUpdates prefs local (adrTable = @user.rootUpdates.servers.mainResponderWebsites); if not defined (adrTable^) { new (tableType, adrTable)}; if not defined (adrTable^.autobackup) { adrTable^.autobackup = true}; if not defined (adrTable^.dbname) { adrTable^.dbname = "mainResponderWebsites.root"}; if not defined (adrTable^.dialogs) { adrTable^.dialogs = true}; if not defined (adrTable^.lastUpdate) { adrTable^.lastUpdate = Frontier.data.initialLastUpdateTime}; if not defined (adrTable^.method) { adrTable^.method = "mainResponder.subscriptions.update"}; if not defined (adrTable^.port) { adrTable^.port = 8081}; if not defined (adrTable^.serialNum) { adrTable^.serialNum = 0}; if not defined (adrTable^.server) { adrTable^.server = "rootUpdates.frontierOpenSource.editHere.com"}; if not defined (adrTable^.URL) { adrTable^.URL = "http://www.frontierOpenSource.editHere.com/rootUpdates/mainResponderWebsites"}}}; msg ("") // wipe out any msg we left behind \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:mainResponder.startup ! ÇChanges Ç2/9/06; 2:31:15 PM by TAC Çset up 127.0.0.2 in domains for serving attachments Çadd sampleMrWs to domains table and install sampleMrWs Ç2/8/06; 11:10:24 AM by TAC Çadded support for mainResponderWebsites.root Çtweaked script formatting Çnews.root code disabled Ç2/1/06; 12:59:03 PM by TAC Çchange root update last update time from hard coded date to Frontier.data.initialLastUpdateTime Ç12/23/05; 9:31:12 PM by TAC ÇnirvanaServer is not a supported name for betty Çupdated root update server information for frontier open source Ç07/29/00; 10:12:31 AM by PBS ÇEnsure that the everyMinute task, if it already exists, is valid. It's crucial to save databases every minute. Ç05/15/00; 9:33:03 PM by PBS ÇMake sure the nightlyUpdates task has been created. This scheduler task handles updating the various Frontier gdbs. It was uncoupled from mainResponder.background.everyNight, as machines were competing on the hour to get updates. Now the times are more dispersed. Ç1999 Ç12/30/99; 12:16:25 PM by PBS ÇWhen creating a new default membership group, set the cookie expiration date to Mon, 01 Apr 2030 07:00:00 GMT. Ç12/11/99; 5:29:27 AM by AR ÇUpdated the code for hooking into the scheduler: Only create entries in user.scheduler if they don't already exist. Also, use scripts instead of addresses for better portability. Ç11/15/99; 10:57:16 PM by PBS ÇOn some systems, if any or all of config.root, discuss.root, members.root, and news.root are open before mainResponder's startup script runs, this would cause the startup script to abort with an error. Now the startup script checks to see if a database is open before trying to open it -- if it's already open, it doesn't try to open it. Ç10/25/99; 2:55:22 PM by PBS ÇCreate callbacks in user.webEditServer.callbacks as scripts, not addresses, since addresses break when Frontier is moved to another machine or folder or the hard drive is renamed. This removes the leading cause of problems with WebEditServer. ÇChanged default root updates prefs. Server is updates.userland.com, URL is http://frontier.userland.com/updates/mainResponder ÇThu, Mar 25, 1999 at 3:11:02 PM by PBS ÇDon't create an empty news.root if none exists. ÇTue, Mar 9, 1999 at 4:14:33 PM by PBS ÇCall Frontier.getSubFolder rather than mainResponder.getFolder. ÇThis script is called when Frontier starts up, to get mainResponder ready for another session. on startupMsg (s) { msg ("mainResponder.startup: " + s)}; new (tableType, @system.temp.mainResponder); local (alist = string.parseAddress (this)); system.temp.mainResponder.mainResponderRootFile = alist [1]; bundle { //get the path to Index.root ÇTuesday, January 19, 1999 at 3:52:27 PM by PBS system.temp.mainResponder.indexRootFile = Frontier.getSubFolder ("ops/") + "Index.root"}; bundle { //system.temp.mainResponder.search ÇTuesday, January 19, 1999 at 3:44:11 PM by PBS new (tableType, @system.temp.mainResponder.search)}; bundle { //open config.root startupMsg ("Opening config.root" ); local (f = Frontier.getSubFolder ("apps") + "config.root"); system.temp.mainResponder.configRootFile = f; if not defined ([f]) { //PBS 11/15/99: open config.root only if it's not already open mainResponder.openFile ("apps", "config.root")}; local (adrconfig = @[system.temp.mainResponder.configRootFile].config); if not defined (adrconfig^) { new (tabletype, adrconfig)}}; mainResponder.init (); bundle { // init Frontier.root stuff Çuser.menus.nirvanaServer = @mainResponder.menu // Sun, 07 Mar 1999 15:06:26 GMT by AR ÇAdd XML-RPC handlers. Çif not defined (user.betty.rpcHandlers.nirvanaServer) Çuser.betty.rpcHandlers.nirvanaServer = @mainResponder.rpcHandlers if not defined (user.betty.rpcHandlers.mainResponder) { //PBS 3/16/99: both names are supported user.betty.rpcHandlers.mainResponder = @mainResponder.rpcHandlers}; ÇAdd WebEditServer callbacks needed to support #changes table and search engine indexing. webEditServer.init (); local (scriptCode = "on nirvanaServer (adrObject, username, now, description)\r\treturn (mainResponder.subscriptions.checkInCallback (adrObject, username, now, description))"); if not defined (user.webeditserver.callbacks.checkin.nirvanaServer) { script.newScriptObject (scriptCode, @user.webeditserver.callbacks.checkin.nirvanaServer)}; if not defined (user.webeditserver.callbacks.sendToServer.nirvanaServer) { if defined (user.webEditServer.callbacks.sendToServer) { script.newScriptObject (scriptCode, @user.webeditserver.callbacks.sendToServer.nirvanaServer)}}; scriptCode = "on searchEngineClient (adrObject, username=nil, now=nil, description=nil)\r\treturn (mainResponder.search.client.webEditCallback (adrObject, username, now, description))"; if not defined (user.webeditserver.callbacks.checkIn.searchEngineClient) { script.newScriptObject (scriptCode, @user.webeditserver.callbacks.checkIn.searchEngineClient)}; if not defined (user.webEditServer.callbacks.sendToServer.searchEngineClient) { if defined (user.webEditServer.callbacks.sendToServer) { script.newScriptObject (scriptCode, @user.webEditServer.callbacks.sendToServer.searchEngineClient)}}; ÇScheduler. scheduler.init (); //upgrades user.scheduler if it needs it if not defined (user.scheduler.everyMinute.nirvanaServer) { local (scriptCode = "mainresponder.background.everyminute ()"); script.newScriptObject (scriptCode, @user.scheduler.everyMinute.nirvanaServer)} else { //PBS 07/29/00: ensure that the everyMinute task is actually valid: it's crucial to save databases every minute if typeOf (user.scheduler.everyMinute.nirvanaServer) == addressType { if not defined (user.scheduler.everyMinute.nirvanaServer^) { local (scriptCode = "mainresponder.background.everyminute ()"); script.newScriptObject (scriptCode, @user.scheduler.everyMinute.nirvanaServer)}}}; if not defined (user.scheduler.hourly.nirvanaServer) { local (scriptCode = "mainresponder.background.everyHour ()"); script.newScriptObject (scriptCode, @user.scheduler.hourly.nirvanaServer)}; if not defined (user.scheduler.hourly.searchEngine) { local (scriptCode = "mainResponder.search.server.indexStoredPages ()"); script.newScriptObject (scriptCode, @user.scheduler.hourly.searchEngine)}; if not defined (user.scheduler.overnight.nirvanaServer) { local (scriptCode = "mainresponder.background.everynight ()"); script.newScriptObject (scriptCode, @user.scheduler.overnight.nirvanaServer)}; if not defined (user.scheduler.tasks.nightlyUpdates) { local (adrTable = @user.scheduler.tasks.nightlyUpdates); startupMsg ("Creating nightly updates task."); new (tableType, adrTable); local (scriptCode = "mainResponder.background.nightlyUpdates ()"); script.newScriptObject (scriptCode, @adrTable^.script); adrTable^.ctRuns = 0; adrTable^.error = ""; adrTable^.minutesBetweenRuns = 1440; ÇGet a task time that's a random 5 to 55 minutes in the hour after the overnight script runs. local (overnightTaskTime = user.scheduler.tasks.overnight.taskTime); local (minutesPastTime = random (5, 55)); local (updatesTaskTime = overnightTaskTime + (minutesPastTime * 60)); adrTable^.taskTime = updatesTaskTime}}; bundle { // init 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}; if not defined (adrTable^.lastUpdate) { adrTable^.lastUpdate = Frontier.data.initialLastUpdateTime}; if not defined (adrTable^.method) { adrTable^.method = "mainResponder.subscriptions.update"}; if not defined (adrTable^.port) { adrTable^.port = 8081}; if not defined (adrTable^.serialNum) { adrTable^.serialNum = 0}; if not defined (adrTable^.server) { adrTable^.server = "rootUpdates.frontierOpenSource.editHere.com"}; if not defined (adrTable^.URL) { adrTable^.URL = "http://www.frontierOpenSource.editHere.com/rootUpdates/mainResponder"}}; bundle { // open discuss.root startupMsg ("Opening discuss.root" ); local (f = Frontier.getSubFolder ("ops") + "discuss.root"); system.temp.mainResponder.discussRootFile = f; if not defined ([f]) { //PBS 11/15/99: open discuss.root only if it's not already open mainResponder.openFile ("ops", "discuss.root")}; local (adrdata = @[f].["discuss"]); if not defined (adrdata^) { new (tabletype, adrdata)}; if not defined (adrdata^.calendar) { new (tabletype, @adrdata^.calendar)}; if not defined (adrdata^.messages) { new (tabletype, @adrdata^.messages)}; bundle { //prefs local (adrprefs = @adrdata^.prefs); if not defined (adrprefs^) { new (tabletype, adrprefs)}; Çif not defined (adrprefs^.auditTrail) //Fri, 12 Mar 1999 17:43:10 GMT by AR Çadrprefs^.auditTrail = true Çif not defined (adrprefs^.auditTrailFolder) Çlocal (pc = file.getpathchar ()) Çadrprefs^.auditTrailFolder = Frontier.getSubFolder ("/ops/discuss/") //PBS 3/9/99 if not defined (adrprefs^.nextMsgNum) { adrprefs^.nextMsgNum = 1}; if not defined (adrprefs^.url) { //PBS 3/16/99 adrprefs^.url = config.mainResponder.urls.discussMsgReader}; if not defined (adrprefs^.adrMsgReader) { //PBS 3/16/99 local (f = Frontier.getSubFolder ("/www/") + "htmlInterfaces.root"); if defined ([f].discussionGroup.msgReader) { adrprefs^.adrMsgReader = @[f].discussionGroup.msgReader} else { adrprefs^.adrMsgReader = nil}}}; //it can be set later: it should exist, at least try {delete (@[f].["item #1"])}; filemenu.save (f)}; bundle { // open members.root startupMsg ("Opening members.root" ); local (f = Frontier.getSubFolder ("ops") + "members.root"); system.temp.mainResponder.membersRootFile = f; if not defined ([f]) { //PBS 11/15/99: open members.root only if it's not already open mainResponder.openFile ("ops", "members.root")}; local (adrtable = @[f].["default"]); if not defined (adrtable^) { new (tabletype, adrtable)}; if not defined (adrtable^.callbacks) { new (tabletype, @adrtable^.callbacks)}; if not defined (adrtable^.cookieDomain) { adrtable^.cookieDomain = ""}; if not defined (adrtable^.cookieExpires) { Çadrtable^.cookieExpires = "Friday, 31-Dec-99 23:59:59 GMT" adrtable^.cookieExpires = "Mon, 01 Apr 2030 07:00:00 GMT"}; //PBS 12/30/99: set the cookie expiration date farther in the future if not defined (adrtable^.cookieName) { adrtable^.cookieName = "Nirvana Server"}; if not defined (adrtable^.mailReturnAddress) { adrtable^.mailReturnAddress = user.prefs.mailAddress}; if not defined (adrtable^.mailSubject) { adrtable^.mailSubject = "Welcome!"}; if not defined (adrtable^.mailTemplate) { adrtable^.mailTemplate = mainResponder.data.mailTemplate}; if not defined (adrtable^.openToPublic) { adrtable^.openToPublic = true}; if not defined (adrtable^.users) { new (tabletype, @adrtable^.users)}; try {delete (@[f].["item #1"])}}; Çbundle // open news.root Çlocal (folder = Frontier.getSubFolder ("/www/")) Çlocal (f = folder + "news.root") Çif file.exists (f) ÇstartupMsg ("Opening news.root" ) Çif not defined ([f]) //PBS 11/15/99: open news.root only if it's not already open ÇmainResponder.openFile ("www", "news.root") Çsystem.temp.mainResponder.newsRootFile = f bundle { // set up mainResponderWebsites.root bundle { // open local (folder = Frontier.getSubFolder ("/www/")); local (f = folder + "mainResponderWebsites.root"); if file.exists (f) { startupMsg ("Opening mainResponderWebsites.root" ); if not defined ([f]) { mainResponder.openFile ("www", "mainResponderWebsites.root")}; system.temp.mainResponder.mainResponderWebsitesRootFile = f}}; bundle { // add a "fake" entry to user.databases to that this database can be indexed local (adrTable = @user.databases.["mainResponderWebsites.root"]); if not (defined (adrTable^)) { new (tableType, adrTable); adrTable^.supportsIndexing = true; adrTable^.openOnStartup = false}}; bundle { // init rootUpdates prefs local (adrTable = @user.rootUpdates.servers.mainResponderWebsites); if not defined (adrTable^) { new (tableType, adrTable)}; if not defined (adrTable^.autobackup) { adrTable^.autobackup = true}; if not defined (adrTable^.dbname) { adrTable^.dbname = "mainResponderWebsites.root"}; if not defined (adrTable^.dialogs) { adrTable^.dialogs = true}; if not defined (adrTable^.lastUpdate) { adrTable^.lastUpdate = Frontier.data.initialLastUpdateTime}; if not defined (adrTable^.method) { adrTable^.method = "mainResponder.subscriptions.update"}; if not defined (adrTable^.port) { adrTable^.port = 8081}; if not defined (adrTable^.serialNum) { adrTable^.serialNum = 0}; if not defined (adrTable^.server) { adrTable^.server = "rootUpdates.frontierOpenSource.editHere.com"}; if not defined (adrTable^.URL) { adrTable^.URL = "http://www.frontierOpenSource.editHere.com/rootUpdates/mainResponderWebsites"}}; if sizeof (config.mainresponder.domains) == 0 { local (adrSite = @sampleMrWs, pc = file.getPathChar ()); mainResponder.siteTree.addSiteToTree ("default", "", adrSite, true, false); mainResponder.utilities.installSite (adrSite, "sample", "http://127.0.0.1/", "http://127.0.0.1/", false, true); config.mainresponder.domains.["127.0.0.2"] = pc + ((Frontier.getSubFolder ("/www/") + "attachments" + pc) - Frontier.pathString)}}; msg ("") // wipe out any msg we left behind \ No newline at end of file |