Thorsten Scherler wrote:
On Thu, 2007-01-18 at 09:19 +0000, Ross Gardler wrote:
Thorsten Scherler wrote:
The ultimate changes in the dispatcher have been mainly allowing plugins
to provide dispatcher based resources by ad.

We now support:
- contracts
- x (tiles)
- resources

I think we should allow url related structurer as well.
Meaning e.g. the solr plugin could provide via
resources/structurer/url/solr-search-adv.fv an advanced search form.
One could then use it in the project like
http://localhost:8888/solr-search-adv.html and it would match the
default implementation if no project one can be found.

wdyt?
There is precedent for this in various plugins (including projectInfo).

If possible, I'd recommend making the URL configurable from the locationmap just in case there is ever a clash with a users urlspace.

Yeah, about the url space:
What I recommend is:
Index: org.apache.forrest.plugin.internal.dispatcher/locationmap.xml
===================================================================
--- org.apache.forrest.plugin.internal.dispatcher/locationmap.xml
(revision 497342)
+++ org.apache.forrest.plugin.internal.dispatcher/locationmap.xml
(working copy)
@@ -228,6 +228,8 @@
             project-based theme-based = directory-based /
parent-directory based (recursively) -->
                     <location src="{uri}" />
                 </act>
+                <!--  plugin provided Structurer -->
+                <location src="{lm:resolvePluginStructurer.{1}}" />
                 <!-- themes-dir: project-application-based
theme-dir-based -->
                 <location
src="{lm:themer.project.dir}/{properties:dispatcher.theme}{properties:dispatcher.theme-ext}"

That's the ability to override the source url space, I was thinking of the client urlspace. the above doesn't help if a site already has "solr-search-adv.html" or a match for something like "solr*.html" in their project sitemap.

 i.e.

<match pattern="{properties:solr-search-adv}">

We can use {properties:*} in the pattern, right?


Not sure, whether one can use input modules in the pattern. Could be.

If we can it solves the problem. but I don't think i ever tried it. It's a minor problem though, if it doesn't work there are other workarounds so don't sweat it.

Ross