Return-Path: Delivered-To: apmail-cocoon-users-archive@www.apache.org Received: (qmail 77861 invoked from network); 4 Jun 2007 15:37:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Jun 2007 15:37:32 -0000 Received: (qmail 14300 invoked by uid 500); 4 Jun 2007 15:37:31 -0000 Delivered-To: apmail-cocoon-users-archive@cocoon.apache.org Received: (qmail 14212 invoked by uid 500); 4 Jun 2007 15:37:31 -0000 Mailing-List: contact users-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: users@cocoon.apache.org List-Id: Delivered-To: mailing list users@cocoon.apache.org Received: (qmail 14201 invoked by uid 99); 4 Jun 2007 15:37:31 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Jun 2007 08:37:31 -0700 X-ASF-Spam-Status: No, hits=1.3 required=10.0 tests=RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ap-cocoon-users@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from [80.91.229.2] (HELO ciao.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Jun 2007 08:37:27 -0700 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1HvEbp-0000Mk-5N for users@cocoon.apache.org; Mon, 04 Jun 2007 17:36:41 +0200 Received: from 217.244.9.5 ([217.244.9.5]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 04 Jun 2007 17:36:41 +0200 Received: from alexander.klimetschek by 217.244.9.5 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 04 Jun 2007 17:36:41 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: users@cocoon.apache.org From: Alexander Klimetschek Subject: Re: Cocoon Forms vs. JSF Date: Mon, 04 Jun 2007 17:36:06 +0200 Lines: 43 Message-ID: References: <003901c7a691$9fa974a0$6501a8c0@schlichtherle.de> <46641307.7030902@dslextreme.com> <009301c7a6af$a9f6f450$6501a8c0@schlichtherle.de> <46641E9B.1020707@weitling.net> <466440F0020000D40000644D@cs-emo.csir.co.za> <00ae01c7a6b8$8ac3a7a0$6501a8c0@schlichtherle.de> <466429CF.3030406@weitling.net> 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: 217.244.9.5 User-Agent: Thunderbird 2.0.0.0 (Macintosh/20070326) In-Reply-To: <466429CF.3030406@weitling.net> Sender: news X-Virus-Checked: Checked by ClamAV on apache.org I personally like the features of Cocoon Forms and the easy flow with continuations, but I see the problem of two many files for a single form as well. And if you don't need continuations then the advantages of Cforms melt... One of the key concepts of CForms is to be output-format neutral: so it could be HTML (Forms) and... ehm... wait... XForms... And that's the problem when you only work with HTML (and I'd be interested to hear if someone doing something else) - the overall "pipeline" gets very long: Flowscript Data (maybe XML) Form Binding (standard/Java code) Form Definition (XML) Form Template (XML with a bit of HTML) Form Instance (XML - you don't write it, but you need to know it for matching in the stylesheets below) form2html standard stylesheet (XSL) form2html custom stylesheet (some html2html general stylesheet for your app) So if you care about your user interface and want to tweak the HTML code that gets produced, you have quite a hard time figuring out how to write your form2html custom stylesheet. And often I sit there and have to think quite a while to make the decision where to put stuff. For example you often put HTML into the form template - but sometimes this could be put into the form2html as well. And finally I practically see little value in splitting definition and template - the cases where you re-use your definition in multiple templates are very very few - and that's the only reason for the split up AFAIK, apart from general abstraction of the data model. But you probably have two data model abstractions anyway: in your Java code and/or in your database scheme. Ok, enough rant, continuations, validation, javascript action handlers and ajax on/off are very good features ;-) Alex -- Alexander Klimetschek http://www.mindquarry.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org For additional commands, e-mail: users-help@cocoon.apache.org