13,1085d12 <

< Here's an idea for organizing this section -- have subsections for each 2.X- < level section, as well as others that may have gone away and don't fit in the < current 2.X structuring. As far as the text goes, maybe we can leave it pretty < raw and informal, treating it like a (b)log of thoughts along the way. I think < this might work, and lead to getting the fucker done before death. < < <

< 6.1. For Next Check-In <

< < < < <

< 6.2. Bits from and Related to File, During Push to Finish <

<
<

< A big pilo crap follows, spewed originally in ``.sh 4 "Local Files"''. It's < indented to distinguish this particularly largish crap pile for the rest. < (Indenting crap piles seems to be an evolving convention). Each paragraph is < also annotated with where it's been dealt with. <

<

< Say that the implementors can figure out how/where exactly to define this (the < location of the user dir), including one or more of these ways: ... . The < effect must be that when the cal tool is subsequently invoked, it looks for the < Settings file and non-path-prefixed calendar files in the specified directory. < This is pretty fucked up, but it's been dealt with in the development < overview subsection on implementation considerations. <

< Hmm hmm, I think having one-by-one naming for each file is probably (way) < overkill, cfing Emacs single .emacs file; also, wait a mother-fucking minute -- < we may have a huge motherfucking chicken and egg problem with the whole local < files thing altogether, since where the fuck does this setting get saved; i.e., < it would seem there needs to be at least one known place to look for < things, unless we want to modify the app itself, which sounds fucked up; what I < think we're getting at is the the local files determination needs to be made at < installation/configuration time, not dynamically. Dealt with by having < only one Settings file read at start up; chicken and egg problem dealt with in < developer_overview.implementation_considerations. <

< Hmm, maybe we want to let the user specify one-by-one where each of the < different files goes, rather than having the idea of a specific known < directory. This is probably the more flexible way to do it, if it works OK. < One fucking way or another, we need to fully figure out what known places the < Calendar Tool needs to be aware of and what the full ramifications of knowing < these places are. Dealt with by having one Settings file and, again, in < implementation considerations subsection. <

< Local Files dialog now has two items: path for local file directory and name of < default calendar file to open when the app is launched as an app as opposed to < from a file. If the user specifies a value for the default start-up calendar < and then invokes the cal tool from a file, the file from which the tool is < invoked overrides the default start-up calendar. Dealt with in "Files Used < by the Calendar Tool" subsection and future work item about command-line arg to < specify start-up settings file. The idea of a single default calendar to open < has been extended to the "open calendars" part of the session-wide < settings. <

< 24jun04 NOTE: Since we've nixed the "CommunityCalendar" idea, what we can say < about calendar files and the local files directory is that the directory so < specified is the default place where calendars will go. Given the current set < up of things, all this really means is that that dir is the default path when < calendar file chooser is initially opened. Related to this, we need to figure < out if the file-chooser dialogs have temporal memory, as in they come up in the < place that they were most recently OK'd (but not Canceled) on. I think the < answer to this is almost certainly yes. Dealt with, as aluded to, in the < "new setup" of things. Temporal memory in dialogs dealt with in specific < subsection in data entry details. <

< NOT to all of the following paragraph; coverage of `File->Local Files' < since it's been nuked as a command and moved to Admin options; the priv admin < `File->Host Files' has been moved to the priv Admin menu. So, < what this section covers is what's in the files (a review, most likely), but < not these two commands, since they're not on a file menu anymore. Dealt < with as the paragraph itself explains. <

< Need to cover `File->Local Files' command here or elsewhere, as well < as the privileged admin `File->Host Files' command. With < `File->Local Files' regular users should be able to set the path to < where the local files are. When creating a config, admins can set the default < value for the local files. Dealt with fine in the new scheme of things; in < particular, admins don't do configs per se anymore, but can set location of < user dir by creating a settings file using the regular calendar tool. <

< There are four standard fixed-name files used by the CalendarTool: <

    <
  1. < "CommunityCalendar": [THIS IS WRONG NOW, need to decide if we want to < keep CommunityCal around anyway as the "standard", or more likely "standard < sample" normal calendar] the place where the central host expects to find the < calendar that the user shares with the Calendar Tool community <
  2. < "Options": the standard options file that is used to set the initial < options for all new calendars <
  3. < "Configuration": the file where the results of the `Save < Config' command go, that says what windows are up initially and where they < are <
  4. < "Intialization": the command file read in by the CalendarTool whenever < it starts up <
  5. < "FileInfo": file containing settings established with the < `File->Connect' and `File->Local Files' commands. <
< Dealt with by consoldating everything into cal-specific and session-wide < settings, in cal files and settings file, resp. <

