Welcome, Guest. Please Login
Tinderbox
  News:
IMPORTANT MESSAGE! This forum has now been replaced by a new forum at http://forum.eastgate.com and no further posting or member registration is allowed. The forum is still accessible via read-only access for reference purposes. If you wish to discuss content here, please use the new forum. N.B. - posting in the new forum requires a fresh registration in the new forum (sorry - member data can't be ported).
  HomeHelpSearchLogin  
 
Pages: 1 2 
Send Topic Print
Tinderbox for an unending poem/fiction (Read 14740 times)
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Tinderbox for an unending poem/fiction
Nov 20th, 2009, 10:43am
 
I've been involved in 100 Days projects for the last two summers.  These projects have been developed and organized in Tinderbox.  Now I figure, why not a work that never ends, a personal creative universe, of sorts that grows over the years and develops not just as a history of creative questions but also accumulated technological innovation (change).  The idea is sometimes tough to explain but it's simple in vision.  It's sort of like a weblog or a creative journal.  The exception is that items added to the whole move to the back (into the decades), while the initial single work, a poem called Seconds, remains on the front page at all times, with links that take the reader deeper inside (a deeper present).  Here's an image of the layout:



The note "mainPage" will act as the index, while author, rss, Quirks, and the first note inside the "poems" container is stickied in the center inside the 0 auto div id="main".  As readers navigate the work, author, rss, and Quirks all remain on the surface, while the content inside div id="main" changes.  One way that the work might change is to add a sidebar with either repeated word tags (jQuery capturing all the <a> tags, for example) or with lists of outbounds.

The poems container has its own very simple template, just ^text^ and currently the mainPage template simply ^includes^ the required notes inside styled divs.  For the backend, Tinderbox is perfect for keeping things in order and for thinking about how things might change in the future, as one of my goals here is to continually try to break certain habits I've bumbled into in the writing of poetry and fiction, such as "Why do I keep using whale metaphors?  Why not seals?" and to keep a fresh log of creative questions.  In any event, I'm not quite sure how to tailor export templates for future changes.  For example, what if I want a dual pane in the future that includes a poem and a short fiction side by side and still avoid strange recursions?  Or, what about a new div somewhere that indicates DescendentCount?

One side of my brains tells me to write code inside "mainPage."  Another side says, keep everything in an export folder.
Back to top
 
 
  IP Logged
Mark Anderson
YaBB Administrator
*
Offline

User - not staff!

Posts: 5689
Southsea, UK
Re: Tinderbox for an unending poem/fiction
Reply #1 - Nov 22nd, 2009, 9:10am
 
Export codes like ^include^ mean that you can export web pages/sites that don't simply reflect a hierarchical outline, so don't rush to re-structure your TBX just yet.  I'd look at the task in reverse. What will my output page(s) look like and reverse out the major HTML building blocks of the page.  Then looks at those blocks and how they relate to the sections of content in your source data. This far from the data it looks like your index page - or some special note designed as the exported index page will hold the 'main' page of the export using includes to pull in the other min blocks of content.

However, be aware of an unavoidable 'gotcha' with includes and that is that exported TB notes won't export with their inter-note TBX links if the target note is not an exported page in its own right but is instead included within another page. Sometimes (aTbRef being an online example) he need for rich interlinking in the HTML output outweighs he compactness of using more includes. This is why it helps to do the exercise above and to mock up what the output might look like - in terms of major blocks of the page - and see how that maps to your current structure. Matching that up with your current TBX structure will likely indicate whether the TBX needs re-structuring with an eye to HTML output.
Back to top
 
 

--
Mark Anderson
TB user and Wiki Gardener
aTbRef v6
(TB consulting - email me)
WWW shoantel   IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #2 - Nov 22nd, 2009, 12:54pm
 
Mark, here's a mock-up of the basic shell with a few works.

http://steveersinghaus.com/auniverse/start.html
Back to top
 
 
  IP Logged
Paul Walters
Ex Member




Re: Tinderbox for an unending poem/fiction
Reply #3 - Nov 22nd, 2009, 2:34pm
 
One the one hand, structure.  The other hand, presentation.  Both need attention, but separately.  Perhaps, spend a bit of time in the CSS Zen Garden for some inspiration on bringing the two together.
Back to top
 
 
  IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #4 - Nov 22nd, 2009, 3:51pm
 
