Tinderbox User-to-User Forum (for formal tech support please email: info@eastgate.com)
http://www.eastgate.com/Tinderbox/forum//YaBB.cgi
Tinderbox Users >> Questions and Answers >> Feature request: Pivot agents
http://www.eastgate.com/Tinderbox/forum//YaBB.cgi?num=1421255471

Message started by jwiegley on Jan 14th, 2015, 12:11pm

Title: Feature request: Pivot agents
Post by jwiegley on Jan 14th, 2015, 12:11pm

The idea behind a pivot agent is this: Instead of a boolean query as with a regular agent, a pivot agent uses an expression that yields a value.

Within the agent, each different value yielded by the expression is represented as a separate sub-agent.  These sub-agents are managed in the sense that as soon as one of them becomes empty -- and provided no manual changes were made to it by the user -- it is removed from the pivot agent.  I guess you could also call pivot agents meta-agents or agent aggregators, or what have you.

Within each sub-agent are aliases to the notes for which the expression yielded that value.

Example: say I had a bunch of notes, with an attribute indicating the location by city and state.  I could create a pivot agent whose expression extracts the state part of this attribute.  This would automatically give me a container (the pivot agent) containing agents focused on each of the states represented in the notes.  I would be able to drill down into any state, as if I had made an agent manually for each one.

Title: Re: Feature request: Pivot agents
Post by Mark Bernstein on Jan 14th, 2015, 12:17pm

Take a look, if you've not already done so, at Attribute Browser; I believe it's something along the lines you envision here.

Title: Re: Feature request: Pivot agents
Post by jwiegley on Jan 14th, 2015, 12:23pm

The attribute browser is certainly a step in that direction, but I would like to have these pivot agents "in stone" so to speak, with a place to live in my outline like any other agent, and with the ability to draw connections among the sub-agents (where modification of a sub-agent simply prevents it from being deleted from the pivot agent should it become empty).

Title: Re: Feature request: Pivot agents
Post by Mark Anderson on Jan 14th, 2015, 12:43pm

I see the underlying point, but my experience coding for some research this summer would tend to suggest such a concept doesn't scale. It's fine for a few 00s or 000s of notes. But with 000s of notes and 00s of user attributes, you end up with a lot of background activity that saps at performance. IMO that's not poor app design but simply a lot of un-envisaged activity being undertaken by the user.

An elegance of the Attribute Browser (AB), as I recall users commenting, is that it doesn't fill up the outline with fixed items for everything you might want to look at but not all the time and at the same time.

Agents have (child) aliases but no descendants. Having sub-agents would, if I understand correctly, require the whole agent visualisation to be restructured plus I can see people would then want 2 layer viewport visualisation so they could see the aliases if sub-aliases on the map, etc.

'Just' finding all possible values of an expression is an interesting task that I've had to work through but practical performance issue meant it's generally made more sense to cache the calculated value in a user attribute and use AB to review values.

Title: Re: Feature request: Pivot agents
Post by jwiegley on Jan 14th, 2015, 1:56pm

I guess what I want here is "canned" attribute browsing, in the same sense that I can have canned queries with agents today.  I mention this because it is a feature that I use greatly in both Excel and ledger, which are both able to do pivot reports on metadata.

Tinderbox User-to-User Forum (for formal tech support please email: info@eastgate.com) » Powered by YaBB 2.2.1!
YaBB © 2000-2008. All Rights Reserved.