Difference between revisions of "Writer/ToDo/Layout"

From Apache OpenOffice Wiki
< Writer‎ | ToDo
Jump to: navigation, search
(NEW: Publishing Layout + some Rewriting)
m (Draft Layout: Added link to issue 126098)
 
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
{{Writer Project|Category=Writer/Effort/Stalled}}
 +
__TOC__
 
= Intro =
 
= Intro =
 
 
== Terminology ==
 
== Terminology ==
  
Line 12: Line 13:
 
The following layouts are currently implemented in Writer:
 
The following layouts are currently implemented in Writer:
 
* '''Print Layout'''
 
* '''Print Layout'''
* '''Online Layout''' and
+
* '''Online Layout''' (Web Layout) and
 
* '''Print Preview Layout'''
 
* '''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 optimized for every use case. Different layouts might be better in such circumstances.
+
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 =
 
= 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:
 +
* [http://www.openoffice.org/issues/show_bug.cgi?id=4914  Issue 4914 - Normal View]
 +
* [http://www.openoffice.org/issues/show_bug.cgi?id=3959  Issue 3959 - Outline View]
 +
* [http://www.openoffice.org/issues/show_bug.cgi?id=89311 Issue 89311 - Scene/Ideas View]
 +
* [https://issues.apache.org/ooo/show_bug.cgi?id=126098 Issue 126098 - Content mode]
 +
 +
* 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 ==
 
== "Online" Layout ==
Line 30: Line 91:
 
== "Outline" Layout ==
 
== "Outline" Layout ==
  
 +
* see [http://www.openoffice.org/issues/show_bug.cgi?id=3959 issue 3959]
 
* '''brainstorming''' the structure of a document to create initial hierarchy
 
* '''brainstorming''' the structure of a document to create initial hierarchy
 
* easy tool for developing and changing document structure
 
* easy tool for developing and changing document structure
Line 36: Line 98:
 
* chose level of details visible in any part of the document
 
* chose level of details visible in any part of the document
  
== "Draft" Layout ==
+
== Multi-Page Layout ==
(comparable to Word's "Normal View"):
+
  
* avoid eating up space by margins and page breaks; “text editor” editing style
+
see [http://www.openoffice.org/issues/show_bug.cgi?id=1598 '''issue 1598'''] and [http://wiki.services.openoffice.org/wiki/Writer/ToDo/Layout/Multi_Page_Layout the '''Multi Page Layout''' wiki page]
* focus on content, no layout should distract from content
+
 
* page breaks should still be visible, but in a less disturbing way
+
* more than one page should be stacked horizontally (for H-locales)
* sophisticated formatting is not seen as part of document (content) creation
+
* especially useful on large screens and multi-monitor setups
* page and column layout are artificial and have no content related meaning
+
* subtypes:
* columns are good for reading on paper, but a pain for reading on screen
+
** 2 pages per row
* headers and footers don't need to be visible while editing and proof reading
+
** n-pages per row
* easy and fast text scrolling for better proof reading
+
** variable number of pages on the row (as many as will fit)
* no horizontal scrolling necessary even with big fonts on small screens or windows
+
** all pages displayed on a single row
  
 
== Publishing Layout ==
 
== Publishing Layout ==
Line 54: Line 115:
 
* advanced formatting should be visible
 
* advanced formatting should be visible
 
* paragraphs and various objects should be highlighted as a whole
 
* paragraphs and various objects should be highlighted as a whole
 +
* specific tools / toolbars displayed
 
* various complex operations:
 
* various complex operations:
 
** compress line
 
** compress line
Line 60: Line 122:
 
** keep various ''words / lines / titles / objects'' together
 
** keep various ''words / lines / titles / objects'' together
 
** complex multi-column operations
 
** complex multi-column operations
 +
* document structure
 +
** TOC creation
 +
** index
 +
** bibliography
  
 
'''!!! TO BE EXTENDED !!!'''
 
'''!!! TO BE EXTENDED !!!'''
  
 
+
= Discussion =
== Discussion ==
+
  
  
Line 73: Line 138:
 
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.
 
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 should investigate first if we can 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.
+
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 [[Refactoring_of_Writer's_usage_of_the_Drawing_layer|Drawing Layer refactoring]].
 +
 
 +
 
 +
[[Category:To-Do]]

Latest revision as of 16:25, 12 February 2015

Writer Icon.png

Writer Project

Please view the guidelines
before contributing.

Popular Subcategories:

Extension:DynamicPageList (DPL), version 2.3.0 : Warning: No results.

Internal Documentation:

Extension:DynamicPageList (DPL), version 2.3.0 : Warning: No results.

API Documentation:

Ongoing Efforts:

Extension:DynamicPageList (DPL), version 2.3.0 : Warning: No results.

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