DRAFT -- September 20, 1988 9:53:03 am PDT -- DRAFT Internal Memo XEROX To From Distribution Bob Hagmann PARC/CSL Subject Date Yggdrasil Documentation Structure September 20, 1988 Yggdrasil Glossary Filed as YggdrasilGlossary.tioga Overall system plan Filed as YggdrasilOverallSystemPlan.tioga Implementation plan Implementation staging Future options Implementation Phase 1 Plan Filed as YggdrasilPhase1Plan.tioga Development and Execution Environments Filed as YggdrasilEnvironments.tioga Language Hardware Operating System and Programming Environment Communications and protocols Hardware, OS, and Programming Environment Options Data Model Filed as YggdrasilDataModel.tioga [Is this covered enough in the Yggdrasi Data Model memo? Is all we need is an implementation scheme to implement what the memo calls for?] Objects Links Containers and children Naming Versions and Alternatives Attributes and Keywords Indices Primitive Types Surrogates Storage Filed as YggdrasilStorageDesign.tioga Introduction Requirements General description Object manager buffering policy Object representations Interoperation of optical disk subsystem with full system Magnetic disk page allocator and clustering Naming Garbage collection Versions and alternatives Index data structures Data compression Scavenger Replication Frontend backup DID map Document Update Filed as YggdrasilDocumentUpdate.tioga Introduction The big picture Concurrency Control and Crash Recovery Filed as YggdrasilCCandCR.tioga Requirements Transactions, services and clusters Locking Alerters Logging Checkpoint Fast restart Interrelationship with archive Snapshot backup Incremental backup Faking mirrored disks - parity disks Multi-server and foreign server support Access Control Access Control f Access control lists? How are they done for unnamed objects? f Is protection done on the objects or on the access paths (e. g., links)? Authentication f There has to be a secure environment in which the server operates. Thus, there must be security on the communications. System Features Performance hints caching buffering storage hierarchy Robust Availability and replication Queries Query language Query optimizer Administration Debugging Backup Historical logging Monitoring Issues (general) f Legal requirements for documents (write once in proper time order) f Standards (character set, naming, ...) f Private changes to public data (e.g., private annotation or link) Κ +•StyleDefη BeginStyle (Cedar) AttachStyle (DefaultNest) "for print" {DoNest} PrintRule (look.w) "annotation looks" { "Cream" family bold face } ScreenRule (look.w) "annotation looks" { AlternateFontFamily bold+italic face } PrintRule (firstHeadersAfterPage) {0} .cvx .def (root) "format for root nodes" { cedarRoot docStandard 36 pt topMargin 36 pt headerMargin 1.75 in leftMargin 1.5 in rightMargin 9.00 in lineLength 24 pt topIndent 24 pt topLeading 0 leftIndent 10 pt rightIndent } ScreenRule (root) "format for root nodes" { cedarRoot docStandard 36 pt topMargin 36 pt headerMargin 1.75 in leftMargin 1.5 in rightMargin 5.25 in lineLength 24 pt topIndent 24 pt topLeading 0 leftIndent 10 pt rightIndent } PrintRule (positionInternalMemoLogo) "Xerox logo: screen" { docStandard 1 pt leading 1 pt topLeading 1 pt bottomLeading } ScreenRule (positionInternalMemoLogo) "for Xerox logo" { docStandard 1 pt leading 1 pt topLeading -28 pt bottomLeading -1.5 in leftIndent } PrintRule (internalMemoLogo) "Xerox logo: screen" { "Logo" family 18 bp size 20 pt topLeading 20 pt bottomLeading } ScreenRule (internalMemoLogo) "for Xerox logo" { "Logo" family 18 pt size 12 pt leading -28 pt topLeading 36 pt bottomLeading -1.5 in leftIndent } PrintRule (memoHead) "for the To, From, Subject nodes at front of memos" { docStandard AlternateFontFamily 240 pt tabStops } StyleRule (raggedIndent) "ragged-right block" { block flushLeft lineFormatting flushLeft lastLineFormatting 1.5 em restIndent } StyleRule EndStyle• WordlistsYggdrasil.wordlist˜Iunleaded•Mark centerFooteršΠos3˜3Iblock– insideHeaderšΡbox ˜ Ipositioninternalmemologo˜Iinternalmemologošœ˜memoheadšΟsœŸ˜Ošœ Οtœ ˜Ošœ ˜ O˜O˜O˜O˜O˜—šŸœŸ˜ Ošœ4˜4O˜O˜—headšœ˜Pš ˜ —šœ˜Pš)˜)P˜P˜P˜—˜Pš"˜"—šœ&˜&Pš$˜$P˜P˜P˜,P˜P˜1—˜ Pš!˜!PšœΟiœY˜‹P˜P˜P˜P˜Pšœ˜Pšœ˜P˜P˜P˜ —˜Pš%˜%P˜ P˜ P˜P˜P˜P˜9P˜+P˜Pšœ˜P˜Pšœ˜Pšœ˜P˜ Pšœ ˜ P˜Pšœ˜—šœ˜Pš&˜&P˜ Pšœ˜—˜&Pš˜P˜ Pšœ#˜#P˜P˜P˜P˜ P˜ P˜P˜P˜P˜$—Pšœ'˜'šœ˜šœ˜L•CharSetsο?• CharPropsPostfix XCPrintFonts?šœ@˜@L–οJ–Postfix XCPrintFontsJšœK˜K—˜L–οy–Postfix XCPrintFontsyšœz˜z——˜šœ ˜ P˜P˜P˜ P˜—Pšœ˜Pšœ˜—šœ˜Pšœ˜Pšœ˜—šœ˜Pšœ ˜ Pšœ˜Pšœ˜Pšœ ˜ —šœ˜L–οD–Postfix XCPrintFontsDšœE˜EL–ο(–Postfix XCPrintFonts(šœ)˜)L–οD–Postfix XCPrintFontsDšœE˜E——…— ˜Ι