There is a real use case behind the sort and count operations -
replacing the current generateRss code with a filter, but that might
be such a specialist use case that the operations are not used for
anything else.
Martin
Great summary! (Disclaimer: As far as I can tell, not being intimately
familiar with the technical details... )
From a user's perspective, I'm very much in favor of supporting boolean
constructions.
That's because many people right now are using complex ForEachTiddler
macro calls for rather mundane issues.
Much of this could be simplified with such "filter queries", which would
also enable regular users to harness TiddlyWiki's data-processing
capabilities - which in turn could lead to more innovation.
(Disclaimer: I might be completely missing the point here... )
With regards to backwards compatibility, I believe this would be worth
risking to break some DefaultTiddlers. Any errors should be immediately
apparent to the respective authors, and very easy to fix.
Obviously, we'd need to mention this in the release notes.
-- F.
As a general rule-of-thumb, you should always try to use a core-
provided 'access function' whenever practical. This ensures that any
changes in the core will be automatically applied to your code,
without having to replicate those changes locally.
It also helps to ensure that your code will 'play well' with plugins
that extend the logic and data handling of various core functions.
For example, IncludePlugin modifies several common core functions that
access the tiddler 'store' data, such as getTaggedTiddlers(), so that
they will be able to access tiddlers that have been loaded into the
*separate* store objects created on-the-fly by IncludePlugin. Thus,
by using getTaggedTiddlers() in your filterTiddlers() code, it will
also have access to 'included' tiddlers, even though your code has no
special knowledge of IncludePlugin's implementation.
-e
The alphabetic ordering of how plugins are loaded keeps tripping me up!
> In addition, a plugin *is* just a tiddler, so why not give it a name
> that is a proper WikiWord...
I ended up renaming a "LogMessagePlugin" to "_LogMessagePlugin"
to game the sort order, and keep it as a WikiWord ..
I'm not happy with this hack, and would prefer to have some more
reliable way of ordering the loading of plugins.
Didn't someone have a proposal for dependency chaining?