Paul, I like white space.  Soon I'll spruce up fonts and block everything off nicely, but now I'm just working on 1) how to collect links in the left bar and 2) generate a feed 3) and augment the distant future with little jokes.
Back to top
 
 
  IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #5 - Nov 24th, 2009, 3:10pm
 
I've added a few more notes to the universe project:
http://steveersinghaus.com/auniverse/fictions/crows.html

The url above indicates a container called "fictions."  Another container, called poems, lives at the same level as "fictions."  Poems and fictions will be dumped into these contains that have onAdd actions assigning notes to either poem or fiction prototypes.

The overall concept is starting to clarify and excite.  The main page includes the text of the start.html note and is held from that point on by text links, while static content is ^included in other notes which aren't intended to change (with the exception of the nested "lists).  

<body>
<div id="home">^include(home)^<div id="lists">^include(lists)^</div></div>
<div id="feed">^include(rss)^</div>
<div id="main">^text^</div>
<div id="footer">^include(footer)^</div>
</body>

But as start.html will always be up front, conceivably (I don't see why ^randomChild couldn't come into play in the future) there appears to be some need for an indication of the deeper life of the work.  The metaphor is "first impressions" and then as the visitor stays longer, he/she learns more about the person or the house.  But some linkage to latest and everything in between may be important.  

I can grab ^childLinks from an agent but this would seem to disrupt destinations.  The list div will want to accept and present links to the deeper hierarchy.  I see a number of options: links to all the notes in the work (that's a long column after ten years), links to some number of notes or link sets, links to some random number of notes, or links to a dated archive (which I don't want).  Can I create an Attribute called Grapes and assign links inside the fictions and poems containers to Grapes and then ^get(Grapes)?  This concept has been treated in the forum but extrapolating from the examples and solutions has been difficult.
Back to top
 
 
  IP Logged
Mark Anderson
YaBB Administrator
*
Offline

User - not staff!

Posts: 5689
Southsea, UK
Re: Tinderbox for an unending poem/fiction
Reply #6 - Nov 25th, 2009, 11:17am
 
In terms of structuring the HTML page, it's worth bearing in mind the method of using a (possibly empty) note as a the wrapper - Mark B neatly gives it the metaphor of 'envelope and letter'.  The note is often empty and serves solely as a place to attach an export template than pulls all the pieces together, e.g. via an include.

Also consider using TB for conceptual wireframing. By 'conceptual' a mean where we're not thinking in terms of the exact size of objects but their rough postioning, so as to assess nesting implications and use of ^include, etc. Here's an example:



For the above, you can use notes, adornments or both; here I've just used adornments. Adornments can be easier to use than notes as you can nest adornments without making containers as would happens with notes. If you do use nested notes, expand the viewport and boost the map scale within. Remember, the aim is not visual prettiness but a functional deconstruction of the HTML page. By all means go sketch in a drawing app or an HTML editor - but the above shows you may not have to.
Back to top
 
 

--
Mark Anderson
TB user and Wiki Gardener
aTbRef v6
(TB consulting - email me)
WWW shoantel   IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #7 - Nov 25th, 2009, 1:02pm
 
Mark,

Very nice, thanks.  That's basically what I have--here the map and outline view make very good partners:



For me now, the important question is how to fill "lists" with the lists of links.
Back to top
 
 
  IP Logged
Mark Anderson
YaBB Administrator
*
Offline

User - not staff!

Posts: 5689
Southsea, UK
Re: Tinderbox for an unending poem/fiction
Reply #8 - Nov 25th, 2009, 1:18pm
 
Quote:
Can I create an Attribute called Grapes and assign links inside the fictions and poems containers to Grapes and then ^get(Grapes)?  This concept has been treated in the forum but extrapolating from the examples and solutions has been difficult.

What are you expecting ^get(Grapes)^ to do? As written it insert the value of the user attribute names 'Grapes' for the note currently being processed.

Could you define a little more, what your links will be or how they will be defined within Tinderbox? Previous comments indicate you may be intending a tag could there ... or something else?
Back to top
 
 

--
Mark Anderson
TB user and Wiki Gardener
aTbRef v6
(TB consulting - email me)
WWW shoantel   IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #9 - Nov 25th, 2009, 2:02pm
 
Mark,

