[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[O] column view extension
From: |
ayvango |
Subject: |
[O] column view extension |
Date: |
Mon, 16 Jan 2012 13:00:50 -0800 |
User-agent: |
Zoho Mail |
I've found a non-standard use case for org-mode.
There is plenty of spreadsheets engine with common drawback: spreadsheet cells
follow original memory cell abstraction that are handy for a computer but is
inconvenient for human. Hierarchical structures is more natural and in some
cases may be used much more effective for at almost half of the data models.
I would use a popular wargame Warhammer 40k army list as example. The army list
consist of the sections: HQ (headquarters), Elite, Troop, FA (fast attack), HS
(heavy support). Every section divides further on squads and their options.
Those an hierarchical structure defined. An army list has it limits on choices
for points spent on, occupied slots and so on.
Spreadsheets is inconvenient for roster accounting since I doesn't know the
number of squad, persons it incorporates and their wargear in advance. I would
rather extend it dynamically. I've tried to write some template in terms of
cell-processor but found it too complicated. It have expressed perfectly in
terms of tree-processor (my own name) though. I defines some kind of
attribute grammar as a tree processor.
The file containing referenced army list attached to the post.
Org-mode gives me more powerful instrument than any spreadsheet I've meet. In
two strings it can express the structure demands plenty of verbosity to be
recorded in any spreadsheet. I've just defined COLUMNS property for an outline
and org-mode gather all required information from its subnodes.
This method saves me a lot of time but it may not be used with other
hierarchical data models as simply as for the army list. This models may
require more complicated summary types than those provided from ground. Is
there any way to incorporate abstract grammar for defining and processing
properties. There is already a way to define synthesized attributes as well as
inherited ones. But there is no way to bind them together with a function to
calculate output.
Example. Every node has its point point cost. Parent node costs calculated by
summing all its subnodes cost. But I'd like to introduce new attribute: node
share that represents point weight of the node among its siblings ( 100% *
node.cost / parent(node).cost ). Another example. I'd like to separate node own
cost from computed subnodes cost sum. That way I escape creating boring virtual
parent nodes existing exclusively for summing model cost with costs of it's own
wargear.
I'm using org-mode for it convenience but I don't know much about lisp and
can't extend org-mode. I hope someone become interested in creating spreadtree
application based on existing properties code.
BA.org
Description: Binary data
- [O] column view extension,
ayvango <=