Outline view

From The Document Foundation Wiki
Jump to: navigation, search

Microsoft Word's Outline View lets the writer interact with the structure of the document to continuously reorganize it as his ideas take shape. This functionality is distinct from what the Navigator provides.

tdf#38093 has been filed for this functionality. i#3959 provides useful historical context and user sentiment.

User requirements

Here is a strawman for what is needed (N) means you can do this in Navigator, (W) that you can do it in Word:

  1. Display text to any level (W fully; N partially, only for headings)
  2. Fold (hide) text under a heading (W)
  3. Allow editing in the outline (W)
  4. Move, promote and demote text (W fully; N partially, as it does not allow promoting non-headings to headings or demoting headings to non-headings)
  5. (Good practice, but not essential) Enforce strict parent-child relationship
  6. (Useful, but not essential) Focus on a single "section", including children, hiding, or at least fading, all others

Notice neither Word nor LibreOffice has all these features.

The thing that makes Word's outline editor uniquely powerful is that it does not force you to switch windows (or panes within a window, but it's really the same thing). Someone once said switching windows while working on a computer is like having to go to a different room in a building to do a specific task. Now, for some tasks this is necessary, but for doing your everyday job it should not be. Imagine if you had to be in a different room to write documents from the one you are in to read them. This is why editing in the outline is so valuable. You might be rearranging a document in Word's outline view when you notice a spelling mistake, you can fix it straight away. In Navigator, you wouldn't even see it. This is also why suggestions to use a separate outliner miss the point. You use outlining not just to create the initial structure, but also to work with it afterwards. Suggestions to go back and forth between an outliner and word processor are non-starters for the same reasons.

Word also has other features that are useful, but far from essential, such as optionally displaying a single line of text under a heading.

Development history

Mathias Bauer explained in 2007 that, on top of being a substantial and entirely new layout, Outline View depended on being able to display simultaneously multiple layouts for a single document - which implied significant refactoring of the existing functionality. In 2008 he underlined that lack of progress was not caused by undervaluing this feature but because its cost made it a lower priority. Support for multiple layouts was added to Openoffice in Q3-Q4 2010.

In January 2014, Mathias Bauer provided some details about the multiple layout work that has been performed, in part to make outline view possible:

we layed the ground for multiple layouts, but didn't actually use that capability because (AFAIR) some parts needed some extra work.
All code that had hit the trunk of Ooo is part of Apache OO. As the LO people usually copied most of the OOo/AOO stuff, I assume all of this is in their repo also.
The basic idea of the refactoring was to revert dependencies: instead of having the document know the one and only existing layout object and manage it from there, there should be just a collection of layouts that all know the document and actively retrieve information from there.
AFAIR the remaining work was associated with dividing drawing objects into a model and a view part, so that every layout can have its own drawing object view (based on the same drawing object that is part of the core). Armin LeGrand and Oliver Wittmann have been involved in the discussions, and both of them are still working on AOO.

Once user requirements have condensated into something fit for developer consumption, users shall try to get in touch with interested parties.