Nacho

How about putting to togetehr a brief guide for "developing
components under Avalon" and posting it to the Wiki; best
practice develops when people can clearly see alternative and
better ways of doing things!

Thanks
Derek

>>> [EMAIL PROTECTED] 2004/05/03 06:28:55 PM >>>
beyaNet Consultancy wrote:

> Hi,
> as I started this whole kettle of fish discussion, I fully support and 
> use the sitemap, flowscript, jxt combination. in my opinion trying to 
> use the sitemap to determine the flow of a site can become too 
> complicated produce and maintain in a very short time! And as for the 
> use of Avalon/Actions, that itself can be too complex a solution to 
> most problems I have had to deal with...
>
>> I just wanted to add my 0.02€.
>

    These are my 0.02€.. (we are reaching the 500€ bill mark any moment 
now :) )

    I' ve been developing with cocoon for a couple of years now, and 
still find new ways of doing things from time to time. Cocoon is 
**huge**, and that is both a pro and a con for a framework. The first 
time I came into cocoon I was having a sabatic half-year between 
start-ups and had some time to tinker and toy arround with the samples 
to get used to cocoon's feeling.  If I discovered cocoon now, I don't 
think I could have the time to learn how to use it and make my customers 
profit from my experience.
   
    It happened me with struts before.. It looked great, but I just 
didn't have the time to pause and refractor my (then) current project 
into struts, so I kept working with jsp and ignored a tecnology that 
could have improved the results. Cocoon is so horizontally spread, that 
it makes the first step very hard for begginners.. I remember doing the 
"Web Application HOWTO" and then, a week later, learning that that was 
not the way to do it, that there were far more efficient ways.

    Even now, when I finish a cocoon project and deploy it, I keep on 
thinking that maybe is not the correct way to do it, maybe there is a 
more efficient/quicker/higher performance way to implement the kind of 
project I've just finished. I refractored my first project 4 times until 
i settled down on the (XSP+Actions+Sitemap) combination. For the next 
one, I jumped to the (Flowscript+Woody+XSP) combo, and I thought I had 
settled in the  (Flow + Avalon component +Woody + XSP) until I started 
refractoring to JXTemplates my last project.

    IMHO, Cocoon needs to slim down and clean up (the blocks effort 
points the right way, but is not enough) and lead the way for beginners. 
I think that's the weakest link in cocoon. The samples are great to get 
used to the different tecnologies you can use, the wiki is fantastic for 
people already developing, but a list of "best behaviours" for common 
cases would really make newbies more confortable.
   
    An example of what I mean... Right now there's a pet shop example in 
the distibution. The same pet shop is implemented in several ways. 
That's great for me, because I do want to learn all about cocoon, but 
most of the potential users that come across cocoon and install it for 
the first time will only get more and more confused by looking at 
several ways of doing the same thing. For them, it'd be easier to find 
five different examples (typical webapps) and the 'best' way to 
implement them, and a small guide to their probable needs.  Most of the 
people want to be lead, not many want to be a pathfinder.

>> It's undoubtedly true that you can abuse flowscript and implement too
>> much business logic in it. At my company, we are probably guilty of
>> this, in a sense. We tend to implement things with Javascript because
>> the roundtrip time between editing and testing is so short: no need to
>> recompile and restart the container to test results.
>
> Our policy is that putting business logic in the flowscript is to be
> considered OK in a prototyping stage. Once the prototype is tested, you
> should reimplement it in a Java method or class. Of course, this takes
> discipline and sometimes the move-to-Java stage can be postponed (or
> forgotten) due to deadline pressure, as always. 



    Is the debbuging improvement worth the effort of translation? I do 
my bussiness logic as an Avalon Component, and I call the component from 
the sitemap when needed.. I find it a little bit hard to debug, but 
keeps the code clean and concerns as separate as I need them.

>> One more thing: you mentioned editing cocoon.xconf as a typical step
>> when you're defining a new business object. Well, I see cocoon.xconf as
>> something that should be hidden from view as much as possible. I don't
>> want less-experienced developers touch it and risk breaking the build
>> because of a misconfigured component. I don't even want myself being
>> subjected to the pain of dealing with it.
>
That's one of my complains.. I have to restart cocoon 5 times a minute 
when developing components and touch the cocoon.xconf file.  That's not 
very clean.. There should be a way of dynamically loading components 
into cocoon/avalon. Maybe someone with avalon debugging experience and 
show us the way here..

>> IMHO, Avalon is much harder than it should be. If we have to live with
>> it, for the time being, I want to implement a full-fledged Avalon
>> component only for exceptional cases. I think a POJO, compiled
>

It took me a while to get used to Avalon, but right now I do set up my 
components there, and I like not to have to think about logging, 
database conectivity and so on... It really pays of..

With my current set up I did an online newspaper in 3 days (cut the 
designer's PNGs  into XSLT/CSS, set up some woody forms and an avalon 
module for writing articles and covers into an exist database, an easy 
authentication for the article writers, some sitemap hocus pocus and 
voila! The customer was quite impressed with the speed of development.)

Greetings to all

Nacho Jimenez.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED] 
For additional commands, e-mail: [EMAIL PROTECTED] 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
MailScanner thanks transtec Computers for their support.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to