Tuesday, February 01, 2011 at 4:24 PM.
myServerFarmSuite.init
<<Changes <<2/1/11; 4:12:57 PM by DW <<Init flags table. <<12/14/10; 6:16:17 PM by DW <<Init FTP prefs, for fresca only. <<11/29/10; 5:29:21 PM by DW <<Init stats.ctConflictedCopyDeletions. <<11/29/10; 3:19:31 PM by DW <<New flag for Apache serving. <<11/26/10; 2:12:54 PM by DW <<Lots of little changes to make Apache-based serving a breeze on fresca.scripting.com. <<Change the initialization of adrdata^.prefs.myServerFarmFolder to that it points to a sub-folder of "myServerFarm/servers" <<If adrdata^.prefs.myName is not defined, init it to "". <<Make sure user.tools.prefs.flUseScheduler2 is defined and is true. <<11/6/10; 4:33:17 PM by DW <<Init adrdata^.stats.ctRootUpdates. <<11/5/10; 4:44:02 PM by DW <<Init adrdata^.prefs.myServerFarmFolder. <<10/9/10; 12:22:02 AM by DW <<Init adrdata^.prefs.apacheFolder. This is a little tricky. In myServerFarmSuite.dropboxToApache, this is the path by which Apache gets to the sub-folder of Dropbox folder called Apache. It's achieved through an alias, so the path isn't the "native" path. It has to be this way to circumvent security constraints in Apache. <<9/21/10; 8:59:21 AM by DW <<Created. local (adrdata = @config.myServerFarm); if not defined (adrdata^) { new (tabletype, adrdata)}; bundle { //prefs if not defined (adrdata^.prefs) { new (tabletype, @adrdata^.prefs)}; if not defined (adrdata^.prefs.dropboxFolder) { if defined (user.prefs.dropboxfolder) { adrdata^.prefs.dropboxFolder = user.prefs.dropboxfolder} else { adrdata^.prefs.dropboxFolder = "C:\\My Dropbox\\"}}; if not defined (adrdata^.prefs.myName) { //11/26/10 by DW adrdata^.prefs.myName = ""}; bundle { //init adrdata^.prefs.myServerFarmFolder if not defined (adrdata^.prefs.myServerFarmFolder) { adrdata^.prefs.myServerFarmFolder = ""}; if adrdata^.prefs.myServerFarmFolder == "" { if adrdata^.prefs.myName != "" { local (pc = file.getpathchar ()); adrdata^.prefs.myServerFarmFolder = adrdata^.prefs.dropboxFolder + "myServerFarm" + pc + "servers" + pc + adrdata^.prefs.myName + pc}}}; if not defined (adrdata^.prefs.myName) { adrdata^.prefs.myName = ""}; bundle { //apache if not defined (adrdata^.prefs.apache) { new (tabletype, @adrdata^.prefs.apache)}; if not defined (adrdata^.prefs.apache.enabled) { adrdata^.prefs.apache.enabled = false}; if not defined (adrdata^.prefs.apache.flRpcWriteEnabled) { //11/29/10 by DW adrdata^.prefs.apache.flRpcWriteEnabled = false}; if not defined (adrdata^.prefs.apache.folder) { //the folder that Apache is serving from adrdata^.prefs.apache.folder = ""}; if not defined (adrdata^.prefs.apache.configfile) { //httpd-vhosts.con adrdata^.prefs.apache.configfile = "C:\\Program Files\\Apache Software Foundation\\Apache2.2\\conf\\extra\\httpd-vhosts.conf"}}; bundle { //ftp -- only needed on fresca, 12/14/10 by DW if not defined (adrdata^.prefs.ftp) { new (tabletype, @adrdata^.prefs.ftp)}; if not defined (adrdata^.prefs.ftp.enabled) { adrdata^.prefs.ftp.enabled = false}; if not defined (adrdata^.prefs.ftp.server) { adrdata^.prefs.ftp.server = "127.0.0.1"}; if not defined (adrdata^.prefs.ftp.username) { adrdata^.prefs.ftp.username = ""}; if not defined (adrdata^.prefs.ftp.password) { adrdata^.prefs.ftp.password = ""}}}; bundle { //stats if not defined (adrdata^.stats) { new (tabletype, @adrdata^.stats)}; if not defined (adrdata^.stats.ctEveryMinutes) { adrdata^.stats.ctEveryMinutes = 0}; if not defined (adrdata^.stats.flLogDirty) { adrdata^.stats.flLogDirty = false}; if not defined (adrdata^.stats.ctLogCallbacks) { adrdata^.stats.ctLogCallbacks = 0}; if not defined (adrdata^.stats.ctLogBuilds) { adrdata^.stats.ctLogBuilds = 0}; if not defined (adrdata^.stats.ctRootUpdates) { //11/6/10 by DW adrdata^.stats.ctRootUpdates = 0}; if not defined (adrdata^.stats.ctConflictedCopyDeletions) { //11/29/10 by DW adrdata^.stats.ctConflictedCopyDeletions = 0}}; bundle { //misc if not defined (config.log.callbacks.afterAdd.myServerFarm) { config.log.callbacks.afterAdd.myServerFarm = @myServerFarmSuite.logCallback}; if not defined (user.prefs.fldevmachine) { user.prefs.fldevmachine = false}; bundle { //user.tools.prefs.flUseScheduler2, 11/26/10 by DW if not defined (user.tools.prefs.flUseScheduler2) { user.tools.prefs.flUseScheduler2 = true} else { if not user.tools.prefs.flUseScheduler2 { user.tools.prefs.flUseScheduler2 = true}}}; if not defined (adrdata^.flags) { //2/1/11 by DW new (tabletype, @adrdata^.flags)}}; bundle { //old stuff to delete if defined (adrdata^.prefs.apacheFolder) { //10/9/10 by DW delete (@adrdata^.prefs.apacheFolder)}}; bundle { //temp table if not defined (system.temp.myServerFarm) { new (tabletype, @system.temp.myServerFarm)}; if not defined (system.temp.myServerFarm.whenLaunched) { system.temp.myServerFarm.whenLaunched = clock.now ()}}; return (adrdata)
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.