YourName.profile
Copyright Ó 1984, 1985, 1987 by Xerox Corporation. All rights reserved.
Last Edited by Mike Spreitzer on March 12, 1987 12:42:07 pm PST
This is a typical user profile for an experienced Cedar user. For documentation of all available options, start with UserProfileDoc.tioga, but don't stop there — most CedarChest packages' user profile options are described only in the CedarChest package documentation. The difficulty of finding it all is one of the motivations for this example. This example file may meet the requirements of the policies laid out in HowToUseAPublicCedarMachine.tioga.
Unfortunately, the most convenient way for a full Cedar user to set up her profile involves actually putting profile-like stuff in other files; specifically, some DF files and some command files. These other files are reachable from references in the user profile, and the standard examples can be found in the same directory as this file.
Wherever there are placeholder brackets in here (e.g., YourName), they need to be replaced by something sensible. Here are the replacements the author would use:
YourName => Spreitzer
YourRName => Spreitzer.pa
Your Name => Mike Spreitzer
YourAplineServer => Ebbetts.Alpine
YourPrivateMachineName => McCormick
VersionMap options
VersionMap.SourceMaps: /Cedar/Cedar6.1/VersionMap/CedarSource.VersionMap /Cedar/CedarChest6.1/VersionMap/CedarChestSource.VersionMap
VersionMap.SymbolsMaps: /Cedar/Cedar6.1/VersionMap/CedarSymbols.VersionMap /Cedar/CedarChest6.1/VersionMap/CedarChestSymbols.VersionMap
CommandTool options
CommandTool.BootCommands: "
... is executed in the very first CommandTool instance that is created after a full boot. The intention is to setup the machine to be ready to take a checkpoint.
Echo start of CommandTool.BootCommands
cd ///Commands/
Set up the Watch tool tastefully.
IF (&watch ← ViewerOps.FindViewer[\"Watch\"]) # NIL THEN Watch.ForceSample[parent: NIL, mouseButton: yellow] ELSE NIL
IF &watch # NIL THEN ViewerOps.OpenIcon[icon: &watch, bottom: FALSE] ELSE NIL
Run a useful tool that is not cooperative enough to have a load file.
Run BootTool
BootTool.BCD, among other things, is exported by [Cedar]<CedarChest6.1>Top>Environment.DF. This DF file exports lots of standard stuff that you want in your ///Commands/ directory. You should do a BringOver of it now and then.
cd
Clock
SummonerCSLNiceGuy
Sets some standard PseudoServers that often get overlooked but are important for compute servers to have.
PseudoServerPrint
So you know they are good.
CommandToolProcedures
This implements the &cmd function, which is used in the next command.
IF SystemVersion.machineType = dorado THEN &cmd[\"SummonerServerOn\"] ELSE NIL
Makes this machine a compute server if it's a Dorado.
STPServer start
This makes the machine a file server. The access control files (see STPServerDoc.Tioga) should be reasonable. A good STPServer.readAccess is "CSL^.pa, CedarUsers^.pa, EDL^.pa". Note that StandardUser has her STPServer.readAccess living in StandardUserRoot.DF.
IF Rope.Equal[ThisMachine.Name[], \"YourPrivateMachineName\", FALSE] THEN &cmd[\"@[User]<YourName>6.1>System>PrivateBoot.cm\"] ELSE NIL
When making public checkpoints, you want them to be relatively lean; when making a checkpoint for your own private machine, you may want a fatter or more peculiar checkpoint. This command tests whether you're booting your own machine, and if so, executes a command file that customizes it as you like.
Echo end of CommandTool.BootCommands
"
CommandTool.NewUser: "
... is executed in exactly one existing CommandTool instance whenever a new user logs in, either while booting from a checkpoint, or when coming out of idle. The intention is to use this entry to acquire files peculiar to the user.
Since you probably want to execute these same commands when making a checkpoint for your private machine, instead of duplicating them, you put them in a command file (LoginWork.cm) and invoke it from two places.
Echo start of CommandTool.NewUser
@[User]<YourName>6.1>System>LoginWork.cm
DoRollbackStuff
This is the hook for the RollbackAnd command facility, which lets you issue a rollback command with instructions for what to do as soon as the rollback completes; see the RollbackAndAnything package on CedarChest.
Echo end of CommandTool.NewUser
"
CommandTool.PerLogin: "
... is executed in every existing CommandTool instance whenever there is a new user at (1) credentials change, (2) rollback, or (3) return from idle. The intention is to use this entry to customize the command tool instance.
Again, since you probably want to execute these same commands in setting up a private checkpoint, we keep the commands in a command file (SetupCommandTool.cm).
Echo start of CommandTool.PerLogin
@[User]<YourName>6.1>System>SetupCommandTool.cm
Echo end of CommandTool.PerLogin
"
CommandTool.PerCommandTool: "
... is executed for every new CommandTool instance (except for the first one, created at full boot). In our case, as in most, the same customization as NotePerLogin is desired.
NotePerLogin
"
Debugger.CommandTool.BootCommands: "
... is executed when booting the debugger volume. Since nobody uses a debugger volume any more, this entry is probably not very good or important.
cd ///Commands/
Bringover [Cedar]<CedarChest6.1>Top>DebuggerEnvironment.DF
Clock
Run BootTool
"
AutoBackup
AutoBackUp.Files: -d [User]<YourName>Top>YourNameHome.DF [User]<YourName>6.1>YourNameRoot.DF [User]<YourName>6.1>YourNameHomeV.DF
The smart user uses AutoBackup and DF files to keep track of the pile of ancilliary files that a Cedar user wants. See the examples for StandardUser.
Compiler/Binder
Compiler.IconicLogs: FALSE
Compiler.BlinkLogs: FALSE
Compiler.SeparateLogs: TRUE
Compiler.ViewSeparateLogs: TRUE
These settings for SeparateLogs and ViewSeparateLogs are the most sensible ones for use with MakeDo.
Compiler.VerboseComputeServer: TRUE
DFTool
DFTool.DFNamePrefixes: [Cedar]<Cedar6.1>Top> [Cedar]<CedarChest6.1>Top> [User]<YourName>
DFTool.CompactLayout: TRUE
EditorComforts options
EditorComforts.LastEdited: "Your Name"
ExecHacks options
ExecHacks.DoitButtonName: Track Save
ExecHacks.Track.DF: MakeDo -rgom <base>
ExecHacks.Track.Profile: ← UserProfile.ProfileChanged[edit]
ExecHacks.Track.MachineProfile: ← UserProfile.ProfileChanged[edit]
Finch
Finch.InitialDirectoriesLeft: TRUE
Finch.TelephoneDirectory: "
[]<>Users>YourRName>YourName.TDir
"
Icon Registry
RegisteredIcons: "
Remember.defaultIcon: ///Commands/Remember.icons 11 -- a calendar
Phone: ///Commands/Remember.Icons 0 -- pushbutton handset
Conversation: ///Commands/Remember.Icons 1 -- two people talking over a desk
Meeting: ///Commands/Remember.Icons 3 -- one person talking to a group of several
Envelope: ///Commands/Remember.Icons 4 -- an envelope
SoftBall: ///Commands/Remember.icons 6
Lunch: ///Commands/Remember.icons 7
Cookies: ///Commands/Remember.icons 13
Mesa: ///Commands/ExecHacks.icons 0
DirtyMesa: ///Commands/ExecHacks.icons 1
Tioga: ///Commands/ExecHacks.icons 2
DirtyTioga: ///Commands/ExecHacks.icons 3
Df: ///Commands/ExecHacks.icons 4
DirtyDf: ///Commands/ExecHacks.icons 5
Config: ///Commands/ExecHacks.icons 6
DirtyConfig: ///Commands/ExecHacks.icons 7
Errlog: ///Commands/ExecHacks.icons 8
DirtyErrlog: ///Commands/ExecHacks.icons 9
"
Miscellaneous options
Tioga.SourceFileExtensions: mesa tioga df cm config style load install jam
Tioga.StyleSearchRules: []<>Users>YourRName> []<>Commands> []<>
This differs from the default by prepending your home directory. This is so your private version of Cedar.abbreviations, which lives in your home directory, is used instead of the standard one.
Clock.showDateIconic: TRUE
Viewers.SuppressIconPrefix: "[]<>Users>YourRName"
SpellingTool.Wordlists: []<>Users>YourRName>MoreEnglish.Wordlist []<>Users>YourRName>CS.Wordlist (local)
Tells the spelling tool that, in addition to its standard, sometimes deficient, wordlist, documents, unless they specify otherwise, may also include words listed in one of two files or in a special list kept as part of the document.
Interminal.VBWEscape: 10  -- escape velocity from BW display
Interminal.VColorEscape: 10  -- escape velocity from color display
Peanut options
Peanut.WorkingDirectory: ///Users/YourRName/
The working directory where your mail files live. You probably always want to specify this entry.
Peanut.CarbonCopyToSelf: TRUE
If TRUE, fills in "cc:" field with your own name.
Peanut.KillViewersOnSaveAll: FALSE
If TRUE, SaveAll destroys viewers after they are saved.
Peanut.AutomaticNewMail: FALSE
Will cause peanut to fetch new mail willy-nilly.
Peanut.ActiveMailFile: Active
The name of the mail file for incoming mail.
Remember
Remember.EventFile: ///Users/YourRName/YourName.RememberEvents
Remember.KeyWords: "
Meeting: Leadtime: 15, IconFlavor: Meeting, IconLabelType: Prev
Attend: Leadtime: 15, IconFlavor: Meeting, IconLabelType: Next
Forum: Leadtime: 15, IconFlavor: Meeting, IconLabel: Forum, Time: \"Thursday, 3:45pm\"
Dealer: Leadtime: 15, IconFlavor: Meeting, IconLabel: Dealer, Time: \"Wednesday, 1:15pm\"
Call:  Leadtime: 0, IconFlavor: Phone, IconLabelType: Next
Phone: Leadtime: 0, IconFlavor: Phone, IconLabelType: Next
See:   IconFlavor: Conversation, IconLabelType: next
Write:   IconFlavor: Envelope, IconLabelType: next
BASS:   IconFlavor: Meeting, LeadTime: 1440
"
Summoner
Summoner.CachePrefixesOKToRead: [Cedar] [DATools]
Summoner.OKToUseLocalDisk: TRUE
TSetter options
Hardcopy.PrintedBy: "Your Name"
Hardcopy.TemporaryPressFiles: TRUE
Walnut
Walnut.WalnutRootFile: "[YourAlpineServer]<YourRName>Walnut.Root"
Walnut.InitialActiveOpen: TRUE
Walnut.AutoNewMail: TRUE
Walnut.DisplayMsgSetInIcon: TRUE
Walnut.PlainTextStyle: Ascii
WalnutSend.MsgForms: [Cedar]<CedarChest6.1>Forms>CedarMsg.form [Cedar]<CedarChest6.1>Forms>CedarChestMsg.form [Indigo]<Archivist>Forms>ArchiveRequest.form [Indigo]<Archivist>Forms>RetrieveRequest.form