Outline Designer / Improved node creation work flow / interface

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

I'm currently working on a project called "outline designer" for release into the Drupal community (5.x branch, out in the next few days as I'm cleaning up the initial release as we speak). What the outline designer does currently:
*Structure nodes in a book visually via drag and drop
*Right click to create, edit, delete, rename, duplicate any node of any allowed type
*Right click to change content type
*Everything is Ajax saved using standardized Drupal node_save architecture
*Ability to enable / disable the ability to create different content types

A demo of the current version is here: http://elearning.psu.edu/demo/elms (there are directions on the right block as to how to use it)

I am a grad student at Penn State so what I'd like to do is take the Drupal 6 (and 7) versions to the next level by making a new and improved version for Drupal 6 and trying to get some functionality integrated into Drupal 7. Some features I'd like to add (as well as converting the above):
*Permissions per user as to what each can edit,create,delete,move,rename etc.
*Modify the current D6 drag and drop system to operate more in this way (visually)
*Ability to associate an icon to each content type for use in and out of this system
*Ability to save current drag and drop material automatically via Ajax (or not, having the option either way for degradation to non-js)
*Associate taxonomy terms through this system

These usability improvements (esp. icons) are being talked about a lot in different groups and at Drupalcon Boston someone asked at the drag-and-drop / AHAH presentation if there was anyway to Ajax save everything. I'd like to take a stab at both of these issues while improving the work flow of content creation in Drupal (usability, yet another D7 initiative). All three of these issues are critical for improving people's experience with Drupal and having used the version of outline designer used in the demo for the last year I can vouch for the power of usability. I have a completely non-technical staff (about 10 or so campus-wide) using this module to create content RAPIDLY without any knowledge of Drupal or how it works. Lowering the cost of entry into the Drupal community will only help expand the community!

Comments

Impressive, Questions

ezra-g's picture

Nice JS interface!

Some questions:

You said "Modify the current D6 drag and drop system to operate more in this way (visually)"

I'm not clear on what you mean by that.

Is this demonstration intended as a proof of concept for functionality that you'd like to add to the core drag + drop functionality used in Drupal 6 for configuring blocks and menu items, or are you proposing a different technical strategy for implementing drag and drop functionality? I ask in part because your demonstration appears not to degrade at all (which is totally reasonable for a proof of concept demo and you mentioned degradation later in your post). Is part of your proposal to add drag+drop functionality to other parts of core, such as taxonomy management (which would be awesome for hierarchical taxonomies).

Your demo contains tree, folder and document icons, and while it's clear that this is a system for creating outlines, I'm not sure (possibly as a result of the (non-)information people have entered when testing, such as 'test' and 'zzz') if I'm supposed to be able to edit what appear to be individual nodes, so I'm not sure what I'm supposed to be able to do here. As you mentioned, folks who are not Drupal-savy are using it, so there must be something valuable here that's easy to access!

The interface you've created is fairly sophisticated but I'm having difficulty understanding how you'd like to apply it to Drupal.

ugh, I can't believe I missed this comment!

btopro's picture

Well, I know that google projects have already been chosen but I'll just answer these questions in case anyone stumbles back upon this posting....

I'd like to merge the outline designer into the D6 drag and drop system. I love the Degradation that the drag and drop code currently provides and that it can plug into lots of different drupal areas so I'd more so like to make it a little bit more usable. It's very functional at the moment but there are some visual issues that I know could benefit from everything i've learned in creating the outline designer.

I also would like to expand the framework to allow for context specific operations with the right-click / context menu that's available in the outline designer. Currently the outline designer is just for structuring / modifying nodes in a book hierarchy. This is its sole purpose but it's also a proof of concept for future possible functionality. Taxonomy management is a great example! Imagine merging the way taxonomy is done currently with the drag and drop available in D6 and the context menu aspects of the outline designer. Highest level terms visible, click and open up to see the nested terms, right click to delete, rename or add more nested terms. Rinse, repeat. In fact, while talking about this I really want to go and overhaul the taxonomy system to function this way in Drupal 5....Hmm....

This will be (for the most part) administrative system improvements. I'd like to apply this system of structuring information and performing right click operations in an ajax manner to the following operations: Books, Node moderation / filtering (status changing), Comments or forum moderation (this works wel with threaded discussions), taxonomy, views (having a view that kicks things out this way might be neat for a t.o.c. instead of the current book view)

SoC 2008

Group categories

Group notifications

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