You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(447) |
Nov
(163) |
Dec
(57) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(172) |
Feb
|
Mar
(123) |
Apr
(64) |
May
(1) |
Jun
(278) |
Jul
(89) |
Aug
(97) |
Sep
(62) |
Oct
(53) |
Nov
(119) |
Dec
(60) |
| 2006 |
Jan
(76) |
Feb
(1094) |
Mar
(363) |
Apr
(163) |
May
(57) |
Jun
(43) |
Jul
(39) |
Aug
(15) |
Sep
(33) |
Oct
(62) |
Nov
(8) |
Dec
|
| 2007 |
Jan
(9) |
Feb
(34) |
Mar
(2) |
Apr
(14) |
May
(8) |
Jun
(40) |
Jul
(21) |
Aug
(1) |
Sep
(20) |
Oct
(15) |
Nov
(26) |
Dec
|
| 2008 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
(1) |
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(32) |
Jun
|
Jul
|
Aug
(3) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(7) |
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: creedon <icr...@us...> - 2005-06-14 02:25:43
|
Update of /cvsroot/frontierkernel/odbs/mainResponderRoot/mainResponder/menuCommands In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31678 Removed Files: addToUserDatabases Log Message: Removed. Moved to system.menus.scripts.addToUserDatabases. --- addToUserDatabases DELETED --- |
|
From: creedon <icr...@us...> - 2005-06-14 02:19:48
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/menus/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29253 Added Files: addToUserDatabases Log Message: moved from mainResponder.menuCommands.addToUserDatabases --- NEW FILE: addToUserDatabases --- (This appears to be a binary file; contents omitted.) |
|
From: creedon <icr...@us...> - 2005-06-14 01:51:36
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/Filemaker/appInfo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18257 Modified Files: path Log Message: set filespec to nothing Index: path =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/Filemaker/appInfo/path,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** path 26 Mar 2005 19:42:09 -0000 1.1.1.1 --- path 14 Jun 2005 01:51:28 -0000 1.2 *************** *** 1,2 **** ! FrontierVcsFile:1:TEXT:system.verbs.apps.Filemaker.appInfo.path --- 1,2 ---- ! FrontierVcsFile:1:fss :system.verbs.apps.Filemaker.appInfo.path |
|
From: creedon <icr...@us...> - 2005-06-14 01:25:06
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/xmlStorageSystem In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4234 Modified Files: init Log Message: follow changes comments stylistic conventions Index: init =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/apps/xmlStorageSystem/init,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** init 26 Mar 2005 19:42:33 -0000 1.1.1.1 --- init 14 Jun 2005 01:24:57 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.apps.xmlStorageSystem.init ! ÇChanges: Ç7/2/01; 1:59:58 AM by JES ÇInit user.tools.nodeTypes.user and user.tools.nodeTypes.users if not defined (user.xmlStorageSystem) { new (tabletype, @user.xmlStorageSystem)}; if not defined (user.xmlStorageSystem.pubSubCallbacks) { new (tabletype, @user.xmlStorageSystem.pubSubCallbacks)}; if not defined (user.xmlStorageSystem.name) { user.xmlStorageSystem.name = user.prefs.name}; if not defined (user.xmlStorageSystem.email) { user.xmlStorageSystem.email = user.prefs.mailaddress}; if not defined (user.xmlStorageSystem.password) { user.xmlStorageSystem.password = ""}; if not defined (user.soap.rpcHandlers.xmlStorageSystemClient) { user.soap.rpcHandlers.xmlStorageSystemClient = @xmlStorageSystem.rpcHandlers}; if not defined (user.betty.rpcHandlers.xmlStorageSystemClient) { user.betty.rpcHandlers.xmlStorageSystemClient = @xmlStorageSystem.rpcHandlers}; if not defined (Frontier.tools.data.nodeTypes.user) { Frontier.tools.data.nodeTypes.user = @system.verbs.apps.xmlStorageSystem.nodeTypes.user}; if not defined (Frontier.tools.data.nodeTypes.users) { Frontier.tools.data.nodeTypes.users = @system.verbs.apps.xmlStorageSystem.nodeTypes.users} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.apps.xmlStorageSystem.init ! ÇChanges Ç7/2/01; 1:59:58 AM by JES ÇInit user.tools.nodeTypes.user and user.tools.nodeTypes.users if not defined (user.xmlStorageSystem) { new (tabletype, @user.xmlStorageSystem)}; if not defined (user.xmlStorageSystem.pubSubCallbacks) { new (tabletype, @user.xmlStorageSystem.pubSubCallbacks)}; if not defined (user.xmlStorageSystem.name) { user.xmlStorageSystem.name = user.prefs.name}; if not defined (user.xmlStorageSystem.email) { user.xmlStorageSystem.email = user.prefs.mailaddress}; if not defined (user.xmlStorageSystem.password) { user.xmlStorageSystem.password = ""}; if not defined (user.soap.rpcHandlers.xmlStorageSystemClient) { user.soap.rpcHandlers.xmlStorageSystemClient = @xmlStorageSystem.rpcHandlers}; if not defined (user.betty.rpcHandlers.xmlStorageSystemClient) { user.betty.rpcHandlers.xmlStorageSystemClient = @xmlStorageSystem.rpcHandlers}; if not defined (Frontier.tools.data.nodeTypes.user) { Frontier.tools.data.nodeTypes.user = @system.verbs.apps.xmlStorageSystem.nodeTypes.user}; if not defined (Frontier.tools.data.nodeTypes.users) { Frontier.tools.data.nodeTypes.users = @system.verbs.apps.xmlStorageSystem.nodeTypes.users} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 01:20:00
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/app In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1229 Removed Files: adrAppTable id Log Message: Removed. Set during normal use. --- adrAppTable DELETED --- --- id DELETED --- |
|
From: creedon <icr...@us...> - 2005-06-14 01:08:26
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/app In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27928 Modified Files: startWithDocument Log Message: added mac os x app may be folders to fileIsApp handler, file.creator check Index: startWithDocument =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/app/startWithDocument,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** startWithDocument 26 Mar 2005 19:42:35 -0000 1.1.1.1 --- startWithDocument 14 Jun 2005 01:08:16 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.app.startWithDocument ! on startWithDocument (appTable, docPath) { Çstart talking with the application, might launch it Çadr is the address of an application's glue table, usually in system.verbs.apps Çif the application isn't running, try to launch it Çif the path isn't the program, use file.getFileDialog Çkeep the path updated Çreturns true if the application is launched and ready to talk Çv2.0 dmb: added document support Çv3.0 dmb: handle difference between nil and the empty string for docPath Çzero means normal launch w/out a specific document Ç"" means inhibit default document or open file dialog ÇChanges: Ç1/7/02; 11:44:10 PM by PBS ÇOn OS X apps may be folders. If so, then the path to the app is okay, don't prompt for it again. appTable = address (appTable); bundle { Çbody of app.start local (infoTable); Çthe application's appInfo table local (name, id, path, app1Supported, sharedMenus); on copyFromInfoTable () { Çcopy infoTable values into this script's locals name = infoTable^.name; id = infoTable^.id; path = infoTable^.path; app1Supported = infoTable^.app1Supported; sharedMenus = infoTable^.sharedMenus}; on appRunning () { Çreturn true if the application is running if defined (app.idnetworkapp) { Çregistration already taken care of id = app.idnetworkapp; return (true)}; if sys.appIsRunning (id) { if string.length (infoTable^.path) == 0 { Çhasn't been set yet infoTable^.path = sys.getAppPath (id)}; return (true)}; return (false)}; on fileIsApp () { Çreturn true if the path points to our application if sizeof (path) == 0 { return (false)}; if not file.exists (path) { return (false)}; if file.type (path) != 'APPL' { if not (system.environment.isCarbon and file.isFolder (path)) { //PBS 01/07/02: OS X apps may be folders return (false)}}; if file.creator (path) != id { return (false)}; return (true)}; on searchForApp () { Çreturns empty string if we failed, full path if we won local (folder); folder = file.folderFromPath (Frontier.getFilePath ()) + "UserLand Utilities:"; if file.exists (folder) { local (f); fileloop (f in folder, infinity) { if (file.type (f) == 'APPL') and (file.creator (f) == id) { return (f)}}}; return ("")}; on promptForPath () { Çget the application's path from the user local (newpath); newpath = searchForApp (); if newpath == "" { Çour very limited search strategy failed Frontier.bringToFront (); Çbe sure Frontier is the frontmost app newpath = file.findApplication (infoTable^.id); if not file.getFileDialog ("Where is " + name + "?", @newpath, 'APPL') { return (false)}}; infoTable^.path = newpath; infoTable^.id = file.creator (newpath); if sizeof (infoTable^.name) == 0 { Çhasn't been set yet infoTable^.name = file.fileFromPath (path)}; copyFromInfoTable (); return (true)}; on launchApp () { Çreturn true if we're able to launch the application msg ("Launching " + name + "..."); if typeof (docPath) == unknowntype { if not launch.application (path) { return (false)}} else { if not launch.appWithDocument (path, docPath) { return (false)}}; docPath = ""; Çclear path so we'll know not to open it again return (true)}; bundle { Çbe sure the app's appInfo table is set up properly if not defined (appTable^) { Çpassing in a bogus address scriptError ("The application doesn't have a Frontier \"glue\" table.")}; infoTable = @appTable^.appInfo; if not defined (infoTable^) { Çno appInfo table, create one with initial values new (tableType, infoTable); infoTable^.name = nameOf (appTable^); infoTable^.id = '????'; infoTable^.path = ""; infoTable^.app1Supported = false; infoTable^.sharedMenus = false}; copyFromInfoTable (); appTable^.id = id}; Çside-effect -- makes life easier for glue scripts while (not appRunning ()) { if not fileIsApp () { if not promptForPath () { Çuser clicked on Cancel return (false)}}; if launchApp () { break}; path = ""}; Çnext time try for a different file bundle { Çset up the app table in the object database for this application app.id = id; Çall app verbs are sent to this application appTable^.id = id; Çmake life easy for the app's glue scripts app.adrAppTable = appTable; Çthe app verbs can refer to current app's info table Çbundle Çfuss with the paths table Çlocal (adr = @system.misc.paths.app1path) Çif app1Supported Çapp verbs are global Çadr^ = @system.verbs.builtins.app Çelse Çapp verbs are undefined, or require a full path Çif defined (adr^) Çdelete (adr)}; if docPath != "" { Çtell app to open the document required.openDocument (id, docPath)}; msg (""); Çrelease message area return (true)}} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.app.startWithDocument ! on startWithDocument (appTable, docPath) { Çstart talking with the application, might launch it ÇChanges Ç4/30/05; 9:15:10 AM by TAC Çadded mac os x app may be folders to fileIsApp handler, file.creator check Ç1/7/02; 11:44:10 PM by PBS ÇOn OS X apps may be folders. If so, then the path to the app is okay, don't prompt for it again. Çv3.0 dmb Çhandle difference between nil and the empty string for docPath Çzero means normal launch w/out a specific document Ç"" means inhibit default document or open file dialog Çv2.0 dmb Çadded document support Çadr is the address of an application's glue table, usually in system.verbs.apps Çif the application isn't running, try to launch it Çif the path isn't the program, use file.getFileDialog Çkeep the path updated Çreturns true if the application is launched and ready to talk appTable = address (appTable); bundle { Çbody of app.start local (infoTable); Çthe application's appInfo table local (name, id, path, app1Supported, sharedMenus); on copyFromInfoTable () { Çcopy infoTable values into this script's locals name = infoTable^.name; id = infoTable^.id; path = infoTable^.path; app1Supported = infoTable^.app1Supported; sharedMenus = infoTable^.sharedMenus}; on appRunning () { Çreturn true if the application is running if defined (app.idnetworkapp) { Çregistration already taken care of id = app.idnetworkapp; return (true)}; if sys.appIsRunning (id) { if string.length (infoTable^.path) == 0 { Çhasn't been set yet infoTable^.path = sys.getAppPath (id)}; return (true)}; return (false)}; on fileIsApp () { Çreturn true if the path points to our application if sizeof (path) == 0 { return (false)}; if not file.exists (path) { return (false)}; if file.type (path) != 'APPL' { if not (system.environment.isCarbon and file.isFolder (path)) { //PBS 01/07/02: OS X apps may be folders return (false)}}; if file.creator (path) != id { if not (system.environment.isCarbon and file.isFolder (path)) { // 4/30/05; 9:15:10 AM by TAC - os x apps may be folders return (false)}}; return (true)}; on searchForApp () { Çreturns empty string if we failed, full path if we won local (folder); folder = file.folderFromPath (Frontier.getFilePath ()) + "UserLand Utilities:"; if file.exists (folder) { local (f); fileloop (f in folder, infinity) { if (file.type (f) == 'APPL') and (file.creator (f) == id) { return (f)}}}; return ("")}; on promptForPath () { Çget the application's path from the user local (newpath); newpath = searchForApp (); if newpath == "" { Çour very limited search strategy failed Frontier.bringToFront (); Çbe sure Frontier is the frontmost app newpath = file.findApplication (infoTable^.id); if not file.getFileDialog ("Where is " + name + "?", @newpath, 'APPL') { return (false)}}; infoTable^.path = newpath; infoTable^.id = file.creator (newpath); if sizeof (infoTable^.name) == 0 { Çhasn't been set yet infoTable^.name = file.fileFromPath (path)}; copyFromInfoTable (); return (true)}; on launchApp () { Çreturn true if we're able to launch the application msg ("Launching " + name + "..."); if typeof (docPath) == unknowntype { if not launch.application (path) { return (false)}} else { if not launch.appWithDocument (path, docPath) { return (false)}}; docPath = ""; Çclear path so we'll know not to open it again return (true)}; bundle { Çbe sure the app's appInfo table is set up properly if not defined (appTable^) { Çpassing in a bogus address scriptError ("The application doesn't have a Frontier \"glue\" table.")}; infoTable = @appTable^.appInfo; if not defined (infoTable^) { Çno appInfo table, create one with initial values new (tableType, infoTable); infoTable^.name = nameOf (appTable^); infoTable^.id = '????'; infoTable^.path = ""; infoTable^.app1Supported = false; infoTable^.sharedMenus = false}; copyFromInfoTable (); appTable^.id = id}; Çside-effect -- makes life easier for glue scripts while (not appRunning ()) { if not fileIsApp () { if not promptForPath () { Çuser clicked on Cancel return (false)}}; if launchApp () { break}; path = ""}; Çnext time try for a different file bundle { Çset up the app table in the object database for this application app.id = id; Çall app verbs are sent to this application appTable^.id = id; Çmake life easy for the app's glue scripts app.adrAppTable = appTable; Çthe app verbs can refer to current app's info table Çbundle Çfuss with the paths table Çlocal (adr = @system.misc.paths.app1path) Çif app1Supported Çapp verbs are global Çadr^ = @system.verbs.builtins.app Çelse Çapp verbs are undefined, or require a full path Çif defined (adr^) Çdelete (adr)}; if docPath != "" { Çtell app to open the document required.openDocument (id, docPath)}; msg (""); Çrelease message area return (true)}}; Çbundle // test ÇstartWithDocument ("Safari", nil) \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 01:06:14
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/backups In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27260 Modified Files: init Log Message: moved folder exists check from firstRootRun Index: init =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/backups/init,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** init 26 Mar 2005 19:42:35 -0000 1.1.1.1 --- init 14 Jun 2005 01:06:01 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.backups.init ! if not defined (user.backups) { new (tableType, @user.backups)}; if not defined (user.backups.nextBackup) { user.backups.nextBackup = 0}; if not defined (user.backups.folder) { Çuser.backups.folder = Frontier.pathstring + "backups" + file.getPathChar () user.backups.folder = Frontier.getSubFolder ("ops/backups/")} //PBS 06/24/00: put backups in ops/backups/ \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.backups.init ! ÇChanges Ç11/27/04; 1:51:01 PM by TAC Çmoved folder exists check from firstRootRun if not defined (user.backups) { new (tableType, @user.backups)}; if not defined (user.backups.nextBackup) { user.backups.nextBackup = 0}; if not defined (user.backups.folder) { Çuser.backups.folder = Frontier.pathstring + "backups" + file.getPathChar () user.backups.folder = Frontier.getSubFolder ("ops/backups/")}; //PBS 06/24/00: put backups in ops/backups/ if not (file.exists (user.backups.folder)) { // 11/27/04; 1:52:52 PM by TAC - moved from firstRootRun try {file.newFolder (user.backups.folder)}} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 01:05:41
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/batchExporter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26946 Modified Files: batchImport Log Message: comment test code bundle Index: batchImport =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/batchExporter/batchImport,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** batchImport 26 Mar 2005 19:42:35 -0000 1.1.1.1 --- batchImport 14 Jun 2005 01:05:28 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.batchExporter.batchImport ! on batchImport (folder = user.batchExporter.folder) { Ç5.0 -- 12/2/97 DW -- updated for fat page files and Windows ÇI wanted to add items to the export log, but there was a problem... ÇIt's almost certain that we're going to import the user.export table. ÇThat's where the log is stored! Ooops. ÇSo, instead, I keep the user informed with a msg call. local (f, adrobject, flImported, ctImported = 0); window.about (); fileloop (f in folder, infinity) { flImported = false; if sys.os () == "MacOS" { try { //see if it's a Frontier 4 export file rez.getNthResource (f, 'data', 1, @adrobject, @resdata); table.surePath (adrobject); unpack (@resdata, @resdata); unpack (@resdata, @resdata); table.moveAndRename (@resdata, adrobject); ctImported++; flImported = true}}; if sys.os () == "MacOS" { if file.fileFromPath (f) beginsWith "." { continue}}; if not flImported { adrobject = fatPages.importFatFile (f); ctImported++}; msg ("Imported \"" + adrobject + "\".")}; msg ("Saving the database..."); fileMenu.save (); msg (ctImported + " objects imported.")}; bundle { Çtest code batchImport ()} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.batchExporter.batchImport ! on batchImport (folder = user.batchExporter.folder) { Ç5.0 -- 12/2/97 DW -- updated for fat page files and Windows ÇI wanted to add items to the export log, but there was a problem... ÇIt's almost certain that we're going to import the user.export table. ÇThat's where the log is stored! Ooops. ÇSo, instead, I keep the user informed with a msg call. local (f, adrobject, flImported, ctImported = 0); window.about (); fileloop (f in folder, infinity) { flImported = false; if sys.os () == "MacOS" { try { //see if it's a Frontier 4 export file rez.getNthResource (f, 'data', 1, @adrobject, @resdata); table.surePath (adrobject); unpack (@resdata, @resdata); unpack (@resdata, @resdata); table.moveAndRename (@resdata, adrobject); ctImported++; flImported = true}}; if sys.os () == "MacOS" { if file.fileFromPath (f) beginsWith "." { continue}}; if not flImported { adrobject = fatPages.importFatFile (f); ctImported++}; msg ("Imported \"" + adrobject + "\".")}; msg ("Saving the database..."); fileMenu.save (); msg (ctImported + " objects imported.")}; Çbundle Çtest code ÇbatchImport () \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 01:01:58
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/batchExporter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25029 Modified Files: init Log Message: follow changes stylistic conventions Index: init =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/batchExporter/init,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** init 26 Mar 2005 19:42:35 -0000 1.1.1.1 --- init 14 Jun 2005 01:01:47 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.batchExporter.init ! ÇChanges: Ç1/3/02; 4:32:48 PM by DW ÇRemove references to user.playlist, add user.radio. Ç12/03/00; 2:58:42 PM by PBS ÇRadio UserLand changes -- set folder to Backups folder; list of items to export is different. Ç12/05/00; 12:33:48 PM by PBS ÇSave user.inetd.config.http -- server prefs. Ç12/16/00; 6:58:42 PM by JES ÇSave user.webEdit: webEdit prefs. ÇSat, Nov 1, 1997 at 7:19:33 AM by DW ÇMade it cross-platform, also created the log outline if it doesn't exist. if not defined (user.batchExporter) { new (tabletype, @user.batchExporter)}; if not defined (user.batchExporter.folder) { local (folder = file.folderFromPath (Frontier.getProgramPath ())); local (pc = file.getPathChar ()); if system.environment.isPike { //Radio UserLand user.batchExporter.folder = folder + "Backups" + pc} else { //Frontier user.batchExporter.folder = folder + "Batch Exporter" + pc}}; if not defined (user.batchExporter.log) { new (outlineType, @user.batchExporter.log)}; if not defined (user.batchExporter.keepLog) { if system.environment.isPike { user.batchExporter.keepLog = false} else { //Frontier user.batchExporter.keepLog = true}}; if not defined (user.batchExporter.list) { if system.environment.isRadio { new (outlineType, @user.batchExporter.list); target.set (@user.batchExporter.list); op.insert ("workspace", down); op.insert ("websites", down); op.insert ("user.menus", down); op.insert ("user.radio", down); op.insert ("user.prefs", down); op.insert ("user.inetd.config.http", down); //PBS 12/05/00: save http server prefs op.insert ("user.webedit", down); //JES 12/16/00: save webEdit prefs op.firstSummit (); op.deleteLine (); target.clear ()} else { //Frontier new (outlineType, @user.batchExporter.list); target.set (@user.batchExporter.list); op.insert ("websites", down); op.insert ("workspace", down); op.insert ("user", down); op.insert ("suites", down); op.insert ("system.agents", down); op.insert ("system.extensions", down); if sys.os () == "MacOS" { op.insert ("system.verbs.traps", down)}; op.firstSummit (); op.deleteLine (); target.clear ()}} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.batchExporter.init ! ÇChanges Ç1/3/02; 4:32:48 PM by DW ÇRemove references to user.playlist, add user.radio. Ç12/03/00; 2:58:42 PM by PBS ÇRadio UserLand changes -- set folder to Backups folder; list of items to export is different. Ç12/05/00; 12:33:48 PM by PBS ÇSave user.inetd.config.http -- server prefs. Ç12/16/00; 6:58:42 PM by JES ÇSave user.webEdit: webEdit prefs. ÇSat, Nov 1, 1997 at 7:19:33 AM by DW ÇMade it cross-platform, also created the log outline if it doesn't exist. if not defined (user.batchExporter) { new (tabletype, @user.batchExporter)}; if not defined (user.batchExporter.folder) { local (folder = file.folderFromPath (Frontier.getProgramPath ())); local (pc = file.getPathChar ()); if system.environment.isPike { //Radio UserLand user.batchExporter.folder = folder + "Backups" + pc} else { //Frontier user.batchExporter.folder = folder + "Batch Exporter" + pc}}; if not defined (user.batchExporter.log) { new (outlineType, @user.batchExporter.log)}; if not defined (user.batchExporter.keepLog) { if system.environment.isPike { user.batchExporter.keepLog = false} else { //Frontier user.batchExporter.keepLog = true}}; if not defined (user.batchExporter.list) { if system.environment.isRadio { new (outlineType, @user.batchExporter.list); target.set (@user.batchExporter.list); op.insert ("workspace", down); op.insert ("websites", down); op.insert ("user.menus", down); op.insert ("user.radio", down); op.insert ("user.prefs", down); op.insert ("user.inetd.config.http", down); //PBS 12/05/00: save http server prefs op.insert ("user.webedit", down); //JES 12/16/00: save webEdit prefs op.firstSummit (); op.deleteLine (); target.clear ()} else { //Frontier new (outlineType, @user.batchExporter.list); target.set (@user.batchExporter.list); op.insert ("websites", down); op.insert ("workspace", down); op.insert ("user", down); op.insert ("suites", down); op.insert ("system.agents", down); op.insert ("system.extensions", down); if sys.os () == "MacOS" { op.insert ("system.verbs.traps", down)}; op.firstSummit (); op.deleteLine (); target.clear ()}} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 00:57:13
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/betty In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22182 Modified Files: init Log Message: initialize user.betty.rpcHandlers.examples; changed timeout from 60 * 30 to 7200 Index: init =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/betty/init,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** init 26 Mar 2005 19:42:35 -0000 1.1.1.1 --- init 14 Jun 2005 00:57:01 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.betty.init ! ÇChange Notes Ç9/6/02; 12:22:47 AM by JES ÇInitialize the user.betty.queueOutgoing table and sub-elements. Ç9/5/02; 11:54:01 PM by JES ÇIf running in Frontier, user.betty.prefs.flKeepServerLog defaults to false. Ç8/20/02; 4:42:33 AM by JES ÇInit user.betty.prefs.flSaveDatabaseAfterAsynchRpcCall to false. Let mainResponder's every minute save script handle this. Ç10/25/1999 by AR Çuser.betty.prefs.flKeepServerLog: If it's true, betty.rpc.server will log all incoming requests to the rpcServer section of the daily log GDB. Ç11/04/1999 by AR ÇIf user.betty.prefs.flAllowByIpOnly is true we block XML-RPC requests form anyone except those IP addresses listed in user.betty.prefs.allowedIpAddresses. Ç11/23/99; 9:58:11 PM by PBS ÇXML-RPC logging is now true by default. flKeepServerLog is set to true. Ç1/4/02; 7:13:56 PM by DW ÇInit user.betty.prefs.flKeepClientCallTicks. if not defined (user.betty) { new (tabletype, @user.betty)}; if not defined (user.betty.prefs) { new (tabletype, @user.betty.prefs)}; if not defined (user.betty.prefs.rpcClientDefaultTimeout) { user.betty.prefs.rpcClientDefaultTimeout = 60 * 30}; if not defined (user.betty.prefs.rpcClientDefaultPath) { user.betty.prefs.rpcClientDefaultPath = "/RPC2"}; if not defined (user.betty.prefs.flKeepServerLog) { if system.environment.isRadio { user.betty.prefs.flKeepServerLog = true} else { //false in Frontier user.betty.prefs.flKeepServerLog = false}}; if not defined (user.betty.prefs.flAllowByIpOnly) { user.betty.prefs.flAllowByIpOnly = false}; if not defined (user.betty.prefs.allowedIpAddresses) { user.betty.prefs.allowedIpAddresses = "127.0.0.1"}; if not defined (user.betty.prefs.flKeepClientCallTicks) { user.betty.prefs.flKeepClientCallTicks = false}; if not defined (user.betty.prefs.flSaveDatabaseAfterAsynchRpcCall) { user.betty.prefs.flSaveDatabaseAfterAsynchRpcCall = false}; if not defined (user.betty.queueOutgoing) { new (tableType, @user.betty.queueOutgoing)}; if not defined (user.betty.queueOutgoing.serialNum) { user.betty.queueOutgoing.serialNum = 1}; if not defined (user.betty.queueOutgoing.table) { new (tableType, @user.betty.queueOutgoing.table)}; try {delete (@user.betty.prefs.bettyInit)}; if not defined (user.betty.rpcHandlers) { user.betty.rpcHandlers = system.verbs.builtins.betty.data.rpcHandlers}; if not defined (user.webserver.responders.RPC2) { user.webserver.responders.RPC2 = betty.data.responders.RPC2} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.betty.init ! ÇChanges Ç11/28/04; 10:52:16 AM by TAC Çinitialize user.betty.rpcHandlers.examples Çchanged timeout from 60 * 30 to 7200 Ç9/6/02; 12:22:47 AM by JES ÇInitialize the user.betty.queueOutgoing table and sub-elements. Ç9/5/02; 11:54:01 PM by JES ÇIf running in Frontier, user.betty.prefs.flKeepServerLog defaults to false. Ç8/20/02; 4:42:33 AM by JES ÇInit user.betty.prefs.flSaveDatabaseAfterAsynchRpcCall to false. Let mainResponder's every minute save script handle this. Ç1/4/02; 7:13:56 PM by DW ÇInit user.betty.prefs.flKeepClientCallTicks. Ç10/25/1999 by AR Çuser.betty.prefs.flKeepServerLog: If it's true, betty.rpc.server will log all incoming requests to the rpcServer section of the daily log GDB. Ç11/04/1999 by AR ÇIf user.betty.prefs.flAllowByIpOnly is true we block XML-RPC requests form anyone except those IP addresses listed in user.betty.prefs.allowedIpAddresses. Ç11/23/99; 9:58:11 PM by PBS ÇXML-RPC logging is now true by default. flKeepServerLog is set to true. if not defined (user.betty) { new (tabletype, @user.betty)}; if not defined (user.betty.prefs) { new (tabletype, @user.betty.prefs)}; if not defined (user.betty.prefs.allowedIpAddresses) { user.betty.prefs.allowedIpAddresses = "127.0.0.1"}; if not defined (user.betty.prefs.flAllowByIpOnly) { user.betty.prefs.flAllowByIpOnly = false}; if not defined (user.betty.prefs.flKeepClientCallTicks) { user.betty.prefs.flKeepClientCallTicks = false}; if not defined (user.betty.prefs.flKeepServerLog) { if system.environment.isRadio { user.betty.prefs.flKeepServerLog = true} else { //false in Frontier user.betty.prefs.flKeepServerLog = false}}; if not defined (user.betty.prefs.flSaveDatabaseAfterAsynchRpcCall) { user.betty.prefs.flSaveDatabaseAfterAsynchRpcCall = false}; if not defined (user.betty.prefs.rpcClientDefaultPath) { user.betty.prefs.rpcClientDefaultPath = "/RPC2"}; if not defined (user.betty.prefs.rpcClientDefaultTimeout) { user.betty.prefs.rpcClientDefaultTimeout = 7200}; if not defined (user.betty.queueOutgoing) { new (tableType, @user.betty.queueOutgoing)}; if not defined (user.betty.queueOutgoing.serialNum) { user.betty.queueOutgoing.serialNum = 1}; if not defined (user.betty.queueOutgoing.table) { new (tableType, @user.betty.queueOutgoing.table)}; if not defined (user.betty.rpcHandlers) { user.betty.rpcHandlers = system.verbs.builtins.betty.data.rpcHandlers}; if not defined (user.betty.rpcHandlers.examples) { // 11/28/04; 10:51:43 AM by TAC user.betty.rpcHandlers.examples = betty.data.rpcHandlers.examples}; if not defined (user.webserver.responders.RPC2) { user.webserver.responders.RPC2 = betty.data.responders.RPC2}; try {delete (@user.betty.prefs.bettyInit)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 00:56:46
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/betty/rpc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21998 Modified Files: agent Log Message: changes comments follow current stylistic conventions Index: agent =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/betty/rpc/agent,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** agent 26 Mar 2005 19:42:36 -0000 1.1.1.1 --- agent 14 Jun 2005 00:56:38 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.betty.rpc.agent ! Ç10/8/99; 11:03:32 AM by DW ÇAdd support for adrErrorCallback script. When we send an XML-RPC message and there's an error, we call the script with a single parameter, the address of the table for the message. ÇAlso track the number of times the message has errored in ctErrors. ÇThe error callback can change the value of readyToRunAt. By default we reschedule another try for five minutes. For some applications it may make sense to try more or less frequently. ÇThe caller can signal that we should give up on the message by storing flDelete = true in the table. When it returns we will delete the table. So you can decide at a very high level how much retrying you want to do. ÇNew local, flSave, we only save Frontier.root if there's been a change to the queue. Ç10/12/99; 10:18:53 AM by DW ÇRewrite of the scheduling strategy. Each time we're called, we send all the messages that are ready to run. Looping over the table isn't that expensive. And this gives the performance we're looking for, quick transmission of pending messages for servers that are responsive. Ç11/3/99; 7:45:53 AM by DW ÇThe error callback and logging code was broken, referring to "adritem", which was undefined. This version should work better! ;-> Ç11/11/99; 4:45:11 AM by DW ÇAdd msg calls so we can see what's going on. We have some clients with flaky connections or that take a long time to respond to messages. This is a good real-world test. We don't control these servers, somehow we have to accomodate their flaky-ness without bringing other systems down. Changes follow. ÇImplement server-blocking. There's a new list, user.betty.queueOutgoing.prefs.blockedServers. If it exists, and a message is being sent to one of the servers in the list, don't send it. Leave it in the queue. At least at an operator level we can exclude servers that go flaky. ÇSend each message in a separate thread. This change has been a long time coming, and it's the rational way to do asynchronous RPC. Slow servers get out of the way of fast ones. Five servers can be updated at the same time. try { //the agent keeps running no matter what happens local (adrtable = @user.betty.queueOutgoing.table); if not defined (adrtable^) { //nothing pending new (tabletype, @user.betty.queueOutgoing.table)}; local (ct = sizeof (adrtable^), i, adrmsg, flRunThisMessage); for i = 1 to ct { adrmsg = @adrtable^ [i]; bundle { //set flRunThisMessage flRunThisMessage = false; if adrmsg^.readyToRunAt <= clock.now () { flRunThisMessage = true}; if defined (adrmsg^.fldelete) { //don't run deleted messages if adrmsg^.fldelete { flRunThisMessage = false}}; if flRunThisMessage { if defined (user.betty.queueOutgoing.prefs.blockedServers) { if user.betty.queueOutgoing.prefs.blockedServers contains adrmsg^.rpcServer { flRunThisMessage = false}}; if flRunThisMessage { if defined (adrmsg^.flThreadLaunched) { //there's might be a thread trying to send the message flRunThisMessage = not adrmsg^.flThreadLaunched}}}}; if flRunThisMessage { adrmsg^.flThreadLaunched = true; thread.easyCall ("betty.rpc.SendOneMessage", {string (adrmsg)})}}; msg ("betty.rpc.agent: Going to sleep for 5 seconds at " + string.timeString ()); clock.sleepfor (5)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.betty.rpc.agent ! ÇChanges Ç10/8/99; 11:03:32 AM by DW ÇAdd support for adrErrorCallback script. When we send an XML-RPC message and there's an error, we call the script with a single parameter, the address of the table for the message. ÇAlso track the number of times the message has errored in ctErrors. ÇThe error callback can change the value of readyToRunAt. By default we reschedule another try for five minutes. For some applications it may make sense to try more or less frequently. ÇThe caller can signal that we should give up on the message by storing flDelete = true in the table. When it returns we will delete the table. So you can decide at a very high level how much retrying you want to do. ÇNew local, flSave, we only save Frontier.root if there's been a change to the queue. Ç10/12/99; 10:18:53 AM by DW ÇRewrite of the scheduling strategy. Each time we're called, we send all the messages that are ready to run. Looping over the table isn't that expensive. And this gives the performance we're looking for, quick transmission of pending messages for servers that are responsive. Ç11/3/99; 7:45:53 AM by DW ÇThe error callback and logging code was broken, referring to "adritem", which was undefined. This version should work better! ;-> Ç11/11/99; 4:45:11 AM by DW ÇAdd msg calls so we can see what's going on. We have some clients with flaky connections or that take a long time to respond to messages. This is a good real-world test. We don't control these servers, somehow we have to accomodate their flaky-ness without bringing other systems down. Changes follow. ÇImplement server-blocking. There's a new list, user.betty.queueOutgoing.prefs.blockedServers. If it exists, and a message is being sent to one of the servers in the list, don't send it. Leave it in the queue. At least at an operator level we can exclude servers that go flaky. ÇSend each message in a separate thread. This change has been a long time coming, and it's the rational way to do asynchronous RPC. Slow servers get out of the way of fast ones. Five servers can be updated at the same time. try { //the agent keeps running no matter what happens local (adrtable = @user.betty.queueOutgoing.table); if not defined (adrtable^) { //nothing pending new (tabletype, @user.betty.queueOutgoing.table)}; local (ct = sizeof (adrtable^), i, adrmsg, flRunThisMessage); for i = 1 to ct { adrmsg = @adrtable^ [i]; bundle { //set flRunThisMessage flRunThisMessage = false; if adrmsg^.readyToRunAt <= clock.now () { flRunThisMessage = true}; if defined (adrmsg^.fldelete) { //don't run deleted messages if adrmsg^.fldelete { flRunThisMessage = false}}; if flRunThisMessage { if defined (user.betty.queueOutgoing.prefs.blockedServers) { if user.betty.queueOutgoing.prefs.blockedServers contains adrmsg^.rpcServer { flRunThisMessage = false}}; if flRunThisMessage { if defined (adrmsg^.flThreadLaunched) { //there's might be a thread trying to send the message flRunThisMessage = not adrmsg^.flThreadLaunched}}}}; if flRunThisMessage { adrmsg^.flThreadLaunched = true; thread.easyCall ("betty.rpc.SendOneMessage", {string (adrmsg)})}}; msg ("betty.rpc.agent: Going to sleep for 5 seconds at " + string.timeString ()); clock.sleepfor (5)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 00:55:12
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/betty/rpc/serverSupport In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21026 Modified Files: multiCall Log Message: commented test code bundle Index: multiCall =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/betty/rpc/serverSupport/multiCall,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** multiCall 26 Mar 2005 19:42:37 -0000 1.1.1.1 --- multiCall 14 Jun 2005 00:54:54 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.betty.rpc.serverSupport.multiCall ! on multiCall (callarray) { ÇChanges Ç4/9/01; 9:35:11 AM by DW ÇCreated. Conforms to the spec here: Çhttp://www.xmlrpc.com/discuss/msgReader$1208 ÇCalled from user.betty.rpcHandlers.system.multiCall. bundle { //fault if this is a recursive call try { //if we're debugging, don't fail local (adrparamtable = parentof (client)); if defined (adrparamtable^.flMulticall) { scriptError ("Can't process this call because we don't allow system.multicall to recurse.")}; adrparamtable^.flMulticall = true}}; bundle { //initialization if not defined (betty.rpc.errorCodes.multiCallError) { betty.rpc.errorCodes.multiCallError = 7}}; local (i, responseArray = {}); for i = 1 to sizeof (callarray) { try { //call the script local (onecall = callarray [i], flerror); local (result = betty.rpc.serverSupport.callHandler (onecall.methodName, @onecall.params, @flerror)); if flerror { responseArray = responseArray + {result}} else { responseArray = responseArray + {{result}}}} else { local (errortable); new (tabletype, @errortable); errortable.faultString = tryError; errortable.faultCode = betty.rpc.errorCodes.multiCallError; responseArray = responseArray + {errortable}}}; return (responseArray)}; bundle { //test code local (callarray = {}, i); for i = 1 to 10 { new (tabletype, @onecall); onecall.methodName = "examples.getStateNameWithError"; onecall.params = {random (35, 65)}; callarray = callarray + {onecall}}; local (multicallresult = betty.rpc.serversupport.multicall (callarray)); new (tabletype, @scratchpad.multicallresult); for i = 1 to sizeof (multicallresult) { scratchpad.multicallresult.[string.padwithzeros (sizeof (scratchpad.multicallresult), 3)] = multicallresult [i]}; edit (@scratchpad.multicallresult)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.betty.rpc.serverSupport.multiCall ! on multiCall (callarray) { ÇChanges Ç4/9/01; 9:35:11 AM by DW ÇCreated. Conforms to the spec here: Çhttp://www.xmlrpc.com/discuss/msgReader$1208 ÇCalled from user.betty.rpcHandlers.system.multiCall. bundle { //fault if this is a recursive call try { //if we're debugging, don't fail local (adrparamtable = parentof (client)); if defined (adrparamtable^.flMulticall) { scriptError ("Can't process this call because we don't allow system.multicall to recurse.")}; adrparamtable^.flMulticall = true}}; bundle { //initialization if not defined (betty.rpc.errorCodes.multiCallError) { betty.rpc.errorCodes.multiCallError = 7}}; local (i, responseArray = {}); for i = 1 to sizeof (callarray) { try { //call the script local (onecall = callarray [i], flerror); local (result = betty.rpc.serverSupport.callHandler (onecall.methodName, @onecall.params, @flerror)); if flerror { responseArray = responseArray + {result}} else { responseArray = responseArray + {{result}}}} else { local (errortable); new (tabletype, @errortable); errortable.faultString = tryError; errortable.faultCode = betty.rpc.errorCodes.multiCallError; responseArray = responseArray + {errortable}}}; return (responseArray)}; Çbundle //test code Çlocal (callarray = {}, i) Çfor i = 1 to 10 Çnew (tabletype, @onecall) Çonecall.methodName = "examples.getStateNameWithError" Çonecall.params = {random (35, 65)} Çcallarray = callarray + {onecall} Çlocal (multicallresult = betty.rpc.serversupport.multicall (callarray)) Çnew (tabletype, @scratchpad.multicallresult) Çfor i = 1 to sizeof (multicallresult) Çscratchpad.multicallresult.[string.padwithzeros (sizeof (scratchpad.multicallresult), 3)] = multicallresult [i] Çedit (@scratchpad.multicallresult) \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 00:53:16
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/clock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20247 Modified Files: timeStamp Log Message: changes comments follows current stylistic conventions Index: timeStamp =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/clock/timeStamp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** timeStamp 26 Mar 2005 19:42:38 -0000 1.1.1.1 --- timeStamp 14 Jun 2005 00:53:03 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.clock.timeStamp ! on timeStamp () { ÇChanges ÇSaturday, December 30, 2000 at 10:42:56 AM by DW ÇThis script is ancient and frustrating. ÇI like short timestamps, not the long string you see at the head of this comment. ÇSo let's create a new preference, user.prefs.flShortTimeStamp. If it doesn't exist, we create it. It defaults to false. So if you prefer the current behavior, you do nothing. If you want a shorter stamp, set it true. Ç12/30/2000; 10:48:54 AM by DW ÇIt works! ;-> Ç12/30/2000; 10:52:56 AM by DW ÇWhen timestamping in a table, add the stamp in the table your cursor is in. This feature is so old it predates the outline browser for the object db tables. Ç12/30/00; 12:21:14 PM by DW ÇChopped off the first two numbers of the year. You can figure it out. local (flshortstamp); bundle { //get flshortstamp if not defined (user.prefs.flShortTimeStamp) { user.prefs.flShortTimeStamp = false}; flshortstamp = user.prefs.flShortTimeStamp}; local (s); bundle { //set the timestamp string if flshortstamp { local (year = date.year ()); s = string.replaceall (clock.now (), year, string.mid (year, 3, 2)) + " by " + user.prefs.initials} else { s = string.dateString () + " at " + string.timeString () + " by " + user.prefs.initials}}; local (adr, type); bundle { //set adr and type adr = target.get (); if defined (adr^) { type = typeOf (adr^)} else { if window.isMenuScript (window.frontmost ()) { type = outlinetype} else { type = unknowntype}}}; case type { outlinetype; scripttype; menubartype { if wp.inTextMode () { wp.insert (s)} else { local (dir = down); if op.subsExpanded () { dir = right}; if op.insert (s, dir) { script.makeComment ()}}}; wptexttype { wp.insert (s)}; tabletype { local (adrparent = parentof (table.getcursoraddress ()^)); adrparent^ ["stampedTime"] = s}} else { return (false)}; return (true)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.clock.timeStamp ! on timeStamp () { ÇChanges Ç12/30/00; 12:21:14 PM by DW ÇChopped off the first two numbers of the year. You can figure it out. Ç12/30/2000; 10:52:56 AM by DW ÇWhen timestamping in a table, add the stamp in the table your cursor is in. This feature is so old it predates the outline browser for the object db tables. Ç12/30/2000; 10:48:54 AM by DW ÇIt works! ;-> ÇSaturday, December 30, 2000 at 10:42:56 AM by DW ÇThis script is ancient and frustrating. ÇI like short timestamps, not the long string you see at the head of this comment. ÇSo let's create a new preference, user.prefs.flShortTimeStamp. If it doesn't exist, we create it. It defaults to false. So if you prefer the current behavior, you do nothing. If you want a shorter stamp, set it true. local (flshortstamp); bundle { //get flshortstamp if not defined (user.prefs.flShortTimeStamp) { user.prefs.flShortTimeStamp = false}; flshortstamp = user.prefs.flShortTimeStamp}; local (s); bundle { //set the timestamp string if flshortstamp { local (year = date.year ()); s = string.replaceall (clock.now (), year, string.mid (year, 3, 2)) + " by " + user.prefs.initials} else { s = string.dateString () + " at " + string.timeString () + " by " + user.prefs.initials}}; local (adr, type); bundle { //set adr and type adr = target.get (); if defined (adr^) { type = typeOf (adr^)} else { if window.isMenuScript (window.frontmost ()) { type = outlinetype} else { type = unknowntype}}}; case type { outlinetype; scripttype; menubartype { if wp.inTextMode () { wp.insert (s)} else { local (dir = down); if op.subsExpanded () { dir = right}; if op.insert (s, dir) { script.makeComment ()}}}; wptexttype { wp.insert (s)}; tabletype { local (adrparent = parentof (table.getcursoraddress ()^)); adrparent^ ["stampedTime"] = s}} else { return (false)}; return (true)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 00:33:41
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/dialog In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8982 Modified Files: threeWay Log Message: put test code in test bundle Index: threeWay =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/dialog/threeWay,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** threeWay 26 Mar 2005 19:42:44 -0000 1.1.1.1 --- threeWay 14 Jun 2005 00:33:30 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.dialog.threeWay ! Çon threeWay (prompt, button1, button2, button3) Çlocal (buttonhit) Çcard.run (@dialog.cards.threeWay) Çreturn (buttonhit) on threeWay (prompt, button1, button2, button3) { kernel (dialog.threeway)}; dialog.alert (dialog.threeWay ("Let's Have Fun!", "One", "Two", "Three")) \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.dialog.threeWay ! Çon threeWay (prompt, button1, button2, button3) Çlocal (buttonhit) Çcard.run (@dialog.cards.threeWay) Çreturn (buttonhit) on threeWay (prompt, button1, button2, button3) { kernel (dialog.threeway)}; Çbundle // test Çdialog.alert (dialog.threeWay ("Let's Have Fun!", "One", "Two", "Three")) \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 00:10:15
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/export In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29602 Removed Files: lastfolder Log Message: Removed. Looks like an erroneous item. --- lastfolder DELETED --- |
|
From: creedon <icr...@us...> - 2005-06-14 00:03:13
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/export In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25521 Modified Files: init Log Message: moved some initializations from firstRootRun Index: init =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/export/init,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** init 26 Mar 2005 19:42:44 -0000 1.1.1.1 --- init 14 Jun 2005 00:02:59 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.export.init ! if not defined (user.export) { new (tabletype, @user.export)}; if not defined (user.export.lastaddress) { user.export.lastaddress = ""}; if not defined (user.export.lastkind) { user.export.lastkind = ""}; if not defined (user.export.lastlocation) { user.export.lastlocation = ""}; if not defined (user.export.lastfolder) { user.export.lastfolder = ""}; if not defined (user.export.lastcompression) { user.export.lastcompression = "None"}; if not defined (user.export.importLogEnabled) { user.export.importLogEnabled = true}; if not defined (user.export.importLog) { if user.export.importLogEnabled { new (outlineType, @user.export.importLog)}}; if not defined (user.export.importLogOpen) { user.export.importLogOpen = false} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.export.init ! ÇChanges Ç11/27/04; 3:32:01 PM by TAC Çmoved some initializations from firstRootRun if not defined (user.export) { new (tabletype, @user.export)}; if not defined (user.export.lastaddress) { user.export.lastaddress = @workspace.notepad}; // 11/27/04; 3:32:38 PM by TAC - replaced "" with @workspace.notepad if not defined (user.export.lastkind) { user.export.lastkind = "Packed object"}; // 11/27/04; 3:34:33 PM by TAC - replaced "" with "Packed object" if not defined (user.export.lastlocation) { user.export.lastlocation = "File"}; // 11/27/04; 3:35:19 PM by TAC - replaced "" with "File" if not defined (user.export.lastfolder) { user.export.lastfolder = ""}; if not defined (user.export.lastcompression) { user.export.lastcompression = "None"}; if not defined (user.export.importLogEnabled) { user.export.importLogEnabled = true}; if not defined (user.export.importLog) { if user.export.importLogEnabled { new (outlineType, @user.export.importLog)}}; if not defined (user.export.importLogOpen) { user.export.importLogOpen = false} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-14 00:01:54
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/fatPages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25234 Modified Files: buildFileAtts Log Message: don't store guest database file path; added hint for top level items in guest databases that are not tables; bumped fatPage version to 1.0.1 Index: buildFileAtts =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/fatPages/buildFileAtts,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** buildFileAtts 26 Mar 2005 19:42:45 -0000 1.1.1.1 --- buildFileAtts 14 Jun 2005 00:01:45 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.fatPages.buildFileAtts ! on buildFileAtts (w, runnable = false) { ÇThursday, July 17, 1997 at 12:22:23 PM by PBS Çw may also be an odb address. ÇNew parameter: runnable. Desktop scripts Çare saved with runnable set to true. ÇChanges: ÇFri, Jun 13, 1997 at 5:49:06 PM by dmb Çw may be a window title, or a filespec, depending on whether or not Çthe window has ever been saved. Ç05/24/01; 10:12:48 PM by PBS ÇAdded support for file-based OPML documents. local (htmltext = ""); on add (s) { htmltext = htmltext + s}; add ("\r<!--\r#fatPage\r"); //Wed, Feb 26, 1997 at 7:44:57 AM by DW, added extra \r before # on addHint (name, value, flencode=false) { local (s = string (value)); if flencode { s = base64.encode (string (value), 0)}; add ("#" + name + " " + s + "\r")}; addHint ("version", 1); addHint ("docs", "http://www.scripting.com/fatPages/faq.html"); Çbundle Çadd window rect hint Çlocal (x, y, w, h) Çwindow.getPosition (w, @x, @y) Çwindow.getSize (w, @w, @h) ÇaddHint ("windowRect", string (y) + ',' + x + ',' + (y + h) + ',' + (x + w)) local (data); if (defined (w) && (parentOf (w^) == "" || parentOf (w^) == "system.compiler.files") && w != @root) { //It's a file-based object. packWindow (w, @data); if file.exists (w) { if string.lower (file.type (w)) == "text" || string.lower (file.type (w)) == "txt" { ÇSun, Oct 19, 1997 at 12:49:51 AM by PBS unpack (@data, @temp.lasttextfile); htmltext = string (temp.lasttextfile); htmltext = string.replaceall (htmltext, cr + lf, cr); return (htmltext)}; if string.lower (file.type (w)) == "opml" { //PBS 05/24/01: support for OPML files local (xmlText = op.outlineToXml (@[w])); return (xmlText)}}} else { //It's an odb object. adrPageData = w; data = binary (fatPages.encodePageData (adrPageData)); ÇsetBinaryType (@data, getBinaryType (adrpagedata)) setBinaryType (@data, typeof (adrpagedata^))}; if defined (adrPageData) { ÇThu, Mar 20, 1997 at 7:24:45 AM by DW addHint ("adrPageData", adrPageData)}; addHint ("objectType", "application/x-frontier-" + getbinarytype (data)); addHint ("runnable", string (runnable)); //Thursday, July 17, 1997 at 12:22:11 PM by PBS addHint ("pageData", string (data), true); add ("-->\r"); return (htmltext)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.fatPages.buildFileAtts ! on buildFileAtts (w, runnable = false) { ÇChanges Ç12/12/04; 5:19:43 PM by TAC Çdon't store guest database file path Çadded hint for top level items in guest databases that are not tables Çbumped fatPage version to 1.0.1 Ç05/24/01; 10:12:48 PM by PBS ÇAdded support for file-based OPML documents. ÇThursday, July 17, 1997 at 12:22:23 PM by PBS Çw may also be an odb address. ÇNew parameter: runnable. Desktop scripts are saved with runnable set to true. ÇFri, Jun 13, 1997 at 5:49:06 PM by dmb Çw may be a window title, or a filespec, depending on whether or not the window has ever been saved. local (htmltext = ""); on add (s) { htmltext = htmltext + s}; add ("\r<!--\r#fatPage\r"); //Wed, Feb 26, 1997 at 7:44:57 AM by DW, added extra \r before # on addHint (name, value, flencode=false) { local (s = string (value)); if flencode { s = base64.encode (string (value), 0)}; add ("#" + name + " " + s + "\r")}; addHint ("version", "1.0.1"); // 12/12/04; 4:07:01 PM by TAC - bumped version for guest database hinting addHint ("docs", "http://www.scripting.com/fatPages/faq.html"); Çbundle Çadd window rect hint Çlocal (x, y, w, h) Çwindow.getPosition (w, @x, @y) Çwindow.getSize (w, @w, @h) ÇaddHint ("windowRect", string (y) + ',' + x + ',' + (y + h) + ',' + (x + w)) local (data); if (defined (w) && (parentOf (w^) == "" || parentOf (w^) == "system.compiler.files") && w != @root) { //It's a file-based object. packWindow (w, @data); if file.exists (w) { if string.lower (file.type (w)) == "text" || string.lower (file.type (w)) == "txt" { ÇSun, Oct 19, 1997 at 12:49:51 AM by PBS unpack (@data, @temp.lasttextfile); htmltext = string (temp.lasttextfile); htmltext = string.replaceall (htmltext, cr + lf, cr); return (htmltext)}; if string.lower (file.type (w)) == "opml" { //PBS 05/24/01: support for OPML files local (xmlText = op.outlineToXml (@[w])); return (xmlText)}}} else { //It's an odb object. adrPageData = w; data = binary (fatPages.encodePageData (adrPageData)); ÇsetBinaryType (@data, getBinaryType (adrpagedata)) setBinaryType (@data, typeof (adrpagedata^))}; if defined (adrPageData) { ÇThu, Mar 20, 1997 at 7:24:45 AM by DW addHint ("adrPageData", string.popFileFromAddress (adrPageData)); // 12/12/04; 5:15:46 PM by TAC - don't store the guest database file path if table.inGuestDatabase (adrPageData) { // 12/12/04; 4:06:11 PM by TAC - hint for top level guest database item that is not a table local (addressList = string.parseAddress (adrPageData)); if sizeOf (addressList) == 2 { // it is a top level item if typeOf (adrPageData) != tableType { addHint ("guestDatabaseName", file.fileFromPath (addressList [1]))}}}}; addHint ("objectType", "application/x-frontier-" + getbinarytype (data)); addHint ("runnable", string (runnable)); //Thursday, July 17, 1997 at 12:22:11 PM by PBS addHint ("pageData", string (data), true); add ("-->\r"); return (htmltext)}; Çbundle // test ÇbuildFileAtts (@["Macintosh HD:Users:creedon:Development:Frontier:build_XCode:build:Guest Databases:apps:mainResponder.root"].["#startup"]) \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-13 23:58:35
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/fatPages In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23530 Modified Files: unpackOdbObject Log Message: fix for top level items in guest databases Index: unpackOdbObject =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/fatPages/unpackOdbObject,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** unpackOdbObject 26 Mar 2005 19:42:45 -0000 1.1.1.1 --- unpackOdbObject 13 Jun 2005 23:58:26 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.fatPages.unpackOdbObject ! on unpackOdbObject (adrAtts, adrDest, path=nil, flRunnable=false, flEdit=true) { local (data, objectType); objectType = fatPages.getObjectType (adrAtts); if not objectType { fatPages.noObjectError (path)}; data = fatPages.decode (@adrAtts^.pageData); delete (@adrAtts^.pageData); //we're done with it, free memory now setBinaryType (@data, objectType); table.surePath (adrDest); unpack (@data, adrDest); //unpack the data delete (@data); //we're done with it, free memory if flRunnable { //it's a desktop script local (wasDefined); system.deskscripts.path = path; //make path available to the script wasDefined = defined (adrDest^); adrDest^ (); //It's runnable. Run the script. if not wasDefined { delete (adrDest)}} else { //it's not a desktop script if parentOf (adrDest^) == @suites { system.menus.buildSuitesSubMenu ()}; if flEdit { edit (adrDest)}}; return (true)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.fatPages.unpackOdbObject ! on unpackOdbObject (adrAtts, adrDest, path=nil, flRunnable=false, flEdit=true) { ÇChanges Ç12/12/04; 4:58:05 PM by TAC Çfix for top level items in guest databases local (data, objectType); objectType = fatPages.getObjectType (adrAtts); if not objectType { fatPages.noObjectError (path)}; data = fatPages.decode (@adrAtts^.pageData); delete (@adrAtts^.pageData); //we're done with it, free memory now setBinaryType (@data, objectType); if defined (adrAtts^.guestDatabaseName) { // 12/12/04; 4:58:05 PM by TAC - top level item from a guest database that isn't a table adrDest = address (@[window.getFile (adrAtts^.guestDatabaseName)] + "." + adrDest)}; table.surePath (adrDest); unpack (@data, adrDest); //unpack the data delete (@data); //we're done with it, free memory if flRunnable { //it's a desktop script local (wasDefined); system.deskscripts.path = path; //make path available to the script wasDefined = defined (adrDest^); adrDest^ (); //It's runnable. Run the script. if not wasDefined { delete (adrDest)}} else { //it's not a desktop script if parentOf (adrDest^) == @suites { system.menus.buildSuitesSubMenu ()}; if flEdit { edit (adrDest)}}; return (true)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-13 23:45:35
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/file In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16946 Modified Files: getPrefsSubfolder Log Message: changed UserLand folder to Frontier folder for open source release Index: getPrefsSubfolder =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/file/getPrefsSubfolder,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** getPrefsSubfolder 26 Mar 2005 19:42:46 -0000 1.1.1.1 --- getPrefsSubfolder 13 Jun 2005 23:45:26 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.file.getPrefsSubfolder ! on getPrefsSubfolder (foldername) { Ç10/31/97 at 8:42:40 AM by DW -- moved to file.getPrefsSubfolder ÇFor Windows, I created a Preferences folder in the same folder as Frontier.root, if it doesn't exist. ÇCan't do it in the same folder as the Frontier app because frontier.getProgramPath isn't working. ÇNot sure of Windows culture on this, feedback is welcome. local (pathchar = file.getPathChar ()); case sys.os () { "MacOS" { local (prefsfolder = file.getSpecialFolderPath ("", "Preferences", true)); local (userlandfolder = prefsfolder + "UserLand" + pathchar); file.sureFolder (userlandfolder); local (subfolder = userlandfolder + foldername + pathchar); file.sureFolder (subfolder); return (subfolder)}} else { Çan OS with no preferences folder culture local (prefsfolder, subfolder); prefsfolder = file.folderFromPath (frontier.getFilePath ()) + "Preferences" + pathchar; file.sureFolder (prefsfolder); if string.lower (foldername) == "preferences" { // caller doesn't want a sub-folder ÇMonday, January 19, 1998 at 5:32:55 PM by PBS return (prefsfolder)}; subfolder = prefsfolder + foldername + pathchar; file.sureFolder (subfolder); return (subfolder)}} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.file.getPrefsSubfolder ! on getPrefsSubfolder (foldername) { ÇChanges Ç12/4/04; 3:31:27 PM by TAC Çchanged UserLand folder to Frontier folder for open source release Ç10/31/97 at 8:42:40 AM by DW -- moved to file.getPrefsSubfolder ÇFor Windows, I created a Preferences folder in the same folder as Frontier.root, if it doesn't exist. ÇCan't do it in the same folder as the Frontier app because frontier.getProgramPath isn't working. ÇNot sure of Windows culture on this, feedback is welcome. local (pathchar = file.getPathChar ()); case sys.os () { "MacOS" { local (prefsfolder = file.getSpecialFolderPath ("", "Preferences", true)); local (frontierFolder = prefsfolder + "Frontier" + pathchar); file.sureFolder (frontierFolder); local (subfolder = frontierFolder + foldername + pathchar); file.sureFolder (subfolder); return (subfolder)}} else { Çan OS with no preferences folder culture local (prefsfolder, subfolder); prefsfolder = file.folderFromPath (frontier.getFilePath ()) + "Preferences" + pathchar; file.sureFolder (prefsfolder); if string.lower (foldername) == "preferences" { // caller doesn't want a sub-folder ÇMonday, January 19, 1998 at 5:32:55 PM by PBS return (prefsfolder)}; subfolder = prefsfolder + foldername + pathchar; file.sureFolder (subfolder); return (subfolder)}} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-13 23:44:30
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/fileMenu In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16674 Modified Files: close Log Message: added adr = nil parameter, an address of a window can be passed Index: close =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/fileMenu/close,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** close 26 Mar 2005 19:42:47 -0000 1.1.1.1 --- close 13 Jun 2005 23:44:21 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.fileMenu.close ! on close () { kernel (filemenu.close)} \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.fileMenu.close ! on close (adr = nil) { ÇChanges Ç6/13/05; 12:17:19 AM by TAC Çadded adr = nil parameter, an address of a window can be passed kernel (filemenu.close)} \ No newline at end of file |
|
From: creedon <icr...@us...> - 2005-06-13 23:43:34
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/Frontier In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15799 Added Files: finderToFront Log Message: case change in file name --- NEW FILE: finderToFront --- FrontierVcsFile:1:bool:system.verbs.builtins.Frontier.finderToFront false |
|
From: creedon <icr...@us...> - 2005-06-13 23:41:07
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/Frontier In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14783 Removed Files: findertofront Log Message: Removed for case change in file name. --- findertofront DELETED --- |
|
From: creedon <icr...@us...> - 2005-06-13 23:31:18
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/Frontier In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11000 Added Files: installApp Log Message: moved from userland table --- NEW FILE: installApp --- (This appears to be a binary file; contents omitted.) |
|
From: creedon <icr...@us...> - 2005-06-13 23:30:08
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/userland In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10119 Removed Files: installApp Log Message: moved from userland table. --- installApp DELETED --- |
|
From: creedon <icr...@us...> - 2005-06-13 23:22:44
|
Update of /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/Frontier In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6317 Modified Files: openDataFile Log Message: changes comments follow current stylistic practices Index: openDataFile =================================================================== RCS file: /cvsroot/frontierkernel/odbs/frontierRoot/system/verbs/builtins/Frontier/openDataFile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** openDataFile 26 Mar 2005 19:42:47 -0000 1.1.1.1 --- openDataFile 13 Jun 2005 23:22:33 -0000 1.2 *************** *** 1,3 **** FrontierVcsFile:1:scpt:system.verbs.builtins.Frontier.openDataFile ! on openDataFile (fname) { //returns an address ÇChanges Ç3/13/02; 7:54:42 AM by DW ÇWe used to initialize user.prefs.maxDataFiles to 5. This number is too low, and could result in thrashing on a user's machine if they have more than five data files. So we do something unusual, if the number is 5, we increase it to 25. Ç1/4/02; 2:40:13 PM by DW ÇIf the table for the file exists and has a flCompacting item, make the caller wait. Ç1/2/02; 6:11:00 PM by DW ÇCorner-turn for the Guest Databases folder in Radio ÇIf running in Frontier, no change in behavior, files still live in the Guest Databases folder. ÇIf running in Radio Ç1. Look for the file in the Data Files sub-folder of the Radio folder, if it's there, you're done. Ç2. Look for the file in the Guest Databases/ops/datafiles folder. If it's there, move it to the Data Files folder, and open that file. Ç3. If the file doesn't exist, create it in the Data Files folder. Ç5/16/01; 11:42:11 AM by DW ÇCreated. ÇWhen an application wants to open its data file, it calls this routine. If the file is already open it's fast. If it's not, we close an existing file if we're at the maximum number, then open or create the file, and return the address of a top-level table where you can store your data. This centralizes an important function. ÇThis is a higher level routine than fileMenu.openGuestDatabase, which only opens the database, it doesn't manage a pool of databases, and it doesn't do folder management. Ç5/18/01; 4:07:01 PM by DW ÇWhen opening a file, open it hidden. Ç5/19/01; 9:30:12 AM by DW ÇAdded ctAccesses to the sub-tables of datafiles. local (now = clock.now ()); local (adrfilestable = @system.temp.frontier.datafiles); bundle { //initialization if not defined (adrfilestable^) { new (tabletype, adrfilestable)}; if not defined (user.prefs.maxDataFiles) { user.prefs.maxDataFiles = 25}; if user.prefs.maxDataFiles == 5 { //see comment in changes section for 3/13/02 user.prefs.maxDataFiles = 25}}; local (adrfile = @adrfilestable^.[fname]); if defined (adrfile^) { while defined (adrfile^.flCompacting) { //1/4/02; 2:42:20 PM by DW thread.sleepTicks (30)}; if not window.isopen (adrfile^.f) { filemenu.open (adrfile^.f, true)}; adrfile^.whenLastUsed = now; adrfile^.ctAccesses++; return (adrfile^.adrData)}; if sizeof (adrfilestable^) == user.prefs.maxDataFiles { //swap out least recently used Çscratchpad.ctswaps++ semaphore.lock (this, 3600); local (adr, adrlru = nil, datelru = clock.now () + 1); for adr in adrfilestable { if adr^.whenLastUsed < datelru { adrlru = adr; datelru = adr^.whenLastUsed}}; filemenu.save (adrlru^.f); filemenu.close (adrlru^.f); delete (adrlru); semaphore.unlock (this)}; local (f, folder); bundle { //set f, folder if system.environment.isRadio { folder = frontier.pathstring + "Data Files" + file.getpathchar ()} else { folder = frontier.getsubfolder ("ops/datafiles")}; f = folder + fname + ".root"}; file.sureFilePath (f); if file.exists (f) { if not window.isopen (f) { filemenu.open (f, true)}} else { //file doesn't exist local (flnewfile = true); bundle { //if Radio, look for file in Guest Databases folder if system.environment.isRadio { local (oldfolder = frontier.getsubfolder ("ops/datafiles")); local (oldfile = oldfolder + fname + ".root"); if file.exists (oldfile) { if window.isopen (oldfile) { filemenu.save (oldfile); filemenu.close (oldfile)}; file.move (oldfile, folder); filemenu.open (f, true); flnewfile = false}}}; if flnewfile { fileMenu.new (f, hidden:true); window.setPosition (f, 30, 40); window.setSize (f, 350, 525)}}; local (adrdata = @[f].[fname]); if not defined (adrdata^) { new (tabletype, adrdata)}; new (tabletype, adrfile); adrfile^.f = f; adrfile^.whenLastUsed = now; adrfile^.adrData = adrdata; adrfile^.ctAccesses = 1; return (adrdata)}; Çbundle //test code ÇopenDataFile ("testData") \ No newline at end of file --- 1,3 ---- FrontierVcsFile:1:scpt:system.verbs.builtins.Frontier.openDataFile ! on openDataFile (fname) { //returns an address ÇChanges Ç3/13/02; 7:54:42 AM by DW ÇWe used to initialize user.prefs.maxDataFiles to 5. This number is too low, and could result in thrashing on a user's machine if they have more than five data files. So we do something unusual, if the number is 5, we increase it to 25. Ç1/4/02; 2:40:13 PM by DW ÇIf the table for the file exists and has a flCompacting item, make the caller wait. Ç1/2/02; 6:11:00 PM by DW ÇCorner-turn for the Guest Databases folder in Radio ÇIf running in Frontier, no change in behavior, files still live in the Guest Databases folder. ÇIf running in Radio Ç1. Look for the file in the Data Files sub-folder of the Radio folder, if it's there, you're done. Ç2. Look for the file in the Guest Databases/ops/datafiles folder. If it's there, move it to the Data Files folder, and open that file. Ç3. If the file doesn't exist, create it in the Data Files folder. Ç5/19/01; 9:30:12 AM by DW ÇAdded ctAccesses to the sub-tables of datafiles. Ç5/18/01; 4:07:01 PM by DW ÇWhen opening a file, open it hidden. Ç5/16/01; 11:42:11 AM by DW ÇCreated. ÇWhen an application wants to open its data file, it calls this routine. If the file is already open it's fast. If it's not, we close an existing file if we're at the maximum number, then open or create the file, and return the address of a top-level table where you can store your data. This centralizes an important function. ÇThis is a higher level routine than fileMenu.openGuestDatabase, which only opens the database, it doesn't manage a pool of databases, and it doesn't do folder management. local (now = clock.now ()); local (adrfilestable = @system.temp.frontier.datafiles); bundle { //initialization if not defined (adrfilestable^) { new (tabletype, adrfilestable)}; if not defined (user.prefs.maxDataFiles) { user.prefs.maxDataFiles = 25}; if user.prefs.maxDataFiles == 5 { //see comment in changes section for 3/13/02 user.prefs.maxDataFiles = 25}}; local (adrfile = @adrfilestable^.[fname]); if defined (adrfile^) { while defined (adrfile^.flCompacting) { //1/4/02; 2:42:20 PM by DW thread.sleepTicks (30)}; if not window.isopen (adrfile^.f) { filemenu.open (adrfile^.f, true)}; adrfile^.whenLastUsed = now; adrfile^.ctAccesses++; return (adrfile^.adrData)}; if sizeof (adrfilestable^) == user.prefs.maxDataFiles { //swap out least recently used Çscratchpad.ctswaps++ semaphore.lock (this, 3600); local (adr, adrlru = nil, datelru = clock.now () + 1); for adr in adrfilestable { if adr^.whenLastUsed < datelru { adrlru = adr; datelru = adr^.whenLastUsed}}; filemenu.save (adrlru^.f); filemenu.close (adrlru^.f); delete (adrlru); semaphore.unlock (this)}; local (f, folder); bundle { //set f, folder if system.environment.isRadio { folder = frontier.pathstring + "Data Files" + file.getpathchar ()} else { folder = frontier.getsubfolder ("ops/datafiles")}; f = folder + fname + ".root"}; file.sureFilePath (f); if file.exists (f) { if not window.isopen (f) { filemenu.open (f, true)}} else { //file doesn't exist local (flnewfile = true); bundle { //if Radio, look for file in Guest Databases folder if system.environment.isRadio { local (oldfolder = frontier.getsubfolder ("ops/datafiles")); local (oldfile = oldfolder + fname + ".root"); if file.exists (oldfile) { if window.isopen (oldfile) { filemenu.save (oldfile); filemenu.close (oldfile)}; file.move (oldfile, folder); filemenu.open (f, true); flnewfile = false}}}; if flnewfile { fileMenu.new (f, hidden:true); window.setPosition (f, 30, 40); window.setSize (f, 350, 525)}}; local (adrdata = @[f].[fname]); if not defined (adrdata^) { new (tabletype, adrdata)}; new (tabletype, adrfile); adrfile^.f = f; adrfile^.whenLastUsed = now; adrfile^.adrData = adrdata; adrfile^.ctAccesses = 1; return (adrdata)}; Çbundle //test code ÇopenDataFile ("testData") \ No newline at end of file |