# Outliner

An outliner (or outline processor) is a specialized type of text editor (word processor) used to create and edit outlines, which are text files which have a tree structure or a tree view, for organization. Textual information is contained in discrete sections called "nodes", which are arranged according to their topic–subtopic (parent–child) relationships, like the members of a family tree. When loaded into an outliner, an outline may be collapsed or expanded to display as few or as many levels as desired.
Outliners are used for storing and retrieving textual information, with terms, phrases, sentences, or paragraphs attached to a tree. So rather than being arranged by document, information is arranged by topic or content. An outline in an outliner may contain as many topics as desired. This eliminates the need to have separate documents, as outlines easily include other outlines just by adding to the tree.
The main difference between a hand-written outline and a digital one is that the former is usually limited to a summary or blueprint of a planned document, while the latter may easily include all of the content of the entire document and many more. In other words, as a hand-written work an outline is a writing tool, but on a computer, it is a general purpose format supported by a robust development and display medium capable of handling knowledge from its creation to its end usage.
Outliners may be used in content creation instead of general word processors for capturing, organizing, editing, and displaying knowledge or general textual information. Outliners are ideal for managing lists, organizing facts and ideas, and for writing computer programs. They are also used for goal and task management (including personal information management and project management), and for writing books and movie scripts.
An alternative to outliners are mind mappers, which display a tree structure as a node–link diagram.

## Design

The principal attribute of outline editors is that they support or enforce the use of a hierarchy of their items.
* Editing: Sound parent-child relationships are enforced when the user modifies the document structure. For example:
** Promoting, demoting, copying, or deleting a parent has the same effect on the children.
** Every item entry must be within one level of its predecessor, such that each item must be a sibling or child of the preceding item (thus, no item can be a grandchild of the preceding item).
* Viewing: The tool enables the user to affect the display by level. For example:
** Applying styles by outline level (e.g., bold all 1st level items).
** Displaying selected levels (e.g., show all 1st and 2nd level items, but none deeper).
** Lifting an entire section out to work on it in isolation, ignoring everything else during that editing, then dropping it back into place (known as hoisting and de-hoisting).
* Search/Filter: The tool displays only items that contain the query terms plus their ancestors (parent, grandparent...) to give them context.
* File import and export: Both the content and structure of outlines are conveyed when files are imported or exported (e.g., from and to tab-indented files).
* Fields/Columns: Items can also have additional fields of information. This data can be shown as columns of data in the outline or as fields in the second pane (see 'Layout' below). Some outliners also allow the user to create custom fields and/or filter on fields. It can be changed further.

## Layout

There are two basic types of outliners: one-pane or intrinsic, and two-pane or extrinsic, each with its strengths and weaknesses.
A one-pane outliner is known as an intrinsic outliner because the text itself is organized into an outline format—individual sections (such as paragraphs) of text can be collapsed or expanded, while keeping others in view. Everything is displayed within a single area, hence the term one pane. One of the strengths of one-pane outliners is that, because the text itself is what is structured and because several nodes of text are visible at once, it is easy to edit across sections. The drawback is that, because the structure is not always visible, there is not as strong an overview of the whole or ability to quickly navigate between sections as with a two-pane outliner. Some word processors, such as Microsoft Word, have an Outline Mode, or View, to help with structuring documents.
A two-pane outliner separates structure from content—the structure is extrinsic to the text. A tree structure with node titles is presented in one pane, and the text is shown in another. Since the structure is always clearly shown at all times separately from content, this format allows for a quick overview of the structure, and easy navigation. The drawback is that since only one node's worth of text is shown at one time and navigation has the additional step of crossing panes, the structure is more rigid, making editing across nodes more difficult. This view is similar to many file browsers and email programs (which can be thought of as three-pane outliners). This type of structure is useful also as a document management tool where the second pane is a document in place of textual information.
A one- and two-pane outliner may be combined as a hybrid. This allows multiple notes' text and graphics to be shown at the same time. The organizational power of outline in hybrid is in the parent outline structure, not in the second pane text, making it a very effective structure for topical organization. One additional advantage of hybrid is that single pane can be used as single pane outliner with second pane used for notes or reference tracking.
A third approach to intrinsic outlines is the multi-column outliner. It is similar to the one-pane outliner in that the text itself is organized into an outline format. However, the text sections do not collapse or expand, and all sections are visible but held in a separate column (one for each level). This approach allows structure and content to be visible at the same time.

## File formats

Several file formats support an outline structure natively or encourage the use/creation of outline structures.
* XML - XML's purpose is to aid information systems in sharing structured data
* HTML/XHTML - outlines relatively trivial thanks to nested markup
* OPML - simple XML-based format designed for outlines, but also used for syndication feedlists
* OML - alternative to OPML
* RDF - (various formats) has web-oriented node & arc graph model, a subset can be used for outline
* XOXO - dedicated HTML-based microformat for outlines
* CHM - standard Windows format for help, books, etc.

## List of outliners
### Desktop outliners

| Name | Operating system | Notes |
| AllMyNotes Organizer | Windows | Can password-protect file access, supports skins. Free and Portable editions available. |
| Bike Outliner | MacOS | Notable for fluid animations and good performance on large files. Also separate text and outline editing modes. |
| Ecco Pro | Windows | Freeware outliner. No longer supported. Large users' group. EccoMV add-on for RTF pane. |
| Freeplane | cross-platform (Java) | Mind mapper and outliner with comments and graphical connections (links) |
| GrandView | MS-DOS | Single-pane outliner dating from the 1980s. No longer supported. Clone feature. |
| KAMAS | CP/M, later MS-DOS | (Knowledge and Mind Amplification System) Not as successful for MS-DOS as it had been for CP/M. Limited export capability. |
| KeyNote NF (formerly Keynote) | Windows | Mozilla Public License. |
| KJots | Linux | A simple outliner text editor which can be used to create a personal wiki. It uses a basic tree structure to organize information: it refers to nodes as 'books' and leaves as 'pages'. It includes a book view, which shows a table of contents, and a view mode for all entries. |
| Leo | Windows/Linux/MacOS | Text editor with outlines; remarkably flexible tree structure. Written in Python using Qt. |
| MORE | Mac OS 7/8/9 | Classic Mac outliner from the late 1980s & early 1990s |
| MyInfo | Windows | Two-pane, but can emulate basic one-pane outliner as well. |
| OmniOutliner | Mac OS X | Single/double pane outliner with columns and extensive customization capabilities. |
| OrgMode | cross-platform | Emacs outlining mode |
| Scrivener | Mac OS & Windows; Linux beta | Flexible content generator for writers; powerful multipane outliner |
| TheBrain | Windows, Mac, iOS, Android | Free form graphical outliner |
| Treeline outliner | Windows/Linux | Free 3-pane outliner; 2nd pane shows details of highlighted node, 3rd pane lists details of its children. |
| Whizfolders | Windows | Two-pane outliner where the left pane contains the outlined list of item titles and the right pane shows the details of selected item. Discontinued. |

### Browser-based outliners

This table shows a list of notable browser-based outliners categorised by the functionality that they provide (see 'Design' above). Browser-based outliners run inside a desktop or mobile web browser (smart phone or tablet) and may synchronise the outline's data with a remote server or store it locally on the user's device.
| Name | Promote/ demote | Clone | Styling | Expose/ hide levels | Hoist | Search | Import OPML | Export OPML | Export other | Collaboration | Files |
| The Outliner of Giants | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Workflowy | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |