Wednesday, March 16, 2011 at 3:29 PM.
scripting2Suite.editor.init
on init (adrdata) {
<<Changes
<<3/16/11; 12:13:09 AM by DW
<<The default server for new users is 127.0.0.1 not cms.scripting2.com.
<<11/11/10; 11:46:48 AM by DW
<<The domain and port of the default server changed.
<<8/18/10; 3:16:57 PM by DW
<<Comment out code for hooking into the realtime manager for the (no longer present) instant outliner.
<<7/13/10; 7:08:59 AM by DW
<<Created. This code used to be in the top-level init script, which caused all kinds of consistency problems. Instead we call it from there.
if not defined (adrdata^.editor) {
new (tabletype, @adrdata^.editor)};
bundle { //workspace
if defined (adrdata^.editor.workspace) { //convert from outline to table -- 7/3/10 by DW
if typeof (adrdata^.editor.workspace) == outlinetype {
local (lo = adrdata^.editor.workspace);
delete (@adrdata^.editor.workspace);
new (tabletype, @adrdata^.editor.workspace);
adrdata^.editor.workspace.outline = lo}}
else {
new (tabletype, @adrdata^.editor.workspace);
new (outlinetype, @adrdata^.editor.workspace.outline);
adrdata^.editor.workspace.flnew = true}; //7/7/10 by DW
if not defined (adrdata^.editor.workspace.flnew) {
adrdata^.editor.workspace.flnew = false}};
bundle { //buddies
if not defined (adrdata^.editor.buddies) {
new (tabletype, @adrdata^.editor.buddies);
new (outlinetype, @adrdata^.editor.buddies.outline);
new (tabletype, @adrdata^.editor.buddies.users)}};
bundle { //prefs
if not defined (adrdata^.editor.prefs) {
new (tabletype, @adrdata^.editor.prefs)};
if not defined (adrdata^.editor.prefs.username) {
adrdata^.editor.prefs.username = ""};
if not defined (adrdata^.editor.prefs.password) {
adrdata^.editor.prefs.password = ""};
if not defined (adrdata^.editor.prefs.server) { //6/26/10 by DW
adrdata^.editor.prefs.server = "xmlrpc://127.0.0.1:5337/RPC2"};
<<adrdata^.editor.prefs.server = "xmlrpc://cms.scripting2.com:5337/RPC2"
bundle { //"folder" changes to "backupFolder", 7/1/10 by DW
if defined (adrdata^.editor.prefs.folder) {
adrdata^.editor.prefs.backupFolder = adrdata^.editor.prefs.folder;
delete (@adrdata^.editor.prefs.folder)}};
if not defined (adrdata^.editor.prefs.backupFolder) {
local (pc = file.getpathchar ());
adrdata^.editor.prefs.backupFolder = frontier.pathstring + "Scripting2" + pc + "backups" + pc};
if not defined (adrdata^.editor.prefs.imagesFolder) {
local (pc = file.getpathchar ());
adrdata^.editor.prefs.imagesFolder = frontier.pathstring + "Scripting2" + pc + "images" + pc};
bundle { //watchedFolder prefs, 7/1/10 by DW
if not defined (adrdata^.editor.prefs.watchedFolder) {
new (tabletype, @adrdata^.editor.prefs.watchedFolder)};
if not defined (adrdata^.editor.prefs.watchedFolder.enabled) {
adrdata^.editor.prefs.watchedFolder.enabled = true};
if not defined (adrdata^.editor.prefs.watchedFolder.folder) {
local (pc = file.getpathchar ());
adrdata^.editor.prefs.watchedFolder.folder = frontier.pathstring + "Scripting2" + pc + "images" + pc;
file.surefilepath (adrdata^.editor.prefs.watchedFolder.folder + "xxx")};
if not defined (adrdata^.editor.prefs.watchedFolder.ctUploads) {
adrdata^.editor.prefs.watchedFolder.ctUploads = 0};
if not defined (adrdata^.editor.prefs.watchedFolder.ctChecks) {
adrdata^.editor.prefs.watchedFolder.ctChecks = 0};
if not defined (adrdata^.editor.prefs.watchedFolder.clipboardTemplate) {
adrdata^.editor.prefs.watchedFolder.clipboardTemplate = scripting2Suite.data.html.clipboardTemplate}};
if not defined (adrdata^.editor.prefs.flOpenWorkspaceOnLaunch) {
adrdata^.editor.prefs.flOpenWorkspaceOnLaunch = false};
if not defined (adrdata^.editor.prefs.flBeepOnBuddyUpdate) {
adrdata^.editor.prefs.flBeepOnBuddyUpdate = true};
if not defined (adrdata^.editor.prefs.flBeepOnBuddyUpdate) {
adrdata^.editor.prefs.flBeepOnBuddyUpdate = true};
if not defined (adrdata^.editor.prefs.flRealtimeEnabled) { //7/16/10 by DW -- so you can turn it off quickly
adrdata^.editor.prefs.flRealtimeEnabled = true}};
bundle { //stats
if not defined (adrdata^.editor.stats) {
new (tabletype, @adrdata^.editor.stats)};
if not defined (adrdata^.editor.stats.pgfSerialnum) { //6/23/10 by DW
adrdata^.editor.stats.pgfSerialnum = 1};
if not defined (adrdata^.editor.stats.flPasswordValid) { //7/8/10 by DW
adrdata^.editor.stats.flPasswordValid = false};
if not defined (adrdata^.editor.stats.urlLiveBlog) { //7/10/10 by DW
adrdata^.editor.stats.urlLiveBlog = ""};
if not defined (adrdata^.editor.stats.ctRealtimeLoops) { //7/15/10 by DW
adrdata^.editor.stats.ctRealtimeLoops = 0};
if not defined (adrdata^.editor.stats.ctRealtimeThreadStarts) { //7/15/10 by DW
adrdata^.editor.stats.ctRealtimeThreadStarts = 0}};
bundle { //serverPrefs, have to set this up in case username/password fail on Prefs page
if not defined (adrdata^.editor.serverPrefs) {
new (tabletype, @adrdata^.editor.serverPrefs)};
if not defined (adrdata^.editor.serverPrefs.ownerName) {
adrdata^.editor.serverPrefs.ownerName = ""};
if not defined (adrdata^.editor.serverPrefs.ownerEmail) {
adrdata^.editor.serverPrefs.ownerEmail = ""};
if not defined (adrdata^.editor.serverPrefs.weblogName) {
adrdata^.editor.serverPrefs.weblogName = ""};
if not defined (adrdata^.editor.serverPrefs.tagline) {
adrdata^.editor.serverPrefs.tagline = ""};
if not defined (adrdata^.editor.serverPrefs.timeZone) {
adrdata^.editor.serverPrefs.timeZone = 0};
if not defined (adrdata^.editor.serverPrefs.timeZoneName) {
adrdata^.editor.serverPrefs.timeZoneName = "GMT"};
if not defined (adrdata^.editor.serverPrefs.flDisqusComments) {
adrdata^.editor.serverPrefs.flDisqusComments = false};
if not defined (adrdata^.editor.serverPrefs.disqusShortname) {
adrdata^.editor.serverPrefs.disqusShortname = ""}}}
<<bundle //hook into the realtime manager, so we get instant outline updates, 7/20/10 by DW
<<local (adrrealtime = realtime.init ())
<<if not defined (adrrealtime^.client.callbacks.handleUpdate.instantOutline)
<<adrrealtime^.client.callbacks.handleUpdate.instantOutline = @scripting2Suite.editor.io.incomingUpdate
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.