Hi Tobias, Hi Folks,
An interesting thread. Dave Gifford is heavily using
DataTiddlerPlugin. And the "backend/lowlevel functions" are invisible
to the novice user. If you have a detailed look at his bibblywiki [1],
and you _really_ analyse it (TiddlerTweaker will be needed, because
most of it is excludeLists ...). It is quite interesting, how things
are done there.
But as you wrote. Most of the data is hidden inside <data></data>
sections. The internal format is JSON. I'd highly recomend to use a
JSON parser instead of eval(). Since jQuery has one built in, there is
no extra file size.
I also don't lilke hidden data. That's why, I am not happy, if
valueable text is stored as custom fields.
=====
Some things I found out using JSON as a configuration format.
I use it with my IconBuilder space. JSON is human readable, and human
editable. But quite errorprone. You have to exactly know, what you are
doing, if you edit it by hand. See myFunctions [2] link below :)
You'll need to read set description [3] and myFunctions description
[4] exactly in that order, to understand (may be) how it works. ... So
I needed to make an IconConfigurator [5] to produce a valid template.
If one is produced, copy paste is easy (At least for me :)
Conclusion:
JSON is easy and secure to parse. It is human readable. But it is
limited human editable, without copy paste errors. Or you need a good
interface, which is a lot of work to do, and most of the time limited
to a special usecase. See [1]
=====
Using Sections and slices as a configuration format:
I use this type of configuration for my FancyBox plugin [6]. One of
the biggest advantages is, that you can put your configuration into
any tiddler, and it will be nicely wikified using TW core. Also the
core has functions to retrieve this information (see technical stuff).
The disadvantage is, that if you want to have some database
functionality you have to make it on your own. eg: adding, deleting,
sorting, reporting ....
Technical Stuff:
=====
TiddlyWiki.prototype.calcAllSlices(title) gives you all slices a
"title"d tiddler contains.
The disadvantage there is:
chkSomething: true .. gives you slices.chkSomething = "true" which is
a string not a boolean :(
I needed to change it a little bit: see. FancyBoxPlugin
calcTextSlices: function (text) {} which gives you slices.chSomething
= true; (the boolean) and it needs tiddler.text instead of
tiddler.title
Conclusion:
*Many users allready know, Sections and Slices.
**For those who don't know, it is quite easy to tell them. Most of
them will need it anyway, if they really want to work with TW.
*Configuration values, can go together with documentation text (I like
this very much)
*It is as flexible as using JSON for configuration, but less error
prone if human edited.
*It needs a little bit more parsing. But parsing is still simple (see
technical stuff).
*There are no automatically created forms yet. But tiddlytools may be
a source here. Especially PasteUpPlugin
=====
Using someone elses stuff and resources.
eg: Baggr [7] it uses DataTiddlerPlugin
[7] http://baggr.tiddlyspot.com/#TwitterUsage
Have a look at the
"∈ .. Query View" which gives you a list of content.
"Δ .. Form View" gives you a automatically created form specified by:
"Ψ .. Shema View" lets you specify the database "elements"
"ξ .. Tools" some export import tools
"? .. Help" .. help
@Tobias. I think this is very close allready to what you want to have,
except the data content is hidden.
The advantage is, that everything can be freely defined. The
disadvantage is, that it needs a tought learning curve. And you have
to know a little bit about databases.
Accessing the database content you'll need more plugins [8]
Conclusion:
Very flexible, but tough learning curve. All the data is hidden. Not
human editable without any specialized forms.
I had a closer look at it, as I wanted to use it for IconBuilder. But
since I can't manually edit the content I didn't use it. Using copy/
paste with the TW built in text edit functions is way faster. Export,
import would have been an option.
There are some more ideas, but they are confidential :))
Just some thoughts.
have fun!
mario
[1] http://www.giffmex.org/bibblywiki.html#VanhoozerMeaningText
[2] http://iconbuilder.tiddlyspace.com/#myFunctions
[3] http://iconbuilder.tiddlyspace.com/#[[set.xx%20description]]
[4] http://iconbuilder.tiddlyspace.com/#[[myFunctions%20description]]
[5] http://iconbuilder.tiddlyspace.com/#IconConfigurator
[6] http://fancybox.tiddlyspace.com/#Example_ThumblistSlideShow
[7] http://baggr.tiddlyspot.com/#TwitterUsage
[8] http://baggr.tiddlyspot.com/#DataListPlugin
--
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.