* Noel Henson <noel at noels-lab.com> wrote:
> > > I have a few more features in mind
> > > than what VO is capable of...
> > Like what, besides cloning?
> And columns. I've often thought of writing a full-on
> application.
I figured on making the data an arbitrary tree of nodes and
attributes, with the ability to assign a different schema to each
node.
Basically, each node would have (or inherit) a title, a set of
arbitrary name/type/value fields, and a display style. The
fields are things like text, integer, checkbox, date, and
percent. Display styles might be like printf format strings.
The storage back end I had in mind is a directory tree, though I
also considered xml and s-expressions. This makes each branch a
tree of its own, where you could zoom into a subtree simply by
changing directory. It allows for linking between branches by
using symlinks, and attaching files is trivial to implement.
Example use cases will be useful for making sure the system
provides the necessary features and makes the most common tasks
the easiest. For example:
Movies (seen 67%, own 1/3)
Seen Own Rating Title
---- --- ------ -----
[X] [_] 9 Kung Pow (note)
[X] [X] 6 Bee Movie
[_] [_] Atonement
The storage for this might look something like...
0/ (root node)
.title (string): "Movies"
.fmt (format): "${title} (seen ${seen}, own ${own}/${total})"
.childfmt (format): "${seen} ${own} ${rating} ${title}%{fill}${note}"
.seen (percent): autocalculated
.own (sum): autocalculated
.total (childcount): autocalculated
0/ (first child)
.title (string): "Kung Pow"
.seen (checkbox): 1
.own (checkbox): 0
.rating (int): 9
.note (file): text/plain file attachment
1/ (second child)
...
The biggest drawback to this idea is that ... well, it's not Vim.
It would allow arbitrary database-like schemas and fairly complex
behavior, but it isn't much like a text editor.
I find that, most of the time, VO's simplistic approach to
outlining is sufficient. I don't usually need more than a title
and a checkbox, and having the power of vim underneath is very
helpful. The only real complaint I have about VO is that the
interface isn't at all appropriate for use on a PDA or phone.
-- Scott