It sounds like a great challenge, but I am sure I do not understand all the
details. A few acronyms have me a little confused. Never the less I think I
get the Gist.
To be clear are you searching a large collection of tiddlers containing
text, tags and fields that you want to list as the result of a
sophisticated compound search consisting of multiple filters?
I do feel that TiddlyWikis filters are in someways specific to the
TiddlyWiki's platform requirements. Rather than let this complexity
overwhelm, If I understand what you are trying to do, I would build a set
of search primitives from TiddlyWiki filters that generate a set of
tiddlers, then add these abstracted primitives together rather than drop
down into the TiddlyWiki filters syntax, in your large compound "search
Designed carefully every search primitive could be invoked regardless of
what proceeds or follows it. In which case you could specify the primitives
and their order by tagging a tiddler lets call it a "Query tiddler" with
the set of primitives, and the desired order (using the tag pill drag and
drop ordering) and have the result "drop out at the end" or Not. This would
allow you to look at the intermediate results ie Primative1 generates list
A, Primative2 to uses this list to generate list B etc...
I feel a form of loop could be built that takes as its input the previous
list generated by the previous primitive. If constructed correctly each
step will result in a much smaller subset to test/filter and as a result
the performance should be good.
In keeping with the original post I would then use the resulting list to
transclude the content.
Perhaps I am way off here, but this is my brave attempt to respond to what
looks like a deeply conceptual experiment, the type I love, but are best
constructed in my own mind, rather than trying to understand prior work.
Post by h0p3
You are always gracious. Thank you. My 12yo daughter didn't see your post
until it was bedtime, and I don't want to leave you hanging. She is trying
to build a tool for me as part of her CS subject in school. She's trying to
make a GUI search tool which can construct arbitrarily long filters. We're
still brainstorming and just trying to make a prototype. The gist of it can
The goal is to have a graphical tool for incrementally constructing an
arbitrary number of atomic and complex sentences (built from atomic and
other complex sentences using drop-down menus that include the previously
constructed sentences). The final complex sentence will contain the main
connective and will be the final filter for the search. Writing several
complex filters back-to-back is labor intensive (some people who use my
wiki cannot write them at all, but they know enough First Order Logic they
could use a graphical tool), and I want to abstract away as much as I can.
Performance matters to me here too. My wiki is fairly large (now pushing
~22MB of pure text in ~7k tiddlers), and I think it will only continue to
grow year after year. There are certain kinds of filter-based tools which
do not work on my wiki; it's simply too big. Presumably, this tool will
also be used to wrap other search tools which I otherwise couldn't afford
to use without complex filters first narrowing down the search space.
There may be multiple ways to do this. We may even be wrong about what is
possible or worthwhile here. We could certainly benefit from your
expertise. Please advise us. What are your thoughts and what direction do
you think we should go?
Post by TonyM
I am sure it would be possible to apply an unknown number of filters in
a filter search.
I think there would be more value in explaining what you want to do, than
asking questions halfway through your current attempt to answer these
There are a number of ways to concatenate text of any type into a
variable which you can then use in a filter and other places. Of course the
order is important in filters.
Similarly you can use nested <$list widgets to separate the "problem"
into a number of filter statements rather than trying to force many into
one. The trick is to use the variable=variablename parameter of one list
widget as the "input" "[<variablename>... to the next List widget, unless
you always refer to current Tiddler and do not use the variable parameter.
The reality however is, what are these filter meant to achieve?, because
once experienced with filter's there is a lot that can be done with "smart"
filters". Perhaps you do not need to concatenate these filters as you
Why are your filters unknown in number and what are they trying to find.
Post by Swicky
I'm trying to use an unknown number of filters in a filter search. I
can, so far, hardcode transclusions of two or more tiddlers. So, if tiddler
A has [all] in it, and tiddler B has +[tag[asdf]] in it, transcluding
into filter search shows everything that's tagged asdf.. but I want to
do this for any number of filters.
- Use tagged tiddlers - I could make something like a "new journal
here" button, which would make a new tiddler tagged "filter" (or
something). Then, just transclude the text field of every tiddler tagged
- Use a field - I could also make a completely different "new"
button, that adds a filter to a field, and transclude the entire field.
Of course, I might be thinking about this entirely wrong. Maybe
Tiddlywiki is the wrong tool for this job. If it is, then I need something
else that can work in the wiki. Any ideas?
You received this message because you are subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email to email@example.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/4f68eed2-a5c2-4628-b098-ed153d432851%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.