forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <rgard...@apache.org>
Subject URI conventions for plugins
Date Tue, 04 Jan 2005 13:16:58 GMT
As I build more and more plugins I am finding that there is an 
increasing opportunity for collisions in the URI space. This is caused 
by plugins needing to have a unique URI pattern so that they know when 
they are to process a request.

For example, if the slides plugin is installed there are two possible 
HTML representations of a page, the standard Forrest one and the slides 
one. I think it is time to define a standard that plugins should adhere 
to. The question is, what should this standard be?

What I have done so far (for historical reasons rather than by design) 
is to have something in the URI that indicates when we want a slide, e.g.:

http://domain.org/slides_s5/index.html

this would display http://domain.org/index.html as a slideshow rather 
than as a standard Forrest page.

More recently I have found myself using a more rigid scheme:

http://domain.org/do/ACTION/index.html

this would be used to, for example, edit index.html using htmlArea 
(ACTION would be replaced with edit_htmlArea).

http://domain.org/get/STYLE/index.html

this would be used to retrieve a specific format, for examples, slides.

We could use request parameters (e.g. action=edit&plugin=htmlArea), 
however, I'm not sure if Cocoon can match on parameters (if someone 
knows how please provide a simple example).

In the past it has been suggested that an extra file "extension" could 
identify the format needed, for example:

http://domain.org/index.slides_s5.html

and

http://domain.org/index.edit_htmlArea.html

You will note that I have been including a shortened version of the 
plugin name. I'm not sure if this is necessary since even though there 
may be more than one plugin providing specific functionality (e.g. 
editing with htmlArea, or with Kupu), it is unlikley that any one 
project will use multiple plugins of the same type (or is it?).

So are any of these formats suitable? Which should we document as the 
standard:

In the examples below ACTION is the name of something that is to be done 
to a file (e.g. edit), STYLE is the display style (e.g. slides).

http://domain.org/index.[ACTION | STYLE].FILENAME.FORMATEXTENSION


http://domain.org/[do | get]/[ACTION | STYLE]/FILENAME.FORMATEXTENSION


http://domain.org/FILENAME.FORMATEXTENSION?action=ACTION

Comments/suggestions?

Ross


-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.6.8 - Release Date: 03/01/2005


Mime
View raw message