outliner cardtype

Idea

 

The open/close -ability of Wagn cards begs for a full-fledged outliner cardtype. Not sure exactly how it would work, imagining an interface like a hierarchical Pointer.

 

Content-wise, an Outliner could be exactly like a Pointer, with the different behavior coming from Outliner views for content and editor, and some type specific actions. Each card within the Outliner would by default be of type Outliner or Basic.

 

The view doesn't have to be very different, maybe just defaulting item:open.

 

When you're editing, you want all of the cards to go into edit mode. A pair of buttons or something after or next to each card lets you adds a card between it and the next card (pair because one adds a Basic, and the other adds an Outliner). Hm, you actually want those buttons in view mode as well. Clicking one adds a card, but doesn't put the whole Outliner into edit mode. When you are editing the whole Outliner, a "Save all" button is at the very bottom, and clicking it saves and creates all the cards you've added in the meantime. Autosave on new cards would be a big plus here.

 

Autonaming gets around what would otherwise be an annoying requirement to name each card before you can Save all. When you add the first card to foo, it would be autonamed foo+001, and could easily be rename right then, or later if desired. If foo+001 is an Outliner and you add a card within it, it's foo+001+001. (Hm, that's a serious challenge, as if you do that in one big edit, there won't yet be a foo+001 to make a foo+001+*left+*autoname from).

 

When Outliner foo is created, foo+*left+*autoname (yes, we'll need that kind of set) is automatically created with the value...hm, we have to expand the function of autuname to add something about the context? Does the code even know when a card is being created from a Pointer? Ah, it must, because we do auto-typing on that basis of |Pointer|+*right+*options. So, the value of foo+*left+*autoname could be something like "_left+001"? Wondering if we'd want to introduce a new term here, like _includer.

 

I'll try to mock up a screenshot...

 

 

+relevant user stories