< Given the nixing of CommunityCalendar as the global calendar, < the following paragraph is WRONG. If the CommunityCalendar file is < deleted or corrupted, it's as if the user sets `Options.Meetings.When to < Show Meeting Notifications' to `never', but otherwise things are < as normal. Note that deleting (or renaming) CommunityCalendar on the < user's local computer does not delete any of the user's community < calendar information on any central host on which the user is registered. In < order to do this, the user must contact the system administrator(s) on the < host(s) from the user wants to be unsubscribed. There need not be any < explicitly identifiable CommunityCalendar file on the central host. < It is up to the user to be prudent about saving backup copies of calendar < files, including the CommunityCalendar. There is no Calendar Tool < command to download the contents of a CommunityCalendar file from a < Calendar Tool central host. Dealt with as the paragraph itself explains; < also, the matter of deleted or corrupeted files in general is dealt with in < File subsection on this topic, as well as Error Conditions section as < appropriate. <

< The next NOTE was correct -- all pretty much obsolete bullshit. Went through < it and found a couple thigs that helped firm things up in the final version of < the File section, so put a motherfucking fork in it. <

< NOTE: I'm pretty sure that all of the subsubsections that follow are < bullshit, but may have some useful info. Check them out one last time to be < sure. <

< .sh 4 "Save As and Load in Editing Dialogs" <

< 9jul94 ADDITIONAL NOTE: OK, I'm just about ready to fuck the < SaveAs/Load shit in all of dialogs where they appear. This will nicely < simplify things, and users who give a fuck can --- OK, fuck me, we're going < around in circles again. If we lose the SaveAs/Load shit in the dialogs, then < there's no particularly convenient way to get, say the options, unbundled from < a calendar file. One way might be to provide a "Clear all items" command, say < in edit, that could be used to get rid of everything but the aux data, and then < a new calendar could get another calendar's aux settings by copying the first < calendar into the new one and then nuking all the items in the new one. This < really anin't too bad, given the complication it avoids and the fact that we < can still get done what we'd like to get done. To whit: <

<

< OK, fuck me hard, one more time, way up the motherfucking ass. Let's just < stick with what the fuck we have, including the fucking-ass complicated new row < of buttons in the connections table, explain it clearly and get the fuck on < with it. <

< No, but now fuck me again. Probably the bottommost line here is how useful the < aux data file saveas/load bullshit is, and I think the answer is honestly not < very fucking much useful. For me, I'm likely to have a few calendars at most, < and not be spending my motherfucking life building caltool aux data files. So, < I think except probably for Options, which are a big pile of do-do, we'll nix < SaveAs/Load. If I like the categories, lists, or filters so fucking much in < one calendar file, then I can copy the file, do a "clear all items" and get the < fuck on with it. <

< Or one more motherfucking possibility is to have a 'Save Settings' command in < the file menu that can be used to save all of the non-scheduled-item data in < one motherfucking Settings file (maybe even including options). We'll also < need a File->LoadSettings to go along with this. This way I can save all of < the motherfucking settings in one place and load them up if I give a fuck about < them for some other calendar. In this scheme, we can fuck the explicit < Options file, having a configured distribution of the tool with the < options settings in the tool itself, and provide a `Restore Defaults' button in < the options dialog, instead of SaveAs and Load. ALSO (IMPORTANT) -- nuke < File->SaveConfig in favor of a new Options.Viewing.Misc setting that allows < `From last time' (or something like it) for the `Initial View' option (in < Figure 283). <

< 9jul04 NOTE: (1) Itemize the dialogs in which these commands appear; < (2) explain why only the host-connection dialog has `Save' in addition < to `Save As', whereas all the others have only `Save As', the < explanation being that the host-connection dialog is the only one that is < editing non-calendar-specific data that is stored someplace other than the < current calendar). <

< NOTE: Adjust the following fodder pulled from the options section to < apply uniformly to all four types of aux data (which will have been clearly < defined in the intro of this section). What might be nice is to use this < options-specific scenario as the concrete example for all five types of aux < data. See also the semi-epiphany in < < Section 2.11.32. < <

< The `Save As ...' button is used to save a copy of the current option < settings in a selected file. Saving options in different files allows the user < to create different option configurations that can be loaded using the options < `Load' command. When the user presses `Save As ...', the < system displays a dialog of the form shown in Figure 333. < <
<
<


< <

< <

< <

< Figure 333: Options save-as dialog. <

<
<
<
< < The default save-as directory is the user's Calendar Tool directory, the < default name of which is ".CalendarTool". The four listed files are the < standard files created when the Calendar Tool is installed, as described in < < Section . < < < Section . < < covers complete details of the format and use of file saving dialogs, including < the directory browsing list and the warning issued when an extant file would be < overwritten by the save. <

< To save options to a file, the user enters the filename in the save-as dialog < and presses `OK'. For example, Figure 334 shows the user having < entered the file name "PersonalOptions" as the location to which options < are saved. < <
<
<


< <

< <

<

< Figure 334: Saving options to a PersonalOptions file. <

<
<
<
< < The `Save As' command does not execute `Apply' or `Save', it < only saves a coy of the current options settings on the selected file. The < applied and saved states of options are unchanged after execution of `Save < As'. <

< The `Load ...' button is used to load a previously-saved options file. < When the user presses `Load ...', and there are no unapplied or unsaved < options, the system displays the dialog in < Figure 335. < <
<
<


< <

< <

< <

< Figure 335: Options load dialog. <

<
<
<
< < The names of valid options files appear in normal typeface in the directory < list; all other types of files appear in greyed typeface. < < Section 2.8.2 < < covers further details on the format and use of file opening (i.e., loading) < dialogs, including the directory browsing list and file-type validation. <

< To load options from a local file, the user selects or enters a filename in the < `File:' text field. The user can alternatively load the < administrator-defined options file from the Calendar Tool central host < computer, if the user is currently connected to an operational central host < (see < < Section < < ). < If the user is not so connected, the `Load from central host' checkbox is < disabled. Figure 336 shows the user having selected to load from the < "Personal Options" file. < <
<
<


< <

< <

<

< Figure 336: Loading from the Personal Options file. <

<
<
<
< < Figure 337 shows the case where the user selects to load from the central < host. < <
<
<
< <

< <

<

< Figure 337: Loading options from the Calendar Tool central host. <

<
<
<
< < When the central host checkbox is selected, the File and Directory < data fields are cleared and disabled. The user confirms the load by pressing < `OK', whereupon the option settings defined in the loaded file become the < current unapplied and unsaved settings in the options dialog. (To restore the < Calendar Tool to the global default options configuration, the user can save < the options settings loaded from the central host to the local Options < file.) <

< If there are unapplied or unsaved option changes when the user presses `Load < ...', the system issues the warning shown in Figure 338, < <
<
<


< <

< <

<

< Figure 338: . <

<
<
<
< < where affected is one of "unapplied" or "unsaved", < as appropriate. Unapplied changes are also unsaved, given that saving < automatically applies. The user presses `Yes' to proceed, `No' to < cancel the `Load' command. <

< The `Load' command does not perform `Apply' or `Save'. Once < options are loaded, they are both unapplied and unsaved. Hence, loading has < precisely the same effect as if the user had manually entered all of the loaded < values in the options dialog. <

< Leaning towards fixing the following paragraph to allow load from (and maybe < save to) two sources -- options files and (portions of) calendar files. If < this happens, we need to fix above too. See < < Section < < for an overview. So if we allow load from cal file but not save-as to cal < file, here's how we accomplish save-into: open the cal file, load, save (as < opposed to save-as). <

< Even though calendar-specific options are stored within calendar files, the < `Save As' and `Load' option commands operate only on separate < options files, not on the options portion of calendar files. The system < considers calendar files and saved option files as two different file types < (see < < Section < < ). When an extant calendar file is selected in the `Save As' < file-selection dialog, saving to that file replaces the previous file contents < entirely, in just the same way as saving to any other extant file would do. < The `Load' options command can only be used to load previously saved < options files, not the options portion of a calendar file. Sections < < Section 2.8.2 < < and < < < < describe how file dialogs display inapplicable file types and the details of < overwriting extant files. <

< Since options are calendar-specific, the `Apply' and `Save' < commands operate only on one calendar at a time, namely the current calendar. < Switching to a different current calendar always makes the options for the < newly current calendar become active, without applying or saving options for < the previously current calendar. Given this behavior, there is no direct way < to save or apply the same option settings to multiple calendars en masse. To < apply or save the same option settings to more than one calendar, the user must < save the options to a file, make a new calendar current, load the saved < options, and then apply or save the loaded options to the newly current < calendar. <

