Outline

Categories

Component ID

105724

Component name

Outline

Component type

module

Maintenance status

Development status

Component security advisory coverage

not-covered

Downloads

4497

Component created

Component changed

Component body

The Outline module provides an interface for organizing WYSIWYG content and/or entities in a hierarchy. It has several potential use cases:

  • A Book replacement module: content creators would not be limited to having just nodes in the book.
  • An administrative interface: Configuration entities can be managed using the outline interface.
  • For content editing: Content entities can be managed using the outline interface.

This module was created by taking the core Taxonomy module and modifying the code, such that a vocabulary became an outline, and a taxonomy term became an outline entry. Outline entries are similar to taxonomy terms in that they have Name and WYSIWYG content fields. Outline entries differ from taxonomy terms in that they do not support user defined fields, but rather can have an optional "Attached Entity" using a single value entity reference field. Thus the outline entry can either contain basic WYSIWYG content, or optionally act as a generic wrapper for a single entity. Another difference between the Outline and Taxonomy modules is that Terms may have multiple parents, whereas Outline Entries may have only a single parent.

Eventually it may be possible to include all of the functionality of both the Book and Taxonomy modules in this module, which would eliminate some duplication in core, as both modules are similar.

Some other outline features:

1) Drag and drop capability using Javascript treeview components. JSTree (https://www.jstree.com/) is currently implemented, with plans to add support for additional treeview components in the future.

2) Outlines provide a simplified view of a site's content and settings, using the Site outline entry. The Site outline entry is located at the root level, and contains child entries for Drupal Core entities, including Users, Nodes, Taxonomies, Views, etc.

Planned for the future:

1) Support for additional Javascript treeview components.

2) Allow an outline to have an "outline type" (essentially a template), which determines the types of entities the outline may contain, the overall structure, number of levels, required entries, etc.

3) Automatic PDF generation, so that outlines may be easily printed or viewed offline.

4) Integration with the file system would make it possible to manage the Drupal /files directory with a drag and drop tree interface similar to Windows Explorer.

5) Advanced methods of off-line viewing and editing could be provided, whereby the outline tree and related content could be cached by the browser using JavaScript.

6) An outline specific app could be automatically generated by technologies like Drupal Gap (http://drupalgap.org/).

7) The ability to pre-load children to provide a very fast interface. This could make browsing a site's content very fast, as most entities could be pre-loaded before the user goes to view/edit and entity, ideally an intelligent, predictive entity pre-loading capability.


Note about prior namespace usage: In the past this project's namespace ("outline") was used by a predecessor Drupal 6 project that is no longer supported, but the code was left in the Git repository, as there are still a few sites using the Drupal 6 version.