The built in search functionality in MT does fine, but at times I've found
myself needing
something more or different in my work. What I've wished for was a pluggable
search
facilities like MT's template engine.
In scratching my own itch, I've thrown down the gaunlet and finally done
something about
it. I've created MT::XSearch an extensible framework for creating "search
plugins" for
Movable Type. Before I go too far, I wanted to release it to the members of this
mailing list
to solict some feedback on its operation and API. You can download it here:
http://www.timaoutloud.org/code/mt/MT-XSearch0.2.tar.gz
It currently should be considered ALPHA code. The API and feature sets may
change based
on the feedback I get here. Its NOT recommended for use in the wild.
I endeavored to keep with the spirit of MT and based much of the design on MT's
API and
its existing search tags. I've also tried to keep it simple while maximizing
flexibility and
extensibility.
A couple of other quick notes:
* In the generic search script (mt-xsearch.cgi), I require a blog_id parameter
to be passed
in. I didn't want to limit searches to a specific weblog, but MT's template
engine requires a
template is. This parameter is only used for retrieving the template. A plugin
can chose to
ignore it. I'm trying to think of a more elegant solution.
* I had hope to create a somewhat standardized interface for submitting searches
to
plugins for the sake of interoperability (of Web forms etc) and users sanity
while trying to
remain flexible and extensible. I've taken a stab at it with one required
parameter and a
few optional others with defaults, but do nothing to enforce it. I'm unsure that
I've done all
I could or perhaps I shouldn't worry at all. (Thinking outloud again.)
* All the files have embedded POD documentation that could use some work. (Of
course!)
Thoughts? Please post your feedback to this mailing list. I'd like for this to
be a community
discussion. Thanks.
<tim/>