Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 67240 invoked from network); 19 Sep 2003 07:35:40 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 19 Sep 2003 07:35:40 -0000 Received: (qmail 9976 invoked by uid 500); 19 Sep 2003 07:35:11 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 9902 invoked by uid 500); 19 Sep 2003 07:35:10 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 9889 invoked from network); 19 Sep 2003 07:35:10 -0000 Received: from unknown (HELO confixx.bestiole.ch) (66.111.0.243) by daedalus.apache.org with SMTP; 19 Sep 2003 07:35:10 -0000 Received: from codeconsult.ch (lsb-catv-6-p105.vtxnet.ch [212.147.121.105]) by confixx.bestiole.ch (8.11.6/8.11.6) with ESMTP id h8J7ZLP12523 for ; Fri, 19 Sep 2003 09:35:21 +0200 Date: Fri, 19 Sep 2003 09:35:23 +0200 Subject: Re: Real blocks: some thoughts and questions Content-Type: text/plain; charset=ISO-8859-1; format=flowed Mime-Version: 1.0 (Apple Message framework v552) From: Bertrand Delacretaz To: dev@cocoon.apache.org Content-Transfer-Encoding: quoted-printable In-Reply-To: <1063303859.1381.369.camel@yum.ot> Message-Id: X-Mailer: Apple Mail (2.552) X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Le Jeudi, 11 sep 2003, =E0 20:11 Europe/Zurich, Bruno Dumon a =E9crit : > ...Component lookup > ---------------- > I'm wondering how component lookup will work. For example, suppose I > have a block where I want to use FOP, i.e. the fo2pdf serializer. I'll > make my block depend on the fop blok (or the more generic > cob:apache.org/cocoon/fo2pdf role). Now how will using the serializer > work? I assume I won't have to declare it in the map:components = section > of my sitemap anymore, since the instances of that serializer will be > managed by the component manager of the fop block. So I'll just be = able > to write somewhere: > > > > Now how will the component manager know which of the depended blocks = to > ask for this component?... Do you mean, a) how to select the component if several blocks provide=20 it, or b) how to avoid wasting time by asking all blocks? For a) I'd say the block manager has to assign priorities to blocks, in=20= case there are multiple choices. For blocks which extend others it is=20 clear, but for "siblings" blocks some rule will have to be set, either=20= configurable priorities or loading order (dangerous if it is not=20 deterministic), and careful logging of choices to be able to trace=20 what's happening (also between core and blocks components). For b), I think the block manager will need one or several lookup maps=20= to be able to quickly find components by role, name and maybe other=20 criteria. -Bertrand=