Writer/ToDo/Layout

From Apache OpenOffice Wiki
< Writer‎ | ToDo
Jump to: navigation, search

Writer Icon.png

Writer Project

Please view the guidelines
before contributing.

Popular Subcategories:

Internal Documentation:

API Documentation:

Ongoing Efforts:

Sw.OpenOffice.org

Intro

Terminology

Layout:

  • refers to the orientation and positioning of the textual and non-textual content on an output device
  • identical to the user's-referred View!
    • What the users refer to "View" in Writer is correctly designated by developers as the Layout.

Available Layouts

The following layouts are currently implemented in Writer:

  • Print Layout
  • Online Layout (Web Layout) and
  • Print Preview Layout

The latter isn't editable and is therefore left out of this discussion.

The Print Layout implements WYSIWYG and tries to come as close as possible to the printed document. However, this layout is not particularly suited for numerous use cases. In many circumstances, more specific layouts fare definitely better. These will be discussed in the following sections.

Motivation

Writing a new document involves some specific steps. Particular Layouts should target these steps and improve the specific tasks for that step. To better understand this issue, we need to examine briefly the pathway leading to the creation of a new document.

Document Creation Path

Various specific Layouts are better suited for particular tasks. In common practice, creating a new document involves the following steps:

  • plan the document / write a first draft
    • needed: mind-mapping features
    • organise/reorganise ideas
    • easy move text-blocks/paragraphs
  • extend draft, write the content
    • only some basic style formatting
    • ease typing text
    • powerful auto-replace: allow extensive abbreviation handling
    • powerful spelling corrections
  • verify content and make corrections
    • even more powerful spelling corrections
    • advanced notes functionality: external/internal review
    • external review functionality
    • more advanced style formatting
  • advanced formatting
    • most formatting done in this step
    • document structure
      • pagination, TOC, ...
  • verify targeted output:
    • e.g. Print Preview Layout
    • or some other specific Layout (e.g. for web publishing) depending on the targeted output
    • only limited editing
    • only limited formatting

Every step involves some specific actions. There are indeed specific demands for the various steps. Layouts should therefore target individually and specifically these steps. They should ease the work for a single step, while obviously, they will be less suited for the remaining steps.

Layouts

  • the layouts should be targeted at each of the individual document creation steps


Draft Layout

(comparable to Word's Normal View):

See:

  • early phase of writing: mind-mapping capabilities
  • later phase: actual writing
    • focus on content, NO formatting
      • layout shall NOT distract from content
      • avoid eating up space by margins and page breaks; text editor editing style
      • sophisticated formatting is not part of document (content) creation
      • page breaks should still be visible, but in a less disturbing way
      • page and column layout are artificial and have no content related meaning
      • columns are good for reading on paper, but a pain for reading on screen
    • avoid horizontal scrolling even with big fonts on small screens or windows
    • headers and footers don't need to be visible while editing and proof reading
    • footnotes can be edited and displayed in a separate window area to avoid hopping between footer and body text
    • easy and fast text scrolling for better proof reading

"Online" Layout

  • documents that are specifically written for presentation and not for printing
  • disadvantage: suboptimal for editing (long lines)
  • acts as a final preview

Some new layouts are requested with the following motivations:

"Outline" Layout

  • see issue 3959
  • brainstorming the structure of a document to create initial hierarchy
  • easy tool for developing and changing document structure
  • prioritize, arrange and rearrange ideas hierarchical; add details later
  • focus on content, no layout should distract from content
  • chose level of details visible in any part of the document

Multi-Page Layout

see issue 1598 and the Multi Page Layout wiki page

  • more than one page should be stacked horizontally (for H-locales)
  • especially useful on large screens and multi-monitor setups
  • subtypes:
    • 2 pages per row
    • n-pages per row
    • variable number of pages on the row (as many as will fit)
    • all pages displayed on a single row

Publishing Layout

The last step in professional publishing involves advanced layout formatting. This layout should ease working with the document as a whole, as well as with more complex structures like whole paragraphs, sections, columns, frames, and other advanced writer objects. It is NOT intended as an editing mode, BUT rather as a purely layout-formatting mode.

  • advanced formatting should be visible
  • paragraphs and various objects should be highlighted as a whole
  • specific tools / toolbars displayed
  • various complex operations:
    • compress line
    • compress paragraph to x-lines / by x-lines / fit on page
    • compress by x-pages
    • keep various words / lines / titles / objects together
    • complex multi-column operations
  • document structure
    • TOC creation
    • index
    • bibliography

!!! TO BE EXTENDED !!!

Discussion

There are some common motivations but also some differences. It seems that they also have some technical similarities. This is discussed here.

There is a particular problem in Writer that needs to be solved before it makes sense to implement more views. A Writer documents always has one layout. If the user switches from "Print Layout" to "Online Layout" the old layout is thrown away and the new layout for the complete document is calculated. On switching back the same happens again. This can become quite annoying when new layouts are used that let switching between layouts happen more often. Perhaps it might also be attractive to have two different layouts visible at a time in two different windows, e.g. Outline Layout and Print Layout.

The Draft Layout also needs information about the position of the page breaks in the document. So at least this has to be saved from the Print Layout but from the above it seems to be a better idea to preserve the Print Layout completely and retrieve the page breaks from it.

So we first must change the code in a way that it can handle more than one Layout at a time. This will make the implementation of new layouts better and their usage more attractive. Work on this has been done up to the point where certain elements made problems that couldn't be solved with the current layout implementation. The problems we found are related to grouped objects and form controls that can't be used in several layouts if they are in the same drawing layer. So another preliminary step is necessary, that is part of the Drawing Layer refactoring.

Personal tools