Hi Yakov,
You are busy tweaking :)
On Nov 18, 5:55 pm, Yakov <
yakov.litvin.publi...@gmail.com> wrote:
> 1.1 Are they a part of the object model of TW only? Or they must have
> some DOM "representation"?
It is part of the TW meta data model.
You can open a vanilla tw at
http://tiddlywiki.com and __view the
source__.
Then search for "<div title=" and you will see a tiddler source.
There are some fields: modified, modifier ... These are standard tw
fields. Programmers are able to create so called "custom fields" which
look exactly like the standard fields.
> 1.2 Is there a field generated for references? If not, why? Is it a
> part of another table in the relational database?
If you click the button "references" the list is dynamically created.
There is no database model involved, in plain/vanilla tiddlywiki.
There is a database for TiddlyWeb/TiddlySpace. But it is used as a
storage only. You have no direct access to this database. TiddlyWiki
client side is allways the same.
> 1.3 Is it true that TW has core mechanisms (simple API) for search
> based on fields?
if you look at list macro it is simple
<<list filter [tag[myTag]] [sort[modified]]>>
> Some answers can be found in [1], but I'm looking for the concepts,
> more general answers than "yes" and "no".
> Also, I have some questions about Filters that were extended in TW
> 2.6.2 [2].
As described above.
<<list filter [tag[myTag]]>> was possible because there was core code
for it.
but eg:
<<list filter [tag[myTag]] [template[myListTemplate]]>>
wasn't very easy to create. The new extension to the core, makes it
much easier now, _for developers_ to add functions like the
[template[]] which may be used to have custom list output formats.
> 2.1. The first one is about set algebra. We can make a filter that
> sets a set of tiddlers with tag1 or tag2:
> <<list filter "[tag[transcluded]] [tag[examples]]">> (in TW v2.6.1)
> but is there a syntax for defining an intersection of sets (tiddler
> with tag1 and tag2)?
see Erics post.
> 2.2. Do the filters implement regular expressions search? If so, what
> syntax do the use?
The core doesn't.
I made some plugins, that implement regular expression filtering.
I don't know, how much JavaScript you know. But you can have a look at
my Plugin sources at [1]
Start with:
NoCaseListPlugin .. its the easiest.
NumberedTextListPlugin .. next
XCaseListPlugin .. many possibilities but more complicated.
all these plugins extend the core <<list>> macro.
instead of <<list filter ....>>
you can use
<<list numberedText -title>>
so "filter" is replaced by "numberedText" + parameters.
=======
Since at the time I wrote the macros, I didn't fully understand how to
extend the [tag[]] core mechanism, and I didn't want to totally
"hijack" the <<list>> macro, I created my own parameter syntax, which
is different to the core.
Now I am thinking about to rewrite these macros and use the new core
extension mechanism.
eg:
<<list filter [regExp[]]>> would be much easyer now.
=======
If you need information, how the core builds its functions use Erics
insideTW [2], which helped me a lot.
You wrote:
> Some answers can be found in (
http://tiddlywiki.org/wiki/Tiddler_Fields), but I'm looking for the concepts,
> more general answers than "yes" and "no".
All of the above is heavily dev related. So depending on your
scripting skills it may be sometimes frustrating to get the overview.
Be carefull :) If this information was too specific tell me, and I'll
move back one step.
-mario
[1]
http://apm-plugins.tiddlyspot.com/#XCaseListPlugin%20NumberedTextListPlugin%20NoCaseListPlugin
[2]
http://www.tiddlytools.com/insideTW/