Return-Path: Delivered-To: apmail-forrest-dev-archive@www.apache.org Received: (qmail 9938 invoked from network); 7 Nov 2004 22:09:17 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 7 Nov 2004 22:09:17 -0000 Received: (qmail 52285 invoked by uid 500); 7 Nov 2004 22:09:16 -0000 Delivered-To: apmail-forrest-dev-archive@forrest.apache.org Received: (qmail 52171 invoked by uid 500); 7 Nov 2004 22:09:16 -0000 Mailing-List: contact dev-help@forrest.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@forrest.apache.org Delivered-To: mailing list dev@forrest.apache.org Received: (qmail 52154 invoked by uid 99); 7 Nov 2004 22:09:16 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of cjxaf-forrest-dev-1@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from [80.91.229.2] (HELO main.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.28) with ESMTP; Sun, 07 Nov 2004 14:09:14 -0800 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1CQvDj-0007GR-00 for ; Sun, 07 Nov 2004 23:09:11 +0100 Received: from ppp-82-84-148-156.cust-adsl.tiscali.it ([82.84.148.156]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 07 Nov 2004 23:09:11 +0100 Received: from nicolaken by ppp-82-84-148-156.cust-adsl.tiscali.it with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 07 Nov 2004 23:09:11 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: dev@forrest.apache.org From: Nicola Ken Barozzi Subject: Re: [RT] plugin infrastructure Date: Sun, 07 Nov 2004 23:09:08 +0100 Lines: 57 Message-ID: References: <4188E497.4080803@apache.org> <418BB394.3090909@apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: ppp-82-84-148-156.cust-adsl.tiscali.it User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103) X-Accept-Language: en-us, en In-Reply-To: Sender: news X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Nicola Ken Barozzi wrote: > Ross Gardler wrote: ... >>>> My Proposal >>>> =========== I'll add something to my previous mail. When replying, please stitch the two together :-) >>>> Each plugin should be able to provide three sitemaps rather than the >>>> current 1. When Dave has asked to rename the last plugin to show that it's an output plugin, alarm bells started ringing in my head. I had not pondered it enough, and the separation that was hinted became clearly needed. IOW, I now understand what probably has been plain obvious to all others :-) : we *must* have each plugin use only one of the following sitemaps. >>>> - sitemap.xmap - this provides the infrastructure matchers (i.e. >>>> site.xml, faq.xml, issues.xml), as such it will be mounted before >>>> *any* of the Forrest matches. This sitemap can override any >>>> behaviour within Forrest) >>>> >>>> - source.xmap - this provides the source matchers (i.e. **.xml), it >>>> is mounted in forrest.xmap before the default forrest **.xml >>>> behaviour and therefore can override that default behaviour but it >>>> will not interfere with any internal Forrest infrastructure matches, >>>> or any other plugins infrastructure matches. >>>> >>>> - output.xmap - this provides (surprise!) the output matchers (i.e. >>>> **.html, **.pdf, **.slides), it is mounted before any of the default >>>> matchers for Forrest and so can override this default behaviour >>>> >>>> Ideally, each plugin should only provide one of these three >>>> sitemaps. I believe this will help us to define a sensible >>>> granularity for the plugins. However, further exploration of use >>>> cases may show otherwise and therefore we should make it legal (but >>>> not encouraged) to implement more than one of them. As said above, it seems that we now have to make it unlegal. This gives us the problem of libraries and components in each plugin, as more plugins can need the same jars or cocoon xconf extensions. Hmmm... Also, we have to define a contract with plugins, so that they use an inputmodule to get the source files and the requested uri, in case we will go to plugin dependencies, and or the locationmap inserted later. -- Nicola Ken Barozzi nicolaken@apache.org - verba volant, scripta manent - (discussions get forgotten, just code remains) ---------------------------------------------------------------------