Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 5868 invoked from network); 7 Apr 2004 10:34:44 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 7 Apr 2004 10:34:44 -0000 Received: (qmail 8544 invoked by uid 500); 7 Apr 2004 10:34:39 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 8421 invoked by uid 500); 7 Apr 2004 10:34:38 -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 8407 invoked from network); 7 Apr 2004 10:34:38 -0000 Received: from unknown (HELO smtp02.myhosting.com) (168.144.68.182) by daedalus.apache.org with SMTP; 7 Apr 2004 10:34:38 -0000 Received: from lagrange ([81.225.125.114]) by smtp02.myhosting.com (Merak 7.1.0) with ASMTP id DXA74513 for ; Wed, 07 Apr 2004 06:34:37 -0400 From: "Leo Sutic" To: Subject: RE: [Kernel22] How to develop a component? Date: Wed, 7 Apr 2004 12:34:36 +0200 Message-ID: <022101c41c8b$ed1959f0$0801a8c0@lagrange> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2627 Importance: Normal In-Reply-To: <40732D5C.9040605@apache.org> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 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 > From: Stefano Mazzocchi [mailto:stefano@apache.org] > > So, like we already said before, it is *totally* possible to have a > block load avalon components thru an avalon sandbox (sort of a > avalon->cocoon adapter). This allows you to reuse your avalon > stuff "AS IS". But this also means that your block cannot expose those > components outside of that block. I don't think so. The fact that Avalon doesn't support hotswap in all cases does not mean that you can't write Avalon components that do support such a thing. Look at Composer.acquire() - does it matter if the object returned is a proxy to some internal Avalon object? No! You can have: +Block-------------------------------------------+ | +-+Component | | +Composer--+ +ECM----+ | | | | |----| |--+-+Component | | +----------+ +-------+ | | | +-+Component | +------------------------------------------------+ And then expose the components managed by the ECM via a proxy. However, those components must either: ...be written in such a way as to support the additional requirements that Cocoon has ...or have that functionality added via proxying etc. So I think Carsten's (and my) business logic, and all our Avalon components that we use across multiple projects and containers are perfectly safe. /LS