Monday, November 08, 2010 at 12:05 AM.

system.verbs.builtins.rootUpdates.init

on init () {
	<<Changes
		<<8/15/08; 5:39:27 AM by DW
			<<Add maintenence code, reset the backupfolder if it exists. It appeared that this was being set incorrectly in some cases, theory is that frontier.getsubfolder was depending on frontier.pathstring before it was correctly set. It now computes the location of the folder instead of relying on frontier.pathstring being correct.
		<<7/26/08; 12:42:53 PM by DW
			<<Init user.rootUpdates.prefs.flBackupParts and backupFolder.
		<<8/28/02; 10:42:47 PM by JES
			<<Init user.rootUpdates.callbacks.
		<<06/17/00; 4:18:28 PM by PBS
			<<Added new timeout pref specific to root updates. This way you can set the root updates timeout much higher than the default RPC client timeout.
			<<Logging of root updates is now false by default.
		<<08/20/00; 11:59:32 AM by PBS
			<<If this is Radio UserLand, don't set up prefs for updating Frontier.root.
		<<10/7/99; 6:07:04 PM by DW
			<<Added user.rootupdates.prefs and user.rootupdates.prefs.flShowUpdatesToUser
			<<Instead of defaulting to madrid.userland.com, the server defaults to updates.userland.com.
			<<http://frontier.userland.com/discuss/msgReader$1766
	if not defined (user.rootUpdates) {
		new (tableType, @user.rootUpdates)};
	bundle { //user.rootupdates.flags
		if not defined (user.rootupdates.flags) {
			new (tableType, @user.rootupdates.flags)};
		if not defined (user.rootupdates.flags.fixWeirdBackupFolder) { //8/15/08 by DW
			if defined (user.rootUpdates.prefs.backupFolder) {
				delete (@user.rootUpdates.prefs.backupFolder)};
			user.rootupdates.flags.fixWeirdBackupFolder = clock.now ()}};
	bundle { //user.rootupdates.prefs
		if not defined (user.rootupdates.prefs) {
			new (tableType, @user.rootUpdates.prefs)};
		if not defined (user.rootupdates.prefs.flShowUpdatesToUser) {
			user.rootupdates.prefs.flShowUpdatesToUser = true;
			user.rootupdates.prefs.flShowUpdatesToUser = false}; //PBS 06/17/00: logging is off by default
		if not defined (user.rootupdates.prefs.adrOutlineForUser) {
			user.rootupdates.prefs.adrOutlineForUser = @user.rootUpdates.updateOutline};
		if not defined (user.rootUpdates.prefs.timeout) { //PBS 06/17/00: timeout ticks specific to root updates
			user.rootUpdates.prefs.timeout = ((60 * 60) * 60)}; //one minute
		if not defined (user.rootUpdates.prefs.flBackupParts) { //7/26/08 by DW
			user.rootUpdates.prefs.flBackupParts = true};
		if not defined (user.rootUpdates.prefs.backupFolder) { //7/26/08 by DW
			user.rootUpdates.prefs.backupFolder = frontier.getsubfolder ("ops") + "rootUpdateBackups" + file.getpathchar ()}};
	bundle { //user.rootUpdates.callbacks
		if not defined (user.rootUpdates.callbacks) {
			new (tableType, @user.rootUpdates.callbacks)};
		if not defined (user.rootUpdates.callbacks.beforeInstallPart) {
			new (tableType, @user.rootUpdates.callbacks.beforeInstallPart)};
		if not defined (user.rootUpdates.callbacks.afterInstallPart) {
			new (tableType, @user.rootUpdates.callbacks.afterInstallPart)}};
	bundle { //user.rootUpdates.servers
		if not defined (user.rootUpdates.servers) {
			new (tableType, @user.rootUpdates.servers)};
		if not system.environment.isPike { //PBS 08/20/00: set up root updates prefs for Frontier.root only if this is Frontier
			if not defined (user.rootUpdates.servers.Frontier) {
				new (tableType, @user.rootUpdates.servers.Frontier)};
			if not defined (user.rootUpdates.servers.Frontier.lastupdate) {
				user.rootUpdates.servers.Frontier.lastupdate = "Sun, 14 Jun 1998 12:00:00 GMT"};
			if typeOf (user.rootUpdates.servers.Frontier.lastUpdate) != stringType {
				user.rootUpdates.servers.Frontier.lastupdate = "Sun, 14 Jun 1998 12:00:00 GMT"};
			if not defined (user.rootUpdates.servers.Frontier.autobackup) {
				user.rootUpdates.servers.Frontier.autobackup = true};
			if not defined (user.rootUpdates.servers.Frontier.method) {
				user.rootUpdates.servers.Frontier.method = "rootUpdates.public.getUpdate"};
			if not defined (user.rootUpdates.servers.Frontier.server) {
				user.rootUpdates.servers.Frontier.server = "updates.userland.com"};
			if not defined (user.rootUpdates.servers.Frontier.port) {
				user.rootUpdates.servers.Frontier.port = 80};
			if not defined (user.rootUpdates.servers.Frontier.dialogs) {
				user.rootUpdates.servers.Frontier.dialogs = true};
			if not defined (user.rootUpdates.servers.Frontier.URL) {
				user.rootUpdates.servers.Frontier.URL = "http://support.userland.com/rootUpdatesLog.html"}}}}
<<bundle //test code
	<<init ()



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.