I'd like Grapes to capture all textLinks in the document and display them for styling in the lists div.  I have a link going from "start" to "what I saw in the sun" whose anchor text is "heart" and so I'd like "heart" as a link to appear in the lists div.   Here's what I've tried.  I created an agent for poems and fictions with code isdescended from and grabbed all the childlinks from the agents and listed them in Lists but this broke original destinations and origins.  This method created titles, which is cool, but I'd rather list all the link anchors in lists.  I tried creating a $MyLists attribute and assigning it to Grapes as in Grapes = $MyLists with $MyLists's default as ^childLinks( et cetera) -- hm, well, now I can't remember what dunderheaded thing I tried.  I might have been trying to assign all ^childLinks of  poems and fiction in their rules areas and then writing ^get(Grapes) in the lists note.  Which obviously wasn't all that smart as I don't know if ^childLinks can act as a default value of a user attribute.
Back to top
 
 
  IP Logged
Mark Anderson
YaBB Administrator
*
Offline

User - not staff!

Posts: 5689
Southsea, UK
Re: Tinderbox for an unending poem/fiction
Reply #10 - Nov 25th, 2009, 2:26pm
 
Ah, I think  - staying with the Grapes example that you're trying to capture all links that use the link type 'Grape'?

The links() action can collect a Set [sic] of a user-nominated attribute (default $Name) for all notes within a designated group of notes (all, children, etc.) which have links (optionally of a certain link type) and of an inbound or outbound (either but not both) polarity. So, for instance, you might get the $Name of all notes within container 'fictions' that are linked to by a link of note type 'Grapes". See links(). Having made such a set, the format() operator can be used to make a link list from the set operator.
Back to top
 
 

--
Mark Anderson
TB user and Wiki Gardener
aTbRef v6
(TB consulting - email me)
WWW shoantel   IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #11 - Nov 25th, 2009, 5:26pm
 
I can certainly try the links() action.  You write "Ah, I think  - staying with the Grapes example that you're trying to capture all links that use the link type 'Grape'?"  This isn't the case: Grapes is merely an arbitrary variable (see below).  I am, however, using two link types: poetry and fiction.  What I read you as saying is that I can capture all link types inside certain notes or containers using links().  Is this correct?  The set being the link type.

How's this as an example, assuming that fictions is the container and fiction is the link type:

$MySet1=links(fictions).outbound.fiction.$Name (this is the user attribute)

Grapes=format($MySet1, "<ul>","<li>","</li>","</ul>") (this is the action code in fictions container)

^get(Grapes)^ (this is the export code)
Back to top
 
 
  IP Logged
Mark Anderson
YaBB Administrator
*
Offline

User - not staff!

Posts: 5689
Southsea, UK
Re: Tinderbox for an unending poem/fiction
Reply #12 - Nov 25th, 2009, 6:07pm
 
$MySet1=links(fictions).outbound.fiction.$Name

To confirm, the above sets the Set attribute MySet1 for the given note to: the title of every note within container 'fictions' whose outbound links are of link type 'fiction'.

To export the above data as at set of links, you simply use this line in the template:

^value(format($MySet1, "<ul>","<li>","</li>","</ul>"))^

You don't need to cache the formatted text (as in 'Grapes' in your last post.

To try and make this more practical, I've uploaded a little demo of the principle - see here. Unzip the TBX and open (I used v4.7.1). First view the HTML-template note's content and see how I use ^value and format(). Then select each note (except the HTML template) in turn. First view the Rename dialog to see how $MySet is populated. Close that dialog then open the note's HTML view and see how the set data is exported as a list.

Does that help?
Back to top
 
 

--
Mark Anderson
TB user and Wiki Gardener
aTbRef v6
(TB consulting - email me)
WWW shoantel   IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #13 - Nov 25th, 2009, 8:25pm
 
That's really helpful.  Thanks, Mark.  I'm studying the download now and will try and replicate in my document.  The one issue will be to make $MySet1's list active links as the sidebar will serve as another way to navigate the document.
Back to top
 
 
  IP Logged
Steve Ersinghaus
Full Member
*
Offline



Posts: 14

Re: Tinderbox for an unending poem/fiction
Reply #14 - Nov 25th, 2009, 9:25pm
 
Mark,

I can't seem to replicate this; is this a note-specific method?  I'm supplying the aUniverse document for you to check out with a hardcoded url in the lists note to show you what I'd like for the template output to generate.

I've also supplied this link that shows the html output in action.  Look under the aUniverse icon at the top left:

http://steveersinghaus.com/auniverse/start.html
Back to top
 
« Last Edit: Nov 25th, 2009, 9:27pm by Steve Ersinghaus »  
  IP Logged
Pages: 1 2 
Send Topic Print