[Vimoutliner] graphs/trees

Steve Litt slitt at troubleshooters.com
Wed Oct 25 23:13:59 EDT 2006


On Monday 23 October 2006 03:05 pm, Scott Scriven wrote:
> * Peter Princz <princzp at gmail.com> wrote:
> > See them here:
> > http://princzp.googlepages.com/vimoutliner
>
> So, under the "limits" section, you mention wanting to represent
> graphs instead of strict trees.
>
> That's something I've given a lot of thought to over the past 5-6
> years, and I'm about to start work on a fifth prototype
> filesystem designed for this kind of thing.
>
> Basically, I've been looking for a filesystem which represents a
> directed graph instead of a tree.  So, it's still hierarchic, but
> instead of each node having one parent and multiple children, it
> would be multiple parents and multiple children.  It's like
> hierarchic labels or tags, built into the filesystem.
>
> If reiserfs4 allowed this, I'd have a good basis for building
> apps.  But POSIX forbids multiple hardlinks to directories, and
> has no decent way to "ls" parents, so I'm stuck using more custom
> storage to represent the graph.
>
> While it's a really neat idea and I'm interested in building it,
> I don't see this sort of thing being feasible in VO.  Since it's
> primarily a text editor, using plaintext storage, it seems
> like graphs would be very difficult and kludgy to implement.
>
> OTOH, VO almost makes me want to write v2 of my old outliner
> program.  VO has incredible text-editing capabilities, but it's
> fairly weak on the actual tree manipulation.  It would be nice to
> have something more like a hierarchic database, where each node
> can have its own unique set of attributes.  But I don't know how
> much I would actually use something like that, so I doubt I'll
> write it.  VO is arguably more useful most of the time, even if
> it is just a folding text editor with some macros and export
> plugins.

Hi Scott,

A guy named Gabriel Horner, who used to be on this list (maybe still is, but 
hasn't posted for awhile), came to my house one day and demonstrated a DBMS 
hosted version of VO. It wasn't very complete, but all the things that VO 
just can't do well because of its basic single parent hierarchy assumption, 
could be done quite easily in a database.

One could make an argument that a DBMS (mysql?) based VO backend would be 
every bit as efficient as the current one, if:

1) All keystrokes were the same (I personally think the keystrokes are what 
make VO so darned quick)

2) Outlines can be easily and quickly exported to tab indented format (in 
other words, the current native format)

3) All features are included (body text, interoutline linking, executable 
lines, checkboxes, hoisting)

Imagine how nice it would be to have each headline have a boolean datafield 
called "in-use". Think that might make hoisting a little easier? With a DBMS 
backend, clone headlines become a nobrainer.

Of course, someone would need to write a front end that implements VO 
keystrokes and look and feel...

SteveT


More information about the VimOutliner mailing list