< Any applied but unsaved changes are not saved by `Cancel'. If the < options dialog is subsequently opened on a calendar with unsaved option < settings, the unsaved state of the options is reflected by the `Save' < button being enabled. If user closes a calendar with unsaved options or exits < the Calendar Tool when one or more calendars have unsaved options, the system < warns the user of the condition, as described in Sections < < 2.3.6.1 < < and < < 2.8.7. < <

< 2jul04 NOTE: Be sure to cover the (possibly subtle) distinction between < option saving from within the cal tool admin program versus the regular-user < cal tool. Viz., <

    <
  1. < When an admin does regular File->Save, user-related option values always go in < the Options file, since there is no calendar in/with which to store < options calendar-specifically; I suppose we could say that options are < "distribution-specific", but it seems this would not work well at all, since < there's no distributional analog of the "current calendar". <
  2. < Otherwise, the file-related option dialog buttons should behave the same for < the admin as for the regular user. The usage semantics may differ a bit, and < be worthy of explaining, as in the reason the admin does an options-dialog < `Save As is to create (conveniently) a reusable options "bundle", that < may be useful generically for different custom distributions. As with the < regular-user version of the options dialog, `Save As' is no big deal, < since it can be accomplished pretty easily at the OS level via file copy. < However, it's worth having, and for fuck's sake, even if it isn't, it's not at < this point going to get nuked from the multitude of option screen shots we < have. <
<
<

< And here's a blast form the not-so-distant past about the now-gone < `File->Local Files' command. <

< .sh 4 "File Connect and Local Files" <

< The `Connect' command was described in < < Section 2.6.6.1 < < on administrative commands. When the user selects the `Local Files' < command, the system displays the dialog shown in Figure 339. < <
<
<


< <

< Stick in the `Default Calendar Tool Directory' <
< item from the Admin tab of the Options dialog. <

< Also add field for entering default calendar to open on fileless app launch. <

< Figure 339: Local files dialog. <

<
<
<
< <
<

< The following has been dealt with fully, including nixing the idea of being < able to overwrite non-calendar files: <

< .sh 4 "File Types" <

< Discuss the different file types and the ramifications thereof, including < that file types are used to do the filename greying thing in open/load dialogs, < and that file typing may vary in different operating environments. <

< OK, try this: (See the semi-epiphany in options.me.) Also, as a < non-annoying emacs-like behavior, we'll list all file names greyed out in all < save-as dialogs, but all the user to select them. This way in contexts like < the options save-as dialog, we can let the user select the standard Options < file in the chooser for overwriting. Given this behavior, we may well want to < specialize the overwrite message into two categories: (1) overwriting an < extant file of the correct type (e.g., overwriting Options from the < options save-as dialog or an extant cal file from File->Save As) (2) < overwriting an extant file of the wrong type (e.g., overwriting < Categories the options save-as dialog or an extant file of some < non-cal-tool type from the File->Save As dialog. It think is is all < pretty farging sweet. <

<

< Done and expanded upon: <

< .sh 4 "Calendar File Contents" <

<

    <
  1. < scheduled items -- initially empty <
  2. < categories -- initially holidays <
  3. < custom lists -- initially empty <
  4. < filter settings and custom filters -- all shown, custom filters empty <
  5. < windowing mode -- initially per-level <
  6. < options -- initially obtained from default options file (Options by < default) (hmm, there's potentially a chicken-and-egg problem lurking here; < figure it the f out) <
  7. < windows <
<
<

< Here's a slew of seriously funked up bullshit about saving and loading < settings (hold on a minute, we're still seeing if it's really seriously funked < up): ... OK, I've held on and checked things out. Some of it isn't so < funked up after all, but things have been fixed in the latest version of the < file section, and here's the stuff to which I refer: <

< 12jul04 -- OK, we need to add to the `Load Settings' dialog < the option to load them from the current host, which replaces the short-lived < but seemingly uninspired `Options->Load from Host' command. <

< It's more than just the window configuration since it includes what files are < open. I think the easiest way to define exactly what save configuration does < is as a script file. This way we can deal with the tricky issue of having the < display look the same, but having the displayed content all be relative to < today's date. If for some reason the user would like to have a configuration < that is absolute datewise, or relative some other date than today, then she can < tweak the generated script from `Save Config', or of course write her own < start-up script from scratch. < An issue we need to deal with is the relationship between the option setting of < what we call "the standard default view" in the ui-overview. Here's what I < think could work well: There is an option called `Start-Up View Level' < that specifies the default viewing level from item to year. If there is no < init file in the user's home dir (per OS-specific definition of "home dir" and < as discussed further in Admin section), then the Cal Tool comes up a la < described in the initial screen config in the ui-overview. Viz., there's a < menubar and zero or one view window at the level specified by the setting of < `Start-Up View Level', open on today's date. If there is an init file or < the tool is invoked with an start-up file in the command line or from a < start-up file icon, then we could do one of two things: <

    <
  1. < The system displays no windows automatically, thus ignoring entirely < the setting of default-init-view-level; this means that the mere < existence of an init file means there's no default display, and I don't think I < like this; so let's try thing b ... <
  2. < The system proceeds to put up the initial window per < default-init-view-level, and then goes about executing the init file. If < the user really wants to get rid of the default initial window(s), she puts < this code at the beginning of the init file, which code closes the initial < window: <
    < ViewWindows(1);
    < FileClose();
    < 
    < This works because of the rule that says the default window is put up before < the init file is run, which means therefore that it's window 1 in the windows < list, hence the arg of 1 to ViewWindows (assuming lists start from 1 < like humans think, not from 0 like geeks think). But given this, here's an < even simpler bit of code to do the same thing: <
    < FileCloseAll();
    < 
    < which works for hopefully obvious reasons. <
<

