Closed Bug 115310 Opened 23 years ago Closed 10 years ago

Block and Line Layout need to be fully documented

Categories

(Developer Documentation Graveyard :: Mozilla Platform, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: attinasi, Unassigned)

Details

Attachments

(8 files)

Block and line layout is a difficult area that is not well documented. We need to document it to make it more penetrable and to better understand where its strengths and weaknesses are.
Status: NEW → ASSIGNED
This is an overview of the documentation strategy I plan to use for documenting the design of layout (block and line initially). This is a work In Progress - comments and criticisms are welcome.
Attached image Dummy Class Diagram..
for reference in the High Level design Template (WIP)
A template to be used for High Level Design documents (WIP)
P1 --> 098
Priority: -- → P1
Target Milestone: --- → mozilla0.9.8
For those interested, there is a complete spec of UML to find under: http://www.rational.com/uml/resources/documentation/index.jsp
Simple template for Layout Detailed Designs (WIP)
I'm working on sample designs for the Space Manager now. I will attach them as they are completed. They should have been in this week, but I got sick and progress was slowed as I reallocated my internal resources to fight the invading army of evil, terrorizing microbes. Stay tuned, I am hoping to do some of this over the Holiday, family willing.
Attached image SpaceManagerClasses.gif
What's DOME?
DOME is a free UML editor: http://www.htc.honeywell.com/dome/ How the diagrams are generated is not important, but I wanted to include the DOME source file in case it needs future edits.
Wow; looks great. Is a bug the best place to keep this stuff? Why not just check it all in on gila under html/newlayout/doc? (Or, if you want it in the source tree, under mozilla/layout/doc?)
I think the source tree is a good place. I'm putting up the Space Manger docs here, along with the templates, to get the format ironed out. Once all interested parties are happy with 'em, we should move them to the source tree, and /mozilla/layout/doc sounds like a good spot. CC'ing dbaron in hopes he can review the Space Manger HLD. Also, I'd like to get a short list of bite-sized topics we should start working on documenting. I am going finishing up the Detailed Design of the Space Manager first, but it is short. A couple candidates for the short-list: * Frame Constructor (probably several sub-topics rather than one biggie) * Block Frame (ugh, this is a big one too) * LineBox / line_iterator * State Recovery / Margin Collapsing * Debugging facilities
Also, once we move the docs to the source tree we need to update Mozilla.org with a doc that points to some LXR links or something, I think, or maybe even mirror them to Mozilla.org periodically.
Marc, I understand your preference for the source tree but, I would recommend to put them on gila, this would at least ease a little bit the pain (shame) of having only old and outdated layout documentation there.
We shouldn't get too hung up on where these docs go: it's trivial to point from a page on gila to an LXR page that is the HTML doc. Marc, the block code might not be too awful if we break it out into the component objects: nsBlockReflowState nsBlockReflowContext nsLineLayout PerSpanData PerFrameData nsLineBox nsLineList nsLineList_iterator nsFloaterCache nsFloaterCacheList nsFloaterCacheFreeList To get coverage, we'll probably need to also do these: nsInlineFrame nsHTMLReflowState and to a lesser degree: nsAbsoluteContainingBlock nsContainerFrame nsFrame nsHTMLContainerFrame nsHTMLReflowCommand nsTextFrame
I volunteer for the debugging facilities.
I have moved the templates and space manager docs to the /mozilla/layout/doc directory. The docs that previously lived there are woefully out of date and have been moved to /mozilla/layout/doc/obsolete If you start working on a doc, first check the index file in /mozilla/layout/doc to see if somebody is already working on that, or has already done it. Put a link to the doc in the 'Works In Progress' section to signal to others that you are working on it too. As new documents are added to the tree, update the index file in /mozilla/layout/doc to point to the new doc. We'll need to get the Mozilla site to link to these docs - I'll look into the gila systems 'cause I don't know anything about it.
Bulk push to next milestone
Target Milestone: mozilla0.9.8 → mozilla0.9.9
Removing milestone as this is a recurring task
Target Milestone: mozilla0.9.9 → ---
Target Milestone: --- → Future
Marc, would you obsolete the files you've already checked in / uploaded? Thanks.
Marc?.... Maaaaarc!... Duuude, where are ya!... error line 1: dude not found!
hwaara: you want the files removed from CVS? marc does not work for netscape anymore (he cannot read the mail since this was an employee account) so i think i will take over this bug . taking
Assignee: attinasi_layout → alexsavulov
Status: ASSIGNED → NEW
No, no, why would I want that! I meant obsolete the attachments in bugzilla, as I didn't know if any of these documents were still pending review or whatever.
ah, ok. i wasn't sure. well, the problem is that this was meant to be a collection bug for all kind of doc pieces as we thougth to go along and write them. unfrotunately nobody found enough time to do this so the whole thig got stuck. there is now a new documentation effort started by jkeiser and me. jkeiser is working now with alex vincent on a larger issue, though jkeiser will limit his activity to gecko and alex vincent tries to do the organizational work in order to get a unified collection of documents covering not only the developer documentation but also the embedder doc, web-author doc and so on. check n.p.m.documentation for more information.
-> documentation
Component: Layout → Mozilla Developer
Product: Browser → Documentation
Version: Trunk → unspecified
->block&line
Assignee: alexsavulov → block-and-inline
Assignee: layout.block-and-inline → nobody
Component: Mozilla Developer → Documentation Requests
Product: Documentation → Mozilla Developer Center
QA Contact: chrispetersen → doc-request
Target Milestone: Future → ---
Pretty sure dbaron meant what he said when he assigned the bug in comment 29, so I'm putting it back there. (It can stay in this product/component, I suppose, though I find the "severity: critical" labeling to be somewhat lol-worthy in the context of MDC.)
Assignee: nobody → layout.block-and-inline
Component: Documentation Requests → Documentation
Automatically closing all bugs that have not been updated in a while. Please reopen if this is still important to you and has not yet been corrected.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
Reopening for review by Sheppy.
Assignee: layout.block-and-inline → eshepherd
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Component: Documentation → General
Product: Mozilla Developer Network → Developer Documentation
Whiteboard: u=mozdev p=0
Whiteboard: u=mozdev p=0 → u=mozdev p=0 c=Platform
Component: General → Mozilla Platform
The material here is from 2001. Please reopen if you think this is still relevant or open a new bug that contains a new request/plan for what to document here.
Assignee: eshepherd → nobody
Severity: critical → normal
Status: REOPENED → RESOLVED
Closed: 12 years ago10 years ago
Priority: P1 → --
Resolution: --- → INVALID
Whiteboard: u=mozdev p=0 c=Platform
Assignee: nobody → nobody
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: