Return-Path: Delivered-To: apmail-xml-cocoon-dev-archive@xml.apache.org Received: (qmail 8010 invoked by uid 500); 3 Apr 2002 14:42:40 -0000 Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: cocoon-dev@xml.apache.org Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 7951 invoked from network); 3 Apr 2002 14:42:39 -0000 X-Antivirus-Data: Virus data file v4189 created Mar 06 2002 Message-ID: <3CAB091D.22DCB906@apache.org> Date: Wed, 03 Apr 2002 15:52:29 +0200 From: Stefano Mazzocchi X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: cocoon-dev@xml.apache.org Subject: Re: [VOTE] (was: [RT]: Merging Stream And Event Pipeline) References: <3CAAB142.2020301@anyware-tech.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Sylvain Wallez wrote: > Yeah, I know Stefano doesn't like that, but so many people feel the need > for it... So Stefano, if you don't like that, please give us a cool > explanation like the one you gave for "views from last label". IIRC this > has to do with cacheability, but CachingStreamPipeline has some > provision for cacheable serializers. So ? When I designed the pipelines for Cocoon2, I thought about serializers as a mix between a 'facade' and an 'adapter': pipelines are SAX based, but the world is octet based, so we needed a way to 'adapt' between the two. In this regard, the serializer is a commodity. In theory, is not even part of the pipeline, but it's the final step to 'adapt the result to the outside world'. Some serializers, then became more complex and performed juicy functionalities, but only to 'adapt' to other worlds (PDF or JPG for clients unable to handle FO or SVG directly). Now, if you think as serializers as 'wrappers' of SAX output, you also understand why 'internal pipelines' don't need them and you also understand why 'pipeline views' need serializers as well. But you also understand why I don't want serializers to be regular sitemap components: because they should *not* change the result of the pipeline, they are just adapters!!!! Now: if we *design* serializers *not* to mess with the content of the stream, just to 'adapt' it to some other world, we don't need to make the caches aware of them!!! because, from the caching perspective, having an FO document or the translated PDF doesn't matter if the 'serializing behavior' can be considered unchangeable. So, I still remain -1 on this also because it forces people to think differenently and factor-out the logic that requires access to the rest of the pipeline components into a transformer and place that *before* the serializer. This makes it also possible to 'reuse' that refactored logic outside of the serializer. So I remain -1 until one exposes me with an example that it can't be refactored in such a way (or it is more elegant *not* to refactor it in such a way). -- Stefano Mazzocchi One must still have chaos in oneself to be able to give birth to a dancing star. Friedrich Nietzsche -------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org For additional commands, email: cocoon-dev-help@xml.apache.org