Notes2 Specification
Improved notes
Specification Status | |
Author | Mathias Bauer |
Last Change | |
Status | Standard Help |
Abstract
References
Reference Document | Check | Location (URL) |
Specification Process Entry Check | [passed/failed] | n/a |
Product Requirement, RFE, Issue ID (required) | [available] | http://www.openoffice.org/issues/show_bug.cgi?id=6193 |
Product Concept Document | [not available] | |
Test case specification (required) | [available/not available] | <PLEASE ENTER LOCATION HERE> |
IDL Specification | [available/not available] | |
Software Specification Rules | n/a | n/a |
Other, e.g. references to related specs | http://wiki.services.openoffice.org/wiki/Notes2 |
Contacts
Role | Name | E-Mail Address |
Developer | Max Odendahl | <mod@openoffice.org> |
Quality Assurance | Éric Savary | <es@openoffice.org> |
Documentation | Uwe Fischer | <ufi@openoffice.org> |
User Experience | Christoph Noack | <christophnoack@openoffice.org> |
Acronyms and Abbreviations
Acronym / Abbreviation | Definition |
<WYSIWYG> | <What You See Is What You Get> |
Detailed Specification
General Aspects
Notes can be attached to any text in the document except text in drawing objects. For each note a reference point is added to the text that is stored as a character, very much the same like text fields. No content is displayed at that text position, notes will be shown as small windows in a side pane of the text. A graphical element will serve as an anchor that points to the text position of the note and a connector will connect the anchor with the corresponding text of the note.
Visibility of notes
In general notes will be visible in the print layout or web layout view of a text document but not in the print preview. The visibility can be switch on and off using the "View-Notes" menu entry or in "Tools - Options - Writer - View - Display", default is "On".
The Notes side pane
The Notes side pane is an area that is added to the right side of each displayed document page. It's height is the same as the page height and the witdh of it is 2700 Twips. It is considered to be an integral part of the document view. Thus it adds to the width to the document view so that the special zoom modes "Optimal", "Page width" or "Entire page" will need to consider it. As Writer centers its view it will center the combined width of document content and notes. In the Web Layout the side pane is always visible and so the space usable for text is reduced by the side pane width. Further defitions:
|
The note window
The window of a note displays the text of the note and its meta data. The meta data consists of the name of its author (taken from the user data in Tools - Options - User Data) and the date of creation. The configured locale setting (Tools - Options - Language Settings - Languages - Locale Settings) will be used to select the date format.
The background of the note window in view mode shows a color gradient defined by a lighter starting color and a darker end color. In editing mode the background is a bulk color (the darker color of the two gradient colors). A third color is used for the text of the meta data. The same color is used for the "anchor" of the note at the text position that it refers and the connecting line between the anchor and the note window (see below). All three colors make up a color triple that belongs together and is part of a set of 9 triples, each of them representing one author.
It is not possible to configure the color of individual notes, colors represent authors, not notes. The colors have been designed very carefully regarding the following criteria:
So consequently the colors can't be changed by users. |
The note window also contains a button in the lower right corner. If the button is clicked, a menu pops up that presents some notes related functions. The same functions are available from the context menu that the user gets by right mouse click on the text area of the note window. It also contains some functions for text editing. All these functions are disabled when the document is not editable.
Menu when using the button inside the note window (the exemplary name "Christoph Noack" is replaced by the name of the corresponding author): | Contextmenu for the note window (the exemplary name "Christoph Noack" is replaced by the name of the corresponding author): |
Notes connector and anchor
At the text position where a note has been inserted a graphical element representing the note anchor is displayed. It is a triangle whose upper angle points to the anchor position. The anchor and the corresponding note window are connected with a line. The color of the line and the anchor are the "accent color" of the color triples shown above. If the note window has the focus or the mouse is hovered over the note window, the line is solid, otherwise dotted, the line width is 15 Twips (1px at 100% zoom factor).
Arrangement of notes on the notes side pane
A note window places its text content at nearly the same vertical position as the text position of the anchor. The window by default has a size as explained above. If the notes side pane contains more than one note window is is possible that the necessary space to display all notes with the desired position and size is not available. Then sizes and positions of notes will be adjusted in a way that the used space is as evenly distributed amongst them as possible. This happens in the following way:
- if the total height of the notes side pane is big enough to show all notes with their desired height, only positions of note windows are changed by shifting them upwards and downwards until none of them overlap any more
- if all space in the notes side pane is occupied, all note windows are shrinked to the absolute minimum that allows to show all text in them (empty notes will be shrinked to one line of text)
- if there is still not enough space, all windows will be shrinked to two lines of text. Windows containing more text will get scroll bars.
- if there is still not enough space,, some note windows will not be displayed and scroll buttons will be shown at the top and bottom of the notes side pane of the page. The scroll buttons allow to shift the position of all notes up and down, thus showing the prior invisible ones and moving out others instead (refer to Scroll Buttons).
Rearrangements of note windows can happen when notes are inserted or deleted, when the position of a notes anchor relative to its page changes or after a user has edited a note and its height has changed. No rearrangement happens if the view of the document changes (scrolling, zooming, resizing of the document window in print layout). Changing the page size (changing page layout or even entering text in web layout) also can cause the rearrangement of notes.
Creating or editing notes
If a Note is created, a notes anchor is inserted at the current cursor position. A new note window is shown in the notes side pane. This window will show the current date and the name of the current user (taken from the user data in the configuration) and it will reserve space for two lines of text in the default font size (10Pt). A connector between anchor and note will be shown with a solid line as the note window will automatically get the focus. If necessary, the view is moved so that the note is visible.
If the user leaves the note without entering text by pressing "ESC" the note is removed. Selecting "Undo" will bring the empty note back. A freshly created empty note is not removed if the user leaves it by clicking somewhere else.
Users can enter text into the note window and they can assign attributes to the text. While a note window has the focus, the formatting tool bar for text remains active. All character and paragraph attributes that can be applied to text in drawing objects (shapes) can also be applied to the text in notes. Hyperlinks are supported also. Spell Checking and auto correction are available.
If more text is entered than fits into the window the window will be expanded until its lower border reaches the next note window. If more text is entered, scroll bars are shown. While a note is edited no further rearrangements of notes in the notes side pane will happen but after leaving the note window all notes belonging to the same page may be reordered and resized as described above.
Undo gets a special treatment. While a user is editing a note an undo step usually comprises entering a complete word, changing an attribute etc. Once the note window loses the focus all changes made in the editing "session" are summarized into a single undo step that can be carried out to bring the document back to the point before the last editing session of the notes was started. While editing the note the complete past Undo hierarchy of the document is accessible.
CTRL - ALT - N (cursor inside the document) create a new note at current position
CTRL - ALT - N (cursor inside the note) jump out of the note
CTRL - ALT - Page Up/Down (cursor inside the document) go to to previous/next Note Anchor
CTRL - ALT - Page Up/Down (cursor inside a note) go to to previous/next Note Window
ESC (cursor inside a note) jump back into the document, cursor is placed after the notes anchor position to continue writing easily. If the note is empty, it is deleted.
Names for Access/Configuration via UNO
According to the request in issue 87951, the functions of the Note Windows have to be named properly for the availability in the menu "Tools -> Customize -> Keyboard -> Function" (which in fact are uno functions). The functions of Note Windows refer to both the drop-down menu in the Window and the context menu for the Note User Data (text).
uno API Identifier | User Interface Label for UNO | User Interface Item in Note Window (for reference only) | Comment |
---|---|---|---|
.uno:DeleteNote | Delete Note | Delete Note | none |
.uno:DeleteAllNotes | Delete All Notes | Delete All Notes | none |
.uno:DeleteAuthor | Delete All Notes by This Author | Delete All Notes by <AuthorName> | The string <AuthorName> is replaced with the author's name of the Note, so the UI string for author "Foo Bar" would be "Delete All Notes by Foo Bar". The name of the author is not known without a Note, e.g. during the keyboard customization. Therefore the replacement "This Author" is used for the uno function. |
Focus Visualization (Shadow)
This section covers the shadow behavior for focus visualization. It is based on the description at Visualization of Focus and has been adapted to technical limitations.
- The following descriptions of the shadows consider the Note Window to be displayed in the document at 100% zoom level. Similar to the Notes Window itself, the shadow is dependent on the zoom level inside the document.
- Color dark gradient: base color R83 G83 B83 (Hex: 535353), from alpha 255 to 0
- Color bright gradient: base color R180 G180 B180 (Hex: b4b4b4), from alpha 255 to 0
- State "Normal" of the Note Window:
- If the Note Window is neither "Viewed" nor "Edited" (please see below), then the state of the Note Window is "Normal."
- Element N1: width same as Note Window, height 2px, color linear bright gradient
- State "View" of the Note Window:
- If the Anchor of a Note is hovered by a) the text cursor in the Writer document window or b) hovered by the mouse pointer, then the state of the Note Window is "Viewed".
- Element V1: width same as Note Window, height 4px, color linear bright gradient
- State "Edit" of the Note Window
- If the text cursor is placed inside the Note Window, then the state of the Note Window is "Edit".
- Element E1: width same as Note Window, height 4px, color dark gradient linear
Help | User Interface Element Templates | Example Spec
Migration
Old documents containing notes will works flawlessly with the new user interface.
Configuration
No configuration means are needed to use the new functionality.
Help | Configuration Table Template
File Format
A single file format change is needed that will be part of ODF 1.2. The functionality using this (assign notes to a selection of text) will be implemented in the next version of this feature.
Help | File Format Table Template