Hi there,

I'm wondering whether there has been development or ideas about
something that you would call a "data application". I'm not sure TW is
the right space for that, but I can envision some kind of integration
between data input, formatting and display.

There is some tension in TW between giving everything its own tiddler
and aggregating various entries into one bigger tiddler. Maybe this
would be the reason that TW is not suited for incorporating an
"application" for data display. A tiddler is meant to contain text and
formatting, simple note-taking that receives its formatting on-the-
fly. Where to store unstyled (yet structured) data?

Let me give you an example of what I mean.

Suppose you would want to use TW to maintain a list of bookmarks. You
envision several categories of bookmarks. There are categories for
"politics", "economics", "spirituality". You don't want to just add
the bookmark, but you want to add some summary description about what
the bookmark is about, perhaps it links to an article and you want to
record your views about what was being said. A summary. You want to
add a "topic" description that doesn't have to be unique and you want
to add a "today" in some universal format (yyyy-mm-dd) that describes
the day the bookmark was added. Perhaps you also want to include a
"date" that pertains to the publication date of the article.

In XML the data structure would look like this:

<entry today="2008-06-23" topic="Elite education in USA"
category="education">
 <source>http://www.theamericanscholar.org/su08/elite-
deresiewicz.html</source>
 <title>The Disadvantages of an elite education</title>
 <summary>People are being taught to conform but not to think
independently</summary>
</entry>

You also imagine expanding this system to include scans you make of
magazine articles that you store in whatever format (jpg, pdf..). So
the <source> tag may refer to a local store "/documents/uwv-
perspectief-column-nuttig.jpg".

It becomes a bit of a problem to envision unique tiddler names for
every entry you add. You decide to add a WikiWord name matching the
topic "EliteEducation" and to add new bookmarks on the same topic to
the same tiddler. You tag the tiddler both with "bookmark" and the
category "education" and possibly "scannedDocument". Tagging it with
"bookmark" makes the tiddler eligible for inclusion in your soon-to-be
automated system. All the other tags become selectors in your
application-tiddler that allow you to filter the list of bookmarks.
Another filter would be "today" - the bookmark date (you would filter
on year and/or month). Today would be the default sort criterium for
the displaying application.

Now the only problem is to imagine and develop a way for tiddlers to
contain readable text /and/ to exhibit the data structure mentioned in
the XML fragment.

We would need a new action in the options panel called "new bookmark"
that would make it easier to add the bookmark and the format needed on
every new entry. Perhaps even a little dialog box that would faciliate
importing a live bookmark on the internet, filling into a new (or
existing) tiddler the title, today and source, as well as the tag
"bookmark", and providing also a choice of existing categories (tags)
in the system.

The format could be as simple as a definition list

; today
: 25 march 2010
; topic
: cultuurrelativisme
; title
: Cultuurrelativisme; 2003; Wim van Rooy

Or it could employ a new css class for easy parsing and recognition
(and styling as well)

{{bookmark{
|''today''|2006-12-14|
|''topic''|cultuurrelativisme|
|''category''|filosofie|
|''title''|Cultuurrelativisme; 2003; Wim van Rooy|
|''source''|http://www.eurozine.com/articles/2003-08-12-vanRooy-
nl.html|
|''summary''|blablabla|
}

It could even be a little javascript-based form application that
wouldn't require editing the tiddler directly but rather would involve
directly entering and selecting from the various form controls (edit
fields, drop down lists), although the form would still need to save
the data to the tiddler itself. I think a basic easy-to-parse format
such as the table above would be very appropriate.

All that would be required then is a way to specify a template or
format for the data structure that can be used to generate the
application (the macro?) that is going to do the actual displaying of
the aggregate bookmark list. Perhaps all that is needed is to create a
template that reflects not the data format but the actual html
structure for displaying the bookmark list.

<div application="bookmark" macro='view data list' selectors='today
category scannedDocument'>
.<table>
..<th><td>today</td><td>topic</td><td>category</td> etc </th>
..<tr>
...<td class="date" field="today" macro="view data field"/>
...<td class="selection" field="category" macro="view data field"/>
...<td class="text" field="topic" macro="view data field"/>
..</tr>
.</table>
</div>

The basic macro (?) would simply list all of the tiddlers it finds
that have the specified tag ('bookmark') and parse all the
"{{bookmark{}}}" sections that it comes across, filling in the values
it finds into the table. It can then hide the subsections of the table
based on selections of tag and year/month. The table would also
provide clickable links to both http sources and local files. The
macro might even wikify the text it finds, such as the summary text.

It might become a bit troublesome to include ALL the tags as possible
selectors for the list. It is not necessary for the tiddlers to have
tags beyond 'bookmark' and 'scannedDocument'; the category field in
this case could use a multiple comma/space separated format
("spirituality economics"). On the other hand, all tags that are
present in any of the matched tiddlers could be shown in a single drop-
down list for single-selection, much like the 'category' field in this
case would provide a selector populated with the values found in all
the tiddlers. Perhaps the additional 'tag' selector would exclude the
tags already in use in other selectors. The purpose of TiddlyWiki tags
would be to cross the border between "data application" and the total
wiki, enabling all of the tagging features normally found in TW.

It would be very easy to customize this database system for other
needs, as long as the records are simple. All you need to do is edit
the template for the list-application, and also provide the basic
template for the {{bookmark{}}} sections such that there can be a "new
bookmark" button.


So, this is then what I would have in mind when talking about database
application of TiddlyWiki. Of course, it would be just as easy to fire
up a PHP/MySQL/web server, write a single php script, write a single-
table SQL definition, and be done. But it's probably really just as
much work as doing this in TW for those that have the knowledge and
you would be doing it in a much richer environment.

What do you think? Does something like this already exist?

Greetings, Xen.

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/tiddlywiki?hl=en.

Reply via email to