< This all seems pretty darn clean. To be consistent, it seems with this scheme < that the first line of the init file saved with `Save Config' will in < fact be the preceding chunk of code to close the default window, so that the < config file starts with a blank slate. <

<

< Another 4aug03 NOTE. OK, I think I want to take back what I < say in the next paragraph. I think it's appropriate to require that each user < calendar be stored in a separate file in a known (settable) dir, with some < reasonable convention for file name, such as the user's ID plus ".cal" < extension. <

< 4aug03 NOTE (if not mentioned elsewhere): Implementors can < choose how they implement the central host repository, e.g., having a separate < cal file for each user or having all user cals in the same file, or some other < implementation. There is no requirement that a user be able to view the < contents of a calendar in the central repository as a raw file in any form. < Operationally, the user has her own local calendar as a file with a known name. < On the remote host, the publicly-visible contents of that calendar are < made available to other users through the calendar tool, via the operational < effects of connecting and file saving described herein. Again, however, there < is no requirement for the user to see a specific calendar file on the central < host. <

< Nixed the auto update of host tab in the next bit, but did address the issue of < warning on save-as when current cal is connected: <

< `Save As' needs to issue a warning when the current calendar is < associated with a connected host. The warning should allow the user to stay < connected, with the host connection table automatically updated. <
<

< Decided against the following, since user can move/remove Settings file if she < doesn't want it used on File->New, or load a cleared version of settings at any < time: <

< The `Load Settings' dialog also has a radio buttons for `load < settings on File->New' versus `Use installed default settings on < File->New. <
<

< I was thinking about a adding an admin option for `Auto-save tool-wide < settings on exit' but decided it wasn't necessary because (a) there are < only two such settings (open cals and connect tab), (b) open cals ain't that < important, (c) there's already a convenience Save button in connect tab dialog. < Also, I don't think it's necessary to warn the user on exit if the only unsaved < tool-wide setting is current open cals, since that's not really a big deal < given all the other ways that the user can save this stuff, and it's certainly < not critical to operation if it's missed when the user wanted it not to be. < The emacs hack would say to add the yes/no option warn-on-exit-if-open- < calendar-names-setting-not-saved. <

< Most likely nix the following bulleted list. <
< File-related commands allow the user to perform these functions: <

< These commands are described in the scenarios that follow. Before the < scenarios, a general description is given of the different types of files used < by the Calendar Tool, and the types of data stored in the files. <

< Print crap: <

< The printing functionality in the initial version of the Calendar Tool is < limited ... . Make it just screen shots. <

< OLD: Sketch of some ideas: The print dialog should include at least the < following options: <

    <
  • < start date <
  • < end date <
  • < apply active filter? <
< But woe nelly, I just had a look at all of the features in Claris, particularly < for the "book" option, including editing its format. I think this will be an < excellent place to draw the line and say that fancy printing will be part of < future work. <

< NOT SIMPLE ENOUGH: So, here's the deal with printing. We'll keep it < brutally simple by printing out in the plain text form of the current example- < items file. In fact, we can use this file pretty much as is, except for the < parenthetical remarks about edits made. We'll also need to add some kind of < indication of individual instance changes to recurring items, which will be < done in the same brutally simple form. <

<

< Exit crap: <

<

< At this point, it looks like, oh please say it's so, that Exit can do < exactly what Close All does in terms of offering to save. Hope the fuck < so. Well, at least one additional thing Exit needs to check is if there < have been changes to either of the session-wide settings since settings were < last saved (including the save in the global options and connection table < dialogs), i.e., open calendars and connection table. <

< If the user exits or closes a calendar with unsaved options, then in addition < to whatever offer-to-save file messages there may be, there are also offer-to- < save options messages. Viz., there is one such message for each active < calendar for which options have been applied but not saved. The text of these < offer-to-save messages should most likely be integrated into the file offer-to- < save dialogs, so two dialogs don't appear if both the file data and options < need to be saved for a particular calendar. <

< If the user exits or closes a calendar with notifications that have not yet < been responded to, the system displays a dialog of the form: <

< There are meeting notifications you have not yet processed.  Do you want to
< review or discard the unprocessed notifications?
< 
<             Review    Discard
< 
< If the user chooses 'Review' and then grows tired of it before all < notifications are processed (where processing means pressing one of the three < buttons on the bottom, or explicitly closing the notification dialog (which is < equivalent to Delay)), then she can select Exit of Close again (whichever of < which started the whole thing, or either) and then hit Discard. (Or use ... < (fell the fuck off, but who gives a fuck at this point.)) <
< < <

< 6.3. Bits from Options that May Be Useful, or May Not <

<
<

< The change in location of the repository directory does not affect any of the < contents of the repository files or subdirectories. All of these files and < subdirectories are moved in tact from their previous location to the new < location. <

< When the administrator applies a change to the repository location by pressing < `OK' (should be apply), the system verifies that the < specified file path is valid and readable and writable by the Calendar Tool < Administration program. If it is not, the system reports an error as described < in < < Section 2.12.7.2. < < To avoid operational disruption, the `Host Files' command is disabled < when the server is running. <

< NOTE 12jul04 -- OK, this section [admin options] is pretty well messed < up. The deal is that the long-held idea that the admin would define user < options by using a mock version of the user prefs is outta here. Instead, < we'll have admin-relevant options tabs for `Times and Dates' (which < turn out in fact to be relevant in an number of admin dialogs), < `Fonts' (which are pretty much always relevant options in any app that < does not want to be a pain in the neck by not letting users change display < fonts), and `Administrative' (which presumably will stay the same as < the current `Administrator' subtab, with whatever recent mods are < necessary, at least one mod being the likely addition of the a place to set the < host dir, to parallel the new way things are in the regular user UI, where < `File->Local Files' is now gone). And the way the admin will define < user options is to invoke the regular Calendar Tool, and do the normal options < and save-settings things there. Even though this may not be quite as < convenient as the old way (and this is debatable), it's way fucking less < convoluted than having what was turning into a major pain in the neck of having < two ways for the admin to set user options. One of the key discoveries that < tore it was trying to figure out where the fuck the options-containing settings < file would go when the admin did a `File->Save' in the admin program. < We probably could've figured something out, but it was definitely getting < fucked up to have the two ways of admins setting user options. So, get to it < and fix this. <

< For an administrative user running the Calendar Tool Administration program, < the `Options' command menu and top-level tabs of the options dialog < are the same as for the regular Calendar Tool user. Physically, the only < difference between the administrative version of the options versus the < regular-user version is that the `Administrative' tab has two subtabs, < as shown in Figure 340. < <
<
<


< <

< <

