I may have missed something, but does Node Hierarchy have the ability to move a node and its descendants to a new position in the hierarchy outline? I am in the process of evaluating between Node Hierarchy and Node Relativity, and whilst NH has the advantage of a highly functional outliner with node reordering, this is one of the significant show-stopper differences between the two.

Comments

ronan’s picture

Right now, the way to move a node is to edit the node and use the parent pulldown in the Node Hierarchy fieldset (it's collapsed by default) to select a new parent for it. The pulldown can be a bit cumbersome and there is a patch in the works to improve it. (http://drupal.org/node/228448#comment-763675)

Ultimately I want to be able to make changes using the site outline tool to move nodes around (with drag and drop preferably.. look for this in the D6 version), but for the pulldown is the only way.

I hope this answers your question. Let me know if you had something else in mind.

Ronan

looplog’s picture

Yes it answers my question, and the second question I hadn't yet asked.

That is, regarding extending the outliner into a fully fledged sub module with configurable options. For instance, I'd like to add extra actions to the title bar, such as a reparent modal dialog, or add new node buttons. I can do the latter by hacking your code and adding actions to the list for each node type, but a central configuration page would be a better way to go, allowing users to have a custom title/actions bar. I have some other ideas for extending the outline tool, as I'd really like it to become for me a content structure building and management interface. I'm considering putting in a GSOC application, or if that doesn't prevail, would like to start hacking and working towards such extensions, as these are features that I really need for my current project. Any comments on this?

ronan’s picture

That sounds great. I've been thinking of splitting the outliner into a new module since it really is optional to node-hierarchy, but I don't know if it's better to make it a bundled module (like nodehierarchy-views or nodehierarchy-nodeaccess) or make it a seperate project. That depends I suppose, on how complex the outliner gets.

My ultimate vision for the site outliner is as a tool where you can rapidly create and edit site outlines by quickly adding, reordering, deleting and editing nodes all on the same screen. If you've ever used an outlining tool like OmniOutliner on the Mac or Microsoft Word in outlining mode, you should have a pretty good idea of the interface I'd like to ultimately see.

If you are looking to write a better outliner module that works with node-hierarchy, I'd be happy to lend my support to that effort. Sound like you have some great ideas for making mine better. Likewise if you'd like to see more hooks and callbacks in nodehierarchy for extending the built in functionality, let me know and I can work on that with you.

looplog’s picture

ronan, excuse my lateness in replying. Your comments are very encouraging in that the direction you are thinking is precisely the direction I am interested in.

The software you mention, including Word outline mode, is exactly what I think Drupal can provide as a great content management tool. I've worked with other outlining software to try to find a best solution, and in the end, I keep coming back to wanting to custom build an outliner to suit my needs, which is something none of the outline tools seem to offer. Among the better I've found is Tasks, which I use as an outliner more than a task manager, (http://crowdfavorite.net/tasks/) and your outliner already somewhat resembles this in both interface and functionality. Problem with Tasks is that it is non-redistributable because of the commercial license. and not as open to customisation as I would like.

Regarding contributing, I'll say upfront that although I have ideas I find it hard to implement them. I can read and understand most of your code though, which is something I can't do with say, Node Relativity, which seems to have some difficult to grok searching algorithms going on as well as a lot of odd-case contingencies needed for its more complex approach.

So yes, more hooks and callbacks might be a start, as I'm not about to reinvent your already functioning wheel. Over this weekend I'll collate my ideas as to what I think would be desirable, and post them either all here or in a new issue for each suggestion. Let me know what's best.

ronan’s picture

Regarding contributing, I'll say upfront that although I have ideas I find it hard to implement them.

Having ideas, and being able to test patches would be extremely helpful.

Over this weekend I'll collate my ideas as to what I think would be desirable, and post them either all here or in a new issue for each suggestion. Let me know what's best.

Probably just post them here for now, I can always break them up later.

Thanks
r

looplog’s picture

Here's a quick list, in no particular order, of where I can see an outline based content manager going. This might not all fit in with the scope of Node Hierarchy.

Anyway, features in addition include

  • "sticky" expand/collapse of the outline - remembering the current expanded and collapsed branches even after redirecting from adding pages and the like. I know there's a proper term for this, I just can't recall right now.
  • 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 customise 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 also might provide a simple interface to add new actions, including icon upload, that sort of thing. As I said, this could also open the door to actions being provided by other modules, such as, ahem, actions...
  • New Node Hierarchy actions to expand or collapse a preview pane and/or an edit pane, which leads to the next...
  • Preview and/or edit pane. I've been playing around with views, panels and the editable fields module and can get something fairly usable happening at the individual node level, but can't integrate that with the outline collapsible tree, and of course it doesn't have nice javascript show/hide functionality. I'm wondering if it's not possible to 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 customisable route. I've achieved somewhat of a functional inline hierarchy editor by using embedded views, and will post a link if you want.
  • a pagebuilder or exporter. Basically, I'd like to be able to export a hierarchy as a nicely formatted html page or something similar. I really like the book modules printer friendly pages feature but I don't dig the book module much. 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.
  • I do have more ideas, but I think that's more than enough for now. I'd be more than happy to test patches and will contribute in whatever way I can to see any of the ideas come to fruition.

    ronan’s picture

    That's a great list. Some of these seem simple enough, others may be more involved. I'll take these improvements into account when I go to rewriting the outliner.

    I'm not sure what my plans are right now for the outliner in D5 since the new AHAH and drag and drop features in D6 make it very tempting to rebuild the outliner using those tools (and i wouldn't want to backport that stuff). How do you feel about Drupal 6 only for the features you're interested in?

    looplog’s picture

    Drupal 6 look's great, but it's a bit of a way from update ready for me because of the status of CCK, contributed CCK modules and the absence of Panels 2. That might change quickly, though, as it seems everybody is busy on getting D6 modules out. If there is a clear data upgrade path to D6 then I'd be all for it, and would help in pushing in that direction. Wherever your efforts go they'll be appreciated, as I'll want to upgrade at some point in the future. I think my current project, however, has to be limited to D5 just to get it out the door. It seems I faced these issues in the jump from D4 to D5, and here we are again (from memory, it wasn't until D5 hit about 5.5 that most of the modules I wanted had been ported from D4). It also seems that very soon D7 will be poking its head around the corner. How do you keep up?!

    ronan’s picture

    Yeah, that's a tough one. I'm probably not going to be ready to start moving paying clients to D6 for some time, but the ease of creating a cool outliner in 6 vs 5 makes me loathe to work on a bunch of javacript interface code which I'll just have to throw away for the v6 module.

    dgorton’s picture

    omjn -

    Are you interested in doing the SOC thing? If so, the deadline is fast approaching (March 31) and the proposal will need to get into the queue at http://groups.drupal.org/soc-2008 for some feedback.

    I've spoken with Ronan and he's willing to mentor you on this project -- so if you're interested, we're ready to support you!

    Drew

    looplog’s picture

    Drew and Ronan,

    Unfortunately I've been away from the internet for a few days due to that pesky old thing called life (actually, it was death, but that's another story). I'm wondering if it's now too late to get in?

    -Michael

    dgorton’s picture

    Sorry to hear about the loss - hope you're doing ok.

    As far as the timeline goes, that comes from Google itself: http://groups.google.com/group/google-summer-of-code-announce/web/guide-...

    But that means there's a bit of time left: March 31: 5:00 PM PDT == 00:00 UTC April 1, 2008. The Drupal side of things is at http://groups.drupal.org/soc-2008, and more process / instructions are there. It seems like you've already worked out a great list so you've got a good start on things, but there isn't much time left. If you're interested, I'd encourage you to try.

    Feel free to contact me directly for more conversation - we'll do what we can to help move it along if you're interested in applying/proposing.

    dgorton’s picture

    Status: Active » Closed (fixed)