forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thorsten Scherler <thorsten.scherler....@juntadeandalucia.es>
Subject Re: url based structurer from plugins
Date Thu, 18 Jan 2007 10:39:36 GMT
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}"

The downside is that an user would need to provide his own
implementation on the used url structurer if he does not want to use the
plugin structurer.

Meaning one would need to implement 
<match pattern="resolvePluginStructurer.solr-search-adv" /> in the lm
and add a structurer
{properties:resources}/structurer/url/solr-search-adv.fv

The problem resulting is that a plugin would need to report that it
reserved an url space and explain how to override it.

>  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.

salu2

> Ross
> 


Mime
View raw message