<

Figure 340: Administrator version of the Administrative < options Tab _.

<
<
<
< < The `User' subtab has exactly the same format as the full < `Administrative' tab for the regular user, shown in < < Figure 281. < < Details of the `Administrator' subtab shown in Figure 286 are < explained shortly. <

< Functionally, the administrator version of the options dialog differs < fundamentally from the regular-user version. In the administrator version, < none of the option settings, except those shown in Figure < < Figure 286 < < applies to the Calendar Tool Administration Program itself. Rather, when an < administrator makes changes to options values, the changes are recorded for use < in creating customized Calendar Tool distributions, as described in < < Section . < < The point is, none of the option settings for regular-user commands apply to < the Calendar Tool Administration program, since the administration program does < not perform calendar scheduling or viewing. Hence, except for the one < administrator-specific subtab, administrator-supplied option settings apply to < custom distributions of the Calendar Tool, not to the administration program < itself. In a given custom distribution, these options serve as the installed < default settings until changed by the regular user. <

< In keeping with the functionality just described, the `Apply' button < in the administrator version of the options dialog is only enabled when the < administrator has made a change within the `Administrator' subtab. < Otherwise, the option dialog buttons in the administrator version function the < same as in the regular-user version of the options dialog, as described in the < preceding scenarios. <

< The `Administrator' subtab in < < Figure 286 < < applies specifically and exclusively to the Calendar Tool Administration < program. <

< Re. `Initial View' level, to be consistent with the way < things are explained in specific-date-viewing, the default level cannot be at < the item level. Nor do I think it makes particularly good sense to have it be < some list. Therefore, the default initial view level is one of four day < through year levels, and perhaps a "no window" option. <

< Here's a potentially interesting bit of going around in circles regarding < whether to have options to allow the user to change ID and password: <

< Add options for default caltool user ID and password. These are the ones < tried first for connect. NOT -- IDs and passwds are now in connect dialog. NOT < NOT -- they're not in the connect dialog, so we do want options here for < default ID and passwd. NOT NOT NOT -- the user doesn't get to change his ID < himself, and the password is chaged using Admin->Change Password, q.v. <
<

< And for an example of a brain-damaged option (at least now given that the only < way to contact an admin is via the Admin menu): <

<

< The option to 'Hide Admin menu when not connected' controls when the < `Admin' menu appears ... . <
< .sh 5 "Platform-Dependent Options" <

< As of 23jul02, I'm saying a firm (as possible with me) NO to this. <

< Although we'd like to avoid it, it may be necessary to at least plan for < platform-dependent options that may be needed for networking connections. If < at all possible, I'd like to avoid these. They sound like a cop out to < me. <

< Well farg me, the hoped-for ``Final Sketch'' in the next paragraph wont fucking < work -- take a mf look at options-admin-admin.idr. So, do this: <

    <
  • < In the Admin version of the options dialog, have everything be exactly the same < as the user, except for the Administrative tab, which will have two subtabs -- < User and Administrator <
  • < The User subtab is identical with the Admin tab in the user options dialog, and < like all of the other options tabs is used by the administrator to set options < to be stored in a distribution. <
  • < The Administrator subtab is what's currently in options-admin-admin.idr, < cleaned up as appropriate; in particular, we need to note that only the top < tier of the three DB dialogs can have options set (e.g., not any of the sub- < dialogs like the ones for location bookings); also, change the Central Host < button to a Distribution button, since the latter dialog is now one with enough < stuff in it to make default settings useful (albeit probably only minimally < so). <
  • < No options sharing, since the only one that was shared was email app, and now < we'll clarify that caltool admin doesn't launch an email app. <
  • < Much if not all of the crap below about global options and "inheritance" is < obsolete; here's the way I think it should now work: <
      <
    • < All of the user options set by an admin are made available to users via a < created distribution, and in particular via the Options file that is packaged < with that distribution. <
    • < There is no `Defaults' button in the user options dialog; if the user wants to < change the distribution-supplied options for possible later reversion thereto, < he must do the following: <
        <
      • < save the original Options file that comes with the admin-supplied < distribution, either with the `Save As ...' options dialog command, or < via a regular OS file save <
      • < use the `Load ...' options dialog command to re-load the saved < original Options file after any options changes have been made and < saved (with an intervening, or move/copy the original saved file back into the < file named "Options". <
      <
    <
<

< Final Sketch: <

    <
  • < Have options be exactly the same as for regular users. <
  • < Option values set by the admin are used as the config defaults, as described in < the Distribution subsection. <
  • < The only option setting that applies to the admin program as well as to the < config settings is the default email program, which in the case of the admin < program itself applies to the email program that is used to send admin messages < to the user, as described in the Admin section. <
