Extending Node Hierarchy Outliner

Events happening in the community are now at Drupal community events on www.drupal.org.
looplog's picture

The basic notion is to extend the current Node Hierarchy module functionality.

This would include extending the outline tool into a central 'in-structure' content management tool. In a general usability sense, by customizing node types, users and site builders will be able to extend the hierarchical structure management into the domain of task management, content organization, book creation, and hierarchical document creation. As such this is ostensibly a usability project, with strict focus on enabling rapid content creation and management within the context of hierarchical organization. There are also some personal goals to produce a tool that can rapidly create well structured hierarchical pages, with appropriately nested headings and sections according to academic standards.

Here's a quick list, in no particular order, of where I can see such an outline based content manager going. I am aware that there is some overlap with the recently released Outline Designer module, which is also part of another proposal (see: http://groups.drupal.org/node/9896). I'd specifically like some feedback on this issue.

There would be two main components to the project, possibly deliverable as modules extending the Node Hierarchy module.

Firstly, the outliner would be moved to its own module, and extended with the provision of a central admin for custom building the current Actions bar. The following features would be prioritised:

  • "sticky" expand/collapse of the outline - remembering the current expanded and collapsed branches even after redirecting from adding pages and the like. </li?
  • being able to open an outline at any depth, not just the current node=0 or site level.
  • action bar builder - I alluded to this above. I think it would be useful to be able to customize the actions, like a toolbar, from an admin page. This would entail being able to add/remove/re-order actions via a views-ish UI. It should also provide a simple interface to add new actions, upload icons. As I said, this could also open the door to actions being provided by other modules and may include scope for integration with Drupal 6 Actions and/or future integration with workflow related modules.
  • New Node Hierarchy actions: expand or collapse buttons for a preview pane and/or an edit pane; merge nodes
  • Preview and/or edit pane. use fields that are exposed to views to custom build outline preview and outline edit views which show/hide by clicking the action provided above. Of course, default title and body in place editing is a nice start, but I use CCK alot so I'd rather go the customizable route.
  • Provision of an outline block
  • The second major component of the project is the Pagebuilder/Exporter, the 'scratch an itch' section. Basically, I'd like to be able to export a hierarchy as a well formatted html page. I really like the book module's printer friendly pages feature but I find the book module as a whole is difficult to work with. There has been some expressed dissatisfaction within the community as well regarding the book module's suitability to general outline applications. This is in fact a project I'm really interested in, as I can see it also be used to generate wikipedia like pages that can be edited at the individual section level, or at the whole page level. I also think integration with bibliography module is key, as one can have inline citations that could be collated from all the nodes and appended at the end of the document as footnotes. It also opens the door for quick and easy TOC generation, and structured headings according to hierarchy depth.

    Work would be undertaken with the following caveats in mind:

  • possible integration with alternate node relationship modules, including possible future adoption of RDF into Drupal core. As such, every attempt will be made to push the outline tool into the direction of a general purpose outline management interface. Hence the notion of the configurable outliner 'actions bar'.
  • Wherever possible, UI and usability considerations should keep in mind the current and very flexible trio of CCK, Views 2 and Panels 2, with provisions taken for integration with these modules.
  • Work should be undertaken as much as possible with the authors of modules related in functionality so as to minimize code duplication. Such modules include Node Relativity, Outline, the recently released Outline Designer.
  • Comments

    Looks good (and some more background)

    dgorton's picture

    First off, I should point out that I've had a small role in encouraging this proposal, and am therefore somewhat baised to believe it's a good idea. Michael initially posted his ideas in this issue: http://drupal.org/node/233386 ('looplog' in g.d.o. is 'omjn' in d.o.). As that discussion evolved, so did the idea of doing it as an SOC project.

    Given that caveat emptor, here are a few further thoughts:

    1. This module ought to be a stand-alone project with the explicit goal of providing a pluggable back-end for different hierarchical solutions (e.g. book, node hierarchy, node relativity, hierarchy, etc.). It should have a life of it's own and aim to outlive them all as a flexible "one-hierarchy-to-rule-them-all" solution emerges and solidifies.
    2. There's a lot here, and doing both outliner and pagebuilder pieces may be a lot to cover in one summer -- but that really is going to depend on how much time/effort/ability you have to give.
    3. A lot of other work is being done in this same space. Most of them should probably be actively attempting to make themselves obsolete within a version or two, with a probable focus on Book (or whatever book becomes in a version or two) and, where appropriate, extending Book.

    And, as a last observation, #3 potentially expands scope, while #2 is concerned about it -- the proper balance will be important to keep goals realistic and achievable.

    Overall, however, I'm happy to see you taking the initiative to propose and work on this project!

    Drew Gorton
    Gorton Studios

    Here's a list of TOC

    robert castelo's picture

    Here's a list of TOC modules:
    https://www.drupal.org/node/2278811

    My contribution is the TOC Node module:

    Add a Table Of Contents to Drupal pages

    SoC 2008

    Group categories

    Group notifications

    This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

    Hot content this week