Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 62535 invoked from network); 23 Apr 2004 09:45:46 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 23 Apr 2004 09:45:46 -0000 Received: (qmail 65922 invoked by uid 500); 23 Apr 2004 09:45:15 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 65883 invoked by uid 500); 23 Apr 2004 09:45:14 -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 65870 invoked from network); 23 Apr 2004 09:45:14 -0000 Received: from unknown (HELO pulse.betaversion.org) (62.140.213.123) by daedalus.apache.org with SMTP; 23 Apr 2004 09:45:14 -0000 Received: (qmail 8492 invoked from network); 23 Apr 2004 09:45:26 -0000 Received: from unknown (HELO apache.org) (stefano@127.0.0.1) by pulse.betaversion.org with SMTP; 23 Apr 2004 09:45:26 -0000 Message-ID: <4088E5C8.1080300@apache.org> Date: Fri, 23 Apr 2004 12:45:44 +0300 From: Stefano Mazzocchi Organization: Apache Software Foundation User-Agent: Mozilla Thunderbird 0.5+ (Macintosh/20040404) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@cocoon.apache.org Subject: Re: [RT] Use of flowscript or the pyramid of contracts (was Re:[RT] Checked exceptions considered harmful) References: <408103CA.105@s-und-n.de> <4081A3B8.1060303@apache.org> <4081A615.7060805@apache.org> <4082BF8E.5050608@s-und-n.de> <42368.10.0.0.5.1082335601.squirrel@ags01.agsoftware.dnsalias.com> <20040419073800.GC8987@wlkp.org> In-Reply-To: <20040419073800.GC8987@wlkp.org> Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms040507060003060206000203" 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 This is a cryptographically signed message in MIME format. --------------ms040507060003060206000203 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Leszek Gawron wrote: > On Sun, Apr 18, 2004 at 06:46:41PM -0600, Antonio Gallardo wrote: > >>Guido Casper dijo: >> >>>>I think that cocoon.getComponent(role) would be enough if writing those >>>>components would be as painless as writing flowscript. No need for more >>>>complex stuff. >>> >>>I don't think developers aren't eager to write reusable components. But >>>currently it's just that hard to come up with components really making >>>the user's life easier. >> >>Yep. One of the things that refrained us to write components is the too >>much overhead they have: >> >>1-Implementations of the lifecycle: Configurable, composable, etc. >>2-The (1) give you even more code to write based on the implementations >>you choosed in (1). >> >>And people just want to write a simple hello wold component. The question >>is how much lines I need to write. And when we realize it is more than 20 >>lines. We are lost. It is really the better way to do things? >> >>I think the key is in KISS. The Flow Engine is so popular because of his >>own simplicity. And that is cool. >> >>I realize that components are a diferents than FlowEngine scripts. But I >>try to sell the concept of easy components writing is what the users need. >>An alert is already out: People is starting to (ab)use of FlowEngine code >>because they feel it is easier to write the full logic on FlowEngine >>instead of writing a component. I think we need think about this fact. On >>the mail list are clear samples of how they are even making workarounds to >>make things works in Flow at any cost, even when using a component will be >>easier (you have full access to many thins and in flow you have not the >>same access). But the perception win in this case. >> >>Components are existed before Flow, but Flow is more popular than writing >>components, the question is why? > > flowscript + notepad vs. components + eclipse. and the winner concerning > development lifecycle time is: flowscript. > Flowscript is: > a) scripted > b) automatically reloaded by cocoon after changes without container restart. See? *this* is what I'm talking about. Now we made it easier to write flowscript than to write components, now we have to focus on making it easier to write components than flowscript. How? Chris' magic compiler classloader is the way to go, IMHO. Given a choice, people would like to use eclipse for their business logic, I'm sure, give them autocompletion and autoreload and logic will start floating from flow to components. keep in mind that with real blocks any class is a component, so no reason to implement the avalon lifecycle if you don't want to. -- Stefano. --------------ms040507060003060206000203 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIII7TCC AtEwggI6oAMCAQICAwsi0jANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UE ChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNv bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwHhcNMDMxMTEzMDE0OTU4WhcNMDQxMTEyMDE0OTU4 WjBEMR8wHQYDVQQDExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSEwHwYJKoZIhvcNAQkBFhJz dGVmYW5vQGFwYWNoZS5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2CMYD GJqn0K4hpdDlpgbFlGxlFh2mp5EZyY3cu9nmp2wcl+vGn1Wcc103mshOV7BYHnBnR9CBNI5E /l/S/hKj0jgd0jH9/aKqmExZkLWsC7kCLANKPPDFl/sPGTHnpkQhvUbDjlUZa/h77oVFowBg IZjdJWadNzssPJ5wnGdfuYr+4ZI2xEWjH0tZY6V4TpILRg/jp3F6x/avqjNGBA1KOp6OzXdh 0RfvXEMEXDu6AZTD+flQxOjKp+IHtSO7suwkKg9ffx7Gh2LGKE24sBNE8SEPYHRtchutpQh9 YFW30HVgLgq9rM8lUx6JA7D4akj/A2Wc3tr+BBqpUkvgm3b/AgMBAAGjLzAtMB0GA1UdEQQW MBSBEnN0ZWZhbm9AYXBhY2hlLm9yZzAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GB AGfFFcM8lPwGLk1c5dHqMMbvR+i9MAWCNVoA2mHloOHW3Lv0peihvloRht8+lIK4+LpoygMQ beh+piuu/tcP+Z8W0Gee1pPiy0WfDbg5ZHfNvUswUSkoBP/nxL1yoHifBffxIm5IZNIxIj/l fStsMv5X8Tb/+KZY4T+iU/QU5t6UMIIC0TCCAjqgAwIBAgIDCyLSMA0GCSqGSIb3DQEBBAUA MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQu MSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTAeFw0wMzEx MTMwMTQ5NThaFw0wNDExMTIwMTQ5NThaMEQxHzAdBgNVBAMTFlRoYXd0ZSBGcmVlbWFpbCBN ZW1iZXIxITAfBgkqhkiG9w0BCQEWEnN0ZWZhbm9AYXBhY2hlLm9yZzCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALYIxgMYmqfQriGl0OWmBsWUbGUWHaankRnJjdy72eanbByX 68afVZxzXTeayE5XsFgecGdH0IE0jkT+X9L+EqPSOB3SMf39oqqYTFmQtawLuQIsA0o88MWX +w8ZMeemRCG9RsOOVRlr+HvuhUWjAGAhmN0lZp03Oyw8nnCcZ1+5iv7hkjbERaMfS1ljpXhO kgtGD+OncXrH9q+qM0YEDUo6no7Nd2HRF+9cQwRcO7oBlMP5+VDE6Mqn4ge1I7uy7CQqD19/ HsaHYsYoTbiwE0TxIQ9gdG1yG62lCH1gVbfQdWAuCr2szyVTHokDsPhqSP8DZZze2v4EGqlS S+Cbdv8CAwEAAaMvMC0wHQYDVR0RBBYwFIESc3RlZmFub0BhcGFjaGUub3JnMAwGA1UdEwEB /wQCMAAwDQYJKoZIhvcNAQEEBQADgYEAZ8UVwzyU/AYuTVzl0eowxu9H6L0wBYI1WgDaYeWg 4dbcu/Sl6KG+WhGG3z6Ugrj4umjKAxBt6H6mK67+1w/5nxbQZ57Wk+LLRZ8NuDlkd829SzBR KSgE/+fEvXKgeJ8F9/Eibkhk0jEiP+V9K2wy/lfxNv/4pljhP6JT9BTm3pQwggM/MIICqKAD AgECAgENMA0GCSqGSIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVy biBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5n MSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtU aGF3dGUgUGVyc29uYWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZy ZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMwNzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQsw CQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoG A1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcN AQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUEcJ3f6f+jHuy9zfVb8hp2vX8MOmHy v1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/EfkTYkKhPPK9Xzgnc9A74r/rsY Pge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMBAAGjgZQwgZEwEgYDVR0T AQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3JsLnRoYXd0ZS5jb20v VGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYDVR0RBCIwIKQe MBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GBAEiM0VCD 6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+hLGZ GwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDOzCCAzcCAQEwaTBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMc VGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFs IEZyZWVtYWlsIElzc3VpbmcgQ0ECAwsi0jAJBgUrDgMCGgUAoIIBpzAYBgkqhkiG9w0BCQMx CwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNDA0MjMwOTQ1NDRaMCMGCSqGSIb3DQEJ BDEWBBQq2VKVtQJIPsmYFmyZklFWSOFfyjBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMH MA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIB KDB4BgkrBgEEAYI3EAQxazBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29u c3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwg SXNzdWluZyBDQQIDCyLSMHoGCyqGSIb3DQEJEAILMWugaTBiMQswCQYDVQQGEwJaQTElMCMG A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl cnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAwsi0jANBgkqhkiG9w0BAQEFAASCAQBo7dkl PoIYyEfMtMAD/JZ/7djr7PAuifS2mHXF+3ZHRrtKJjzvyAVS8HYLwAuscQacczbhg3yCBjoP hfLuAHldfpVCk6AkQ0toASgJZ4gbmfBpSg62b9iDb20lIMLFbQop3w13dVcOapUmXgparz7i uWx2RzsiRMsVXyeg2CIuA8NvLn0RgSjyIAMACp2DKJGgSmh79xulaLHT1ldYdMvf3xsXrlV7 pSLh/Qz8SSovOFPSFRTghjcWMx3yR4NYZR+P7gatglQ7HPqCuPWasRms8cxky71dIitHgYmf JnzDYisUnQmbmOYPedQlZ1ck/15638j8NkBHE1BUh3WW2X3aAAAAAAAA --------------ms040507060003060206000203--