<
  • < As far as dialog defaults go for the Admin program, the only behavior is that < all dialogs are reopened with the values entered the last time the dialog was < displayed. For the program, there no other way to set specific default values < for any of the admin edit dialogs. When an admin dialog is initially displayed < or cleared, the initial values are as shown in Table 20. < <
    <
    <
    <
    < < < whatever

    Table 20: Default values for all admin- < dialog data fields. <
    <


    <

    < <
    < <

    < < <

    < NOTE: There needs to be a place for privileged admin-specific options, in < particular these: <

      <
    • < default size limit for user calendars; int text field with empty default, < meaning no limit <
    • < defaults for db dialogs, using the same style as the defaults for scheduling < dialogs <
    • < Time to Complete Meeting Scheduling While Others Are Waiting: int minutes < (default 2) <
    • < possibly other stuff in the privileged admin menu <
    < OK, it looks like the entire admin tab needs to be expanded for versions of the < options dialog that is displayed from within the caltool admin program. It < almost certainly needs subtabs, more-or-less correspondent to the items on the < privileged admin menu. <

    < The options dialog that runs under Calendar Tool Administration has the same < overall format as for regular users, except that the buttons along the bottom < of the dialog are limited to, Save, Clear, and < Cancel. < < There separate dialog `Save' and there is no `Apply' button. < Since there are no calendar viewing commands in the Calendar Tool < Administration program, setting options does not apply to a calendar being < viewed, but to the initial default values for those options for Calendar Tool < users, as stored in the Options file. <

    < NOTE: This paragraph needs to be fixed per the latest and greatest options < set up. The default option values set by the administrator are available < to users in two ways. When running the Calendar Tool, the user can select the < `Defaults' button in the `Options' dialog. This allows the < user to set options to the default values set by an administrator, as described < < above. < <

    < The other way that administrator-set options values are made available to < regular users is through a Calendar Tool program distribution created by the < administrator. That is, when an administrator creates a program distribution < using the `Admin Distribution' command, the option values that have < been set by the administrator are installed in the distribution program as the < defaults for that program. <

    < Here's the deal for "inheritance" of options: <

      <
    1. < First global options are set. <
    2. < Then user-specific options are set, possibly overriding admin options. <
    3. < Finally, calendar-specific options are set, possibly overriding either of the < previous levels. <
    < < Here's some fodder axed on 11aug03 from the Admin section: < < .sh 3 "Global Options" <

    < Explain how the first three kind of options are ?all? settable by user and < are therefore explained in the next section. The difference between what the < admin does versus what a regular user does is that under `Admin->Global < Options', the admin is setting the global defaults for all users, some or all < of which may be changed by users on an individual basis. I think it's also < worth mentioning that an admin can be a regular user if she wants to be. I.e., < there need not be a special user account that is "the" admin; there can be if < that's how a group of users wants to set things up, but there need not be. If < an admin wants to be are regular user, she needs to be aware that functions < performed under the `Admin' menu have potentially global effects, and must < exercise according care in the execution of the functions. <

    < The Admin options are viewable by regular users but settable only by system < admins, so they're described here in this section of the requirements. <

    < .sh 4 "Administrative Options" <

    < .sh 5 "Root System Administrator" <

    < .sh 5 "Group Leader Privileges" <

    < A bit of rationale: Since we're nixing pencil in, there was a bit of < thought just now that group leaders may not be all that necessary. However, < there are other useful reasons to have them. Also, I think it's reasonable to < say that group leaders are the only ones who can schedule meetings for which < online notification will be sent by the tool. So in effect what we've done is < demote pencil power in to notify power. <

    < With that bit of rationale, here are the group leader privileges as we < currently see them: <

      <
    1. < Meeting notifications sent to attendees. <
    2. < 3jul02 NOTE: The following option is obsolete, given the details described in < the latest changing-and-deleting section, in particular the fact that a leader < cancels a meeting without deleting it by using the change operation instead of < delete. <
      < Cancellation notice sent when group leader deletes a meeting; deleted for non- < recurring, marked as CANCELED for recurring (maybe, or probably better just to < nuke it or maybe make this an option). <
    3. < Can add and remove members for group. <
    1089c16 < 6.4. Pretty Close to the Last Pile 'o Due Due from Admin --- > 6.1. Pretty Close to the Last Pile 'o Due Due from Admin 1092c19 <

    --- >

    1156c83 < menu, the system displays the dialog 341. --- > menu, the system displays the dialog 314. 1174c101 < Figure 341: shit. --- > Figure 314: shit. 1194c121 < Figure 342 shows the user ... . --- > Figure 315 shows the user ... . 1214c141 < (We need to define precisely the terms associated and --- > (We need to define precisely the terms associated and 1251c178 < The `Central Host' dialog looks like Figure 342. -- NO, it's --- > The `Central Host' dialog looks like Figure 315. -- NO, it's 1264c191 <

    Figure 342: Central host dialog for a regular user.

    --- >

    Figure 315: Central host dialog for a regular user.

    1307c234 < 6.5. Nixed in Favor of Explicit Dialog Settings --- > 6.2. Nixed in Favor of Explicit Dialog Settings 1327c254 < 6.6. What's on the Host --- > 6.3. What's on the Host 1340c267 < 6.7. More nukation from admin, here re. purging and capping --- > 6.4. More nukation from admin, here re. purging and capping 1381c308 < 6.8. Nuked from Change/Delete Section 28 Jul 03 --- > 6.5. Nuked from Change/Delete Section 28 Jul 03 1389c316 < Figure 166 --- > Figure 167 1394c321 < Figure 157. --- > Figure 158. 1399c326 < Figure 167. --- > Figure 168. 1408c335 < Figure 166, --- > Figure 167, 1415c342 < 6.9. Nuked from Admin Section 27 Jul 03 through 11 Aug 03 --- > 6.6. Nuked from Admin Section 27 Jul 03 through 11 Aug 03 1458c385 < `List Admins' and `Users' commands in the `Admin' menu. Figure 343 shows a --- > `List Admins' and `Users' commands in the `Admin' menu. Figure 316 shows a 1484c411 < Figure 343: User requesting calendar tool information changes. --- > Figure 316: User requesting calendar tool information changes. 1514c441 < IWe need to remove the ID and Passwd columns, which were recently added, --- > We need to remove the ID and Passwd columns, which were recently added, 1517c444 < leaving the Password command in the regular-user Admin menu is --- > leaving the Password command in the regular-user Admin menu is 1547c474 < Describe that `List Admins' shows who all the admins are, Figure 344. --- > Describe that `List Admins' shows who all the admins are, Figure 317. 1557c484 < Figure 344: List of Calendar Tool administrators. --- > Figure 317: List of Calendar Tool administrators. 1598c525 < Section . --- > Section 2.6.5.2. 1668c595 < 6.10. Registered Users --- > 6.7. Registered Users 1737,1748d663 <

    < 7jul04 NEW CONCLUSION: Fuck the chicken-and-egg bullshit around the < Admin menu. Just leave it the fuck up all the time, with the DB < commands and passwd command disabled unless the current calendar is connected. < This means we move the Connect command back to the Admin menu < where it belongs. The fact that it belongs in the Admin as opposed to < File menu was brought pretty clearly home when I tried to write a < decent intro paragraph to the Flie section, whereupon it < became pretty darn clear that Connect is only weakly related to file < processing. Furthermore, the fact that I've seen fit to explain the connect < command fully in the Admin section makes it quite clear indeed < that it should be an Admin as opposed to File menu command. 1752c667 < 6.11. ``View ...'' versus ``Edit ...'' as Button and Menu Item Names --- > 6.8. ``View ...'' versus ``Edit ...'' as Button and Menu Item Names 1766c681 < 6.12. The Explicit Delay Button in Meeting Notifications --- > 6.9. The Explicit Delay Button in Meeting Notifications 1777c692 < 6.13. Group Explorer --- > 6.10. Group Explorer 1797c712 < system displays the dialog in Figure 345. --- > system displays the dialog in Figure 318. 1806c721 <

    Figure 345: Group database dialog with explorer.

    --- >

    Figure 318: Group database dialog with explorer.

    1813c728 < Figure 200, --- > Figure 201, 1820c735 < viewing window shown in Figure 346. --- > viewing window shown in Figure 319. 1829c744 <

    Figure 346: Group explorer.

    --- >

    Figure 319: Group explorer.

    1843c758 < 6.14. Nuked from Admin; Presumably to Go In Some Form in Installation --- > 6.11. Nuked from Admin; Presumably to Go In Some Form in Installation 1857c772 < user db records. --- > user db records. 1859c774 < 3jul02 Note: This section may go in favor of the higher-level installation --- > 3jul02 Note: This section may go in favor of the higher-level installation 1868c783 < config'd. --- > config 1872c787 < 6.15. Fodder from Wincow Viewing Section, Ca. Aug 02 --- > 6.12. Fodder from Wincow Viewing Section, Ca. Aug 02 1876c791 < NOTE prime: OK, it looks like we're going (back) to the rule that a --- > NOTE prime: OK, it looks like we're going (back) to the rule that a 1924c839 < 6.16. Meeting Notifications and Calendar-Host Association --- > 6.13. Meeting Notifications and Calendar-Host Association 1952c867 < 6.17. Nuked from Options, Related to Overly-Complicated Home Dir Specs --- > 6.14. Nuked from Options, Related to Overly-Complicated Home Dir Specs 1965c880 < 6.18. Decision about User Control Over Notifications --- > 6.15. Decision about User Control Over Notifications 1975c890 < 6.19. Some Uncommonly To-The-Point Fodder from the Options Section --- > 6.16. Some Uncommonly To-The-Point Fodder from the Options Section 2006c921 < The idea is that each user can control who she accepts being bugged by for --- > The idea is that each user can control who she accepts being bugged by for 2019c934 < getting overly complicated, but hey so's the whole darn system. --- > getting overly complicated, but hey so's the whole darn system. 2033c948 < Some question/details pursuant to the above dialog idea: --- > Some question/details pursuant to the above dialog idea: 2053c968 < 6.20. Nuked from Options Section --- > 6.17. Nuked from Options Section 2057,2065c972,980 < When the user presses `Save' the system first performs < `Apply' (if it is enabled), then saves all option settings in the < current calendar. If no calendar is open, options are saved in the standard < `Options' file. As with the `Apply' button, `Save' < is initially disabled, becoming enabled when the user changes the options < settings in one or more tabs, makes current a calendar with unsaved changes, or < loads a new options file. While execution of `Save' performs < `Apply', the converse is not true. Therefore, the settings in the < options dialog exist in one of three states: --- > When the user presses `Save' the system first performs `Apply' > (if it is enabled), then saves all option settings in the current calendar. If > no calendar is open, options are saved in the standard `Options' file. > As with the `Apply' button, `Save' is initially disabled, > becoming enabled when the user changes the options settings in one or more > tabs, makes current a calendar with unsaved changes, or loads a new options > file. While execution of `Save' performs `Apply', the > converse is not true. Therefore, the settings in the options dialog exist in > one of three states: 2083c998 < Section . --- > Section 2.8.2. 2088c1003 < 6.21. Hopefully Final Nukes for Options --- > 6.18. Hopefully Final Nukes for Options 2099c1014 < 6.22. Nice Simplification to User Records --- > 6.19. Nice Simplification to User Records 2134c1049 < 6.23. Overly Complicated Font Options Removed --- > 6.20. Overly Complicated Font Options Removed 2194c1109 < `Style' shown in Figure 347. --- > `Style' shown in Figure 320. 2198c1113 < menus and are shown in Figure 347. --- > menus and are shown in Figure 320. 2207c1122 <

    Figure 347: Font options menu.

    --- >

    Figure 320: Font options menu.

    2216c1131 < example, Figure 348 shows the user having entered values for the monthly-level --- > example, Figure 321 shows the user having entered values for the monthly-level 2226c1141 <

    Figure 348: Font option values selected for month-level --- >

    Figure 321: Font option values selected for month-level 2233c1148 < headers and labels, 10-point Times-Roman bold font is selected. Figure 349 --- > headers and labels, 10-point Times-Roman bold font is selected. Figure 322 2237c1152 < Figure 21. --- > Figure 22. 2247c1162 <

    Figure 349: Monthly view with user-selected fonts.

    --- >

    Figure 322: Monthly view with user-selected fonts.

    2253c1168 < Sketch of the remainder: --- > Sketch of the remainder: 2256c1171 < Describe that the `Restore Defaults' puts everything back to the --- > Describe that the `Restore Defaults' puts everything back to the 2258c1173 < was but not actually go back to it for all displays, she does `Restore --- > was but not actually go back to it for all displays, she does `Restore 2271c1186 < 6.24. Some Serious Rationale for Options --- > 6.21. Some Serious Rationale for Options 2308c1223 < 6.25. More Potential Rationale Fodder Cleansed from Rapidly Maturing Options --- > 6.22. More Potential Rationale Fodder Cleansed from Rapidly Maturing Options 2320c1235 < 4jan01 thot about 14dec00 thot: Hmm, with movement of prefs to options --- > 4jan01 thot about 14dec00 thot: Hmm, with movement of prefs to options 2322,2325c1237,1240 < prefs menu back, with `Edit Prefs' being tool prefs versus the top- < level `Options' menu being data prefs. I'm not sure the distinction < is worth making, so I guess we have to think about this some more. 24jul02 < update -- screw this. -- --- > prefs menu back, with `Edit Prefs' being tool prefs > versus the top-level `Options' menu being data prefs. I'm > not sure the distinction is worth making, so I guess we have to think about > this some more. 24jul02 update -- screw this. -- 2362c1277 < 6.26. Here's an Important Bit that Finally Got Handled --- > 6.23. Here's an Important Bit that Finally Got Handled 2381c1296 < 6.27. The Real Deal for Options --- > 6.24. The Real Deal for Options 2518c1433 < 6.28. Thinking about Options and Defaults --- > 6.25. Thinking about Options and Defaults 2562,2570c1477,1485 < [NOTE: The preceding two refs need to be fixed, and < we need to figure out exactly what scheduling options include, in particular if < they allow default values to be entered for each and every field. Perhaps the < easiest and most general solution is simply to have a `Set Defaults < ...' button in each schedule options subtab. This button brings up a < standard dialoag for each type of scheduled item, with "DEFAULTS" somewhere < prominently in the banner or title. I think this is pretty cool, actually, < because it will illustrate a nice general and orthogonal way to allow the user < to set defaults.] --- > [NOTE: The preceding two refs need to be fixed, and we need to > figure out exactly what scheduling options include, in particular if they allow > default values to be entered for each and every field. Perhaps the easiest and > most general solution is simply to have a `Set Defaults ...' > button in each schedule options subtab. This button brings up a standard > dialoag for each type of scheduled item, with "DEFAULTS" somewhere prominently > in the banner or title. I think this is pretty cool, actually, because it will > illustrate a nice general and orthogonal way to allow the user to set > defaults.] 2575c1490 < 6.29. ScheduledItem Inheritance Structure --- > 6.26. ScheduledItem Inheritance Structure 2598c1513 < 6.30. A Feature Removal (!) --- > 6.27. A Feature Removal (!) 2621c1536 < 6.31. More on Admin Decisions --- > 6.28. More on Admin Decisions 2677c1592 <

    Figure 350: New group leader confirmation.

    --- >

    Figure 323: New group leader confirmation.

    2686c1601 < 6.32. Fodder Nuked from Admin Section --- > 6.29. Fodder Nuked from Admin Section 2704c1619 < 6.33. Detailed Explanation of Recurring Date Change Restrictions --- > 6.30. Detailed Explanation of Recurring Date Change Restrictions 2723c1638 < 6.34. Rationale for Changing and Deleting Meetings --- > 6.31. Rationale for Changing and Deleting Meetings 2733c1648 < 6.34.1. From the end of the change and delete section --- > 6.31.1. From the end of the change and delete section 2774c1689 < 6.35. From the task scheduling section --- > 6.32. From the task scheduling section 2797c1712 < appears pretty clearly to belong here instead. --- > appears pretty clearly to belong here instead. 2812c1727 < won't be the default behavior) --- > won't be the default behavior) 2817c1732 < 6.36. Possible fodder for schedule meeting --- > 6.33. Possible fodder for schedule meeting 2821c1736 < Of note in Figure 91 is the "[2]" suffix in the `On' date --- > Of note in Figure 92 is the "[2]" suffix in the `On' date 2833c1748 < 6.37. Possible fodder for meeting change/delete section rationale --- > 6.34. Possible fodder for meeting change/delete section rationale 2873c1788 < happen until acceptance of change/delete notification. --- > happen until acceptance of change/delete notification. 2879,2881c1794,1796 < Deal with the issue of what happens when the user has changed one or more < data fields when the notification arrives. It probably needs to be some kind < of diff3 deal. --- > Deal with the issue of what happens when the user has changed one or more data > fields when the notification arrives. It probably needs to be some kind of > diff3 deal. 2927c1842 < Recurring, Location, Minutes
    --- > Recurring, Location, Minutes
    2965c1880 < form shown in Figure 351 appears. --- > form shown in Figure 324 appears. 2978c1893 < Figure 351: Changing or deleting a meeting as leader. --- > Figure 324: Changing or deleting a meeting as leader. 3015c1930 < 6.38. Possible fodder from appt changing section --- > 6.35. Possible fodder from appt changing section 3037c1952 < 6.39. (Weakly) Possible fodder from meeting item viewing --- > 6.36. (Weakly) Possible fodder from meeting item viewing 3046c1961 < Figure 137 --- > Figure 138 3056c1971 < then excutes `View Item'. For example, Figure 352 shows the user --- > then excutes `View Item'. For example, Figure 325 shows the user 3061c1976 < 6.40. Possible fodder from task item viewing --- > 6.37. Possible fodder from task item viewing 3072c1987 < 6.41. Possible fodder in the area of external file viewing --- > 6.38. Possible fodder in the area of external file viewing 3080,3081c1995,1996 < < Section 2.8.2 --- > > Section . 3094c2009 < viewing minutes, such as a web browser. Selection of such an external viewing --- > viewing minutes, such as a WWW browser. Selection of such an external viewing 3097c2012 < Section . --- > Section 2.7.5. 3106c2021 < 6.42. 2aug01 -- Nixing the notificaiton enabling stuff (then not) --- > 6.39. 2aug01 -- Nixing the notificaiton enabling stuff (then not) 3213c2128 < 6.43. 30jul01 --- > 6.40. 30jul01 3237c2152 < 6.44. Axed from Meeting Scheduling --- > 6.41. Axed from Meeting Scheduling 3289c2204 < 6.45. A Bit on Task Scheduling --- > 6.42. A Bit on Task Scheduling 3307c2222 < 6.46. Documentation Section Ordering --- > 6.43. Documentation Section Ordering 3336c2251 < 6.47. Relative Importance of Actual Tool versus Pedagogical Exmaple Goals --- > 6.44. Relative Importance of Actual Tool versus Pedagogical Exmaple Goals 3344c2259 < 6.48. Filter Dialog Layout --- > 6.45. Filter Dialog Layout 3371c2286 < 6.49. Refinement Example --- > 6.46. Refinement Example 3383c2298 < 6.50. Alternatives for Multi-Window Mode Behavior --- > 6.47. Alternatives for Multi-Window Mode Behavior 3422c2337 < 6.51. Precise Behavior of Next and Previous at the Item Level --- > 6.48. Precise Behavior of Next and Previous at the Item Level 3487c2402 < 6.52. Misc Ideas from Relatively Early On --- > 6.49. Misc Ideas from Relatively Early On 3543c2458 < 6.53. Start/End versus Start/Duration, Revisited --- > 6.50. Start/End versus Start/Duration, Revisited 3594c2509 < 6.54. Start/End versus Start/Duration (Older Ideas) --- > 6.51. Start/End versus Start/Duration (Older Ideas) 3614c2529 < 6.55. Big Issue about Factoring Options --- > 6.52. Big Issue about Factoring Options 3629c2544 < 6.56. Old Remarks from the List Viewing Section --- > 6.53. Old Remarks from the List Viewing Section 3648c2563 < 6.57. Filtering Issues --- > 6.54. Filtering Issues 3684c2599 < 6.58. Back and Forth with the Monthly Recurring Functionality --- > 6.55. Back and Forth with the Monthly Recurring Functionality 3719c2634 < 6.59. Maximum Date Range --- > 6.56. Maximum Date Range 3739c2654 < 6.60. Lists --- > 6.57. Lists 3752c2667 < 6.61. Canonical Modeling Form --- > 6.58. Canonical Modeling Form