Re: Rendering multiple zone in nested component.

2014-03-27 Thread abangkis
Hai Geoff thanks a lot for trying :)

I try to explain it better. Basically I have a survey object, that contains
survey info and list of section object. The section object contains section
info and list of question object. What we want to do is give the user the
ability to fill the survey info, section info and question info in a single
page (not moving between pages).

What the user will see is this. When the user first open the page, it will
only show the survey info form. After the user submit the survey form. Then
the form fields will change to read only mode and the sections info form
will be shown. We do this  by using 3 block and 2 zone. Survey Input block
and Survey view block for the survey zone. And Section Input block for the
section zone. Rendering multiple zone when the Survey info form is
submitted is done using the ajax renderer. It's pretty simple.

Filling the section and the question info will follow the same pattern. So
we create a SectionHolder component and Question Holder component. Using
the same code as the page (2 zone that will render 3 block using ajax
renderer). Hoping that with a component the code will be modular and easier
to maintain. There is where we found the problem. It seems we can't use
nested component with the ajax renderer. Yes probably tapestry 5.4 will
handle this better, but unfortunately we're still stuck with Tap 5.3.

As a workaround we put all of the code in a single page. So far the code
seems to work. But we still think that separating the editor into its own
component is the better approach. So let us know if anyone succeeded
implementing this :)

Thanks.




On Thu, Mar 27, 2014 at 5:52 AM, Geoff Callender 
geoff.callender.jumpst...@gmail.com wrote:

 Sorry, I tried to draw a model of your page but I don't quite get it.

 The techniques used in that JumpStart page's components may have a problem
 when they're nested deeper. They're done better in the JumpStart preview
 for T5.4:


 http://jumpstart.doublenegative.com.au/jumpstart7/together/ajaxcomponentscrud/persons

 A key improvement is the passing of the component's context in each
 request, and using them to restore the component's parameters, rather than
 relying on the page context and @ActivationRequestParameter.

 I don't know if these thoughts are addressing the source of your problem,
 but I hope they help.

 Cheers,

 Geoff

 On 27/03/2014, at 1:42 AM, abangkis wrote:

  Or maybe someone has an example of a single page site made with tapestry.
  I've tried jumpstart
 
 http://jumpstart.doublenegative.com.au/jumpstart/together/ajaxcomponentscrud/personsit's
  something similar but able to be nested 3-4 component deep.
 
  Thanks for any clue.
 
  Cheers.
 
 
  On Tue, Mar 25, 2014 at 3:18 PM, abangkis abang...@gmail.com wrote:
 
  Hello,
 
  I have 3 nested object. A survey, a section and a question. A survey
 will
  contain sections and a section will contain questions. I want to create
 a
  single page editor for this nested object using ajax.
 
  In add survey page i have created two zone, survey zone and
  sectionListZone. The survey zone content will depend on a flag. It can
 show
  an input form for the survey or a view of the survey data. The
  sectionListZone content is a SectionHolder component (custom component
 for
  handling the section).
 
  The SectionHolder component also contains two zone, sZone and qZone. The
  sZone content also depend on a flag, to show an input form for the
 section
  or to view the section data. The qZone content is a QuestionHolder
  component (custom component for handling the questions).
 
  I've managed to create the add survey page to add  view the survey
 data.
  I also manage to create the section holder component by using the same
  pattern as the add survey page (using ajax response renderer to render
 both
  zone when the form is submitted). The problem is in the SectionHolder
  component i can't render multiple zone using ajax renderer. Returning a
  block from onSuccess will work. But using ajax renderer to render the
 zone
  will result this error :
 
  Element 'sZone' does not have an associated Tapestry.ZoneManager object.
 
  Communication with the server failed: TypeError: Cannot call method
  'getStorage' of null
 
  Here's my code for the Add Survey page  the Section Holder.
  Thanks
 
  === Add Survey TML ===
 
  t:zone t:id=surveyZone id=surveyZone
  form t:type=form t:id=frmCreateSurvey t:zone=^
  div
  t:delegate to=surveyBlock/
  /div
  div
  t:errors/
  /div
  /form
 
  hr/
  /t:zone
 
  div
  t:zone t:id=sectionListZone id=sectionListZone
  t:delegate to=sectionListBlock/
  /t:zone
  /div
 
 t:block id=addSurveyBlock
  t:label for=title/
  t:textfield t:id=title value=survey?.title t:validate=required,
  maxlength=35 size=35/
  input type=submit value=Save
  class=btn btn-sm btn-primary/
  /t:block
  t:block id=viewSurveyBlock
  SURVEY BLOCK br/
  Title : ${survey?.title}
  a t:type=actionlink t:id=editSurvey 

RE: Updating a zone from a property method

2014-03-27 Thread Davide Vecchi
  That's not a workaround, it's a matter of what is called first.

In theory it could be both things, however I realized that you're right that 
it's not a workaround when I compare it to the structure outlined by Geoff, 
which sounds like the proper structure. It was sounding to me like a workaround 
because I believed that the proper structure was to retrieve the values only 
from the getter when Tapestry calls it, and not from setupRender, and this 
turned out to be wrong, so I no longer consider it a workaround.

Thanks Geoff for the thorough explanation, much appreciated. I actually had 
ended up doing basically that, except that from setupRender I explicitly call 
the getter to set up the value instead of calling a setupValue method, but the 
need to explicitly call the getter was actually the part that perplexed me. I 
think having a setupValue method called from setupRender that calculates the 
value and having the getter to simply return that value as in your example is 
much cleaner, I will go for that.

In my opinion it's also remarkable that the order in which the elements appear 
in the template made the difference. Now that it was mentioned it sounds 
obvious but I had not realized that earlier. If in the template of my initial 
example I just move the ${myValue} above the error zone, it works as I had 
expected, that is the message is shown, because the message is set in the 
getter which is now called before the error zone is rendered.
However I don't think it's a good idea to rely on the order of the elements in 
the template, so I will stick to calculating in setupRender the values for the 
getters to return.

Thanks all for the assistance !



-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Show and tell / New 5.4 app live.

2014-03-27 Thread Chris Mylonas
Maybe your recurring hosting will be further reduced George :)

http://aws.amazon.com/ec2/pricing/effective-april-2014/
On 24/03/2014 6:58 am, George Christman gchrist...@cardaddy.com wrote:

 Your absolutely correct, you can deff do better price wise with a VPS, but
 then again I don't believe you will get all the features and conveniences
 you get with aws for the same price. Being I'm by myself, the last thing I
 have time to deal with is hosting / server issues. If I was with aws
 before, I probably wouldn't have ever lost my old application grr.

 Included in that 59 dollars, I'm getting a load balancer, autoscaling, auto
 maintained servers, image server with backups which I believe is on a cdn
 network, redundant data centers (just hope we don't have another netflix
 issue lol), database server with auto backups, email relays, etc. So tons
 of great perks that helps to reduce thousands of dollars in labor /
 hardware.

 Another perk is the ability to whip up an entire environment in under
 15mins. Perhaps I find it cheap do to the fact I use to own all my own
 hardware in a colo which cost me thousands of dollars plus labor. Rack
 space alone was 1500/mo before hardware and labor, so aws to me seems like
 a slam dunk. I'll keep you posted as traffic continues to increase and the
 free tier goes away lol.


 On Fri, Mar 14, 2014 at 9:59 AM, George Christman
 gchrist...@cardaddy.comwrote:

  I'd like to first say thanks to all who have contributed to the on going
  evolution of Tapestry and it's support. I'm a long time user of Tapestry
  starting with version 3 in 2005 and I must say leaps and bounds have been
  made since then. I'd also like to say thanks to all who have continued to
  answer my never ending array of questions ;-) Thanks guys! It has been a
  pleasure working with you all.
 
  In 2008 we took a risk and decided to move forward with t5 beta over
  spring with the development of our new app. We experienced some short
 lived
  glorious times as we successfully processed hundreds of thousands of
 users
  and cars, however do to our nations elected official and his cash for
  clunkers program, it destroyed our market place forcing me to have to
  change our brand to CarDaddy.com.
 
  With the lack of success with the new brand I eventually had to move on
 to
  other opportunities.  I ended up taking a job with our state government
 and
  some contract work for a hotel wireless company, however along with my
  move, I decided to bring along my dear friend Tapestry5. Tapestry5 has
  ended up becoming an active platform within my organizations which we are
  now actively focused on building 5.4 apps. :)
 
  While being focused with my other work, my personal app which was still
  being ran on T5.1 was lacking support and ended up getting hacked
 (apache)
  three weeks ago by the Chinese bringing down my servers. This forced me
 to
  have to whip up a new application over the past three weeks by myself in
  5.4 and yup, that wasn't a typo, only three weeks and that includes
 mobile
  too, okay maybe they were 3 very long weeks, but I still managed to
 pulled
  it off and I don't think I could have without the help of T5.4, jquery,
  bootstrap etc :) Well I'd like to share my new app with the community
 while
  once again pushing out a beta app into production :) I realize there is a
  lot of room for improvement, so feel free to suggest away. Growth seems
 to
  be on the rise as traffic / inventory continue to increase daily and I
  don't have a doubt in my mind that Tapestry won't be up for the job.
 
  Once again, thank you guys for all you have done.
 
  New 5.4-beta3 site
  www.cardaddy.com
 
 
  Cheers,
  George
 
  --
  George Christman
  www.CarDaddy.com
  P.O. Box 735
  Johnstown, New York
 
 


 --
 George Christman
 www.CarDaddy.com
 P.O. Box 735
 Johnstown, New York



Re: Tapestry-security 0.6.0 relased!

2014-03-27 Thread Matthias

Nice, I like it :). Now I can work on my security issues.

On 26.03.2014 18:22, Kalle Korhonen wrote:

As hinted earlier, our first T5.4 compatible module, tapestry-security is
released. This release is primarily for compatibility, although I threw in
one, non-backwards compatible enhancements for optimized rememberMe cookies
because I felt it was the right time. The source has moved to
Githubhttps://github.com/tynamo/tapestry-security/
and the userguide is still at the familiar location at
http://tynamo.org/tapestry-security+guide. I've only recently started
working more on T5.4 codebase myself so keep the enhancements (and pull
requests!) coming as you see need. Open issues against the Github repo
please.

Release Notes - tapestry-security-0.6.0

** Improvement

 * [TYNAMO-147] - Make tapestry-security compatible with tapestry-5.4

** Task

 * [TYNAMO-236] - Migrate tapestry-security to tapestry 5.4 beta

** Github issue

#1: Implement a new default CookieRememberMeManager for creating smaller
rememberme cookies
https://github.com/tynamo/tapestry-security/issues/1(how do you get
release notes out from Github?)

Best,

Tynamo team




-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Rendering multiple zone in nested component.

2014-03-27 Thread Geoff Callender
I see nothing wrong with your nested components approach, and there is
nothing wrong with having a component render multiple zones as you are
doing. I don't know the cause of your client-side exception, but I think
your code must be very, very close to correct.

On Thursday, 27 March 2014, abangkis abang...@gmail.com wrote:

 Hai Geoff thanks a lot for trying :)

 I try to explain it better. Basically I have a survey object, that contains
 survey info and list of section object. The section object contains section
 info and list of question object. What we want to do is give the user the
 ability to fill the survey info, section info and question info in a single
 page (not moving between pages).

 What the user will see is this. When the user first open the page, it will
 only show the survey info form. After the user submit the survey form. Then
 the form fields will change to read only mode and the sections info form
 will be shown. We do this  by using 3 block and 2 zone. Survey Input block
 and Survey view block for the survey zone. And Section Input block for the
 section zone. Rendering multiple zone when the Survey info form is
 submitted is done using the ajax renderer. It's pretty simple.

 Filling the section and the question info will follow the same pattern. So
 we create a SectionHolder component and Question Holder component. Using
 the same code as the page (2 zone that will render 3 block using ajax
 renderer). Hoping that with a component the code will be modular and easier
 to maintain. There is where we found the problem. It seems we can't use
 nested component with the ajax renderer. Yes probably tapestry 5.4 will
 handle this better, but unfortunately we're still stuck with Tap 5.3.

 As a workaround we put all of the code in a single page. So far the code
 seems to work. But we still think that separating the editor into its own
 component is the better approach. So let us know if anyone succeeded
 implementing this :)

 Thanks.




 On Thu, Mar 27, 2014 at 5:52 AM, Geoff Callender 
 geoff.callender.jumpst...@gmail.com wrote:

  Sorry, I tried to draw a model of your page but I don't quite get it.
 
  The techniques used in that JumpStart page's components may have a
 problem
  when they're nested deeper. They're done better in the JumpStart preview
  for T5.4:
 
 
 
 http://jumpstart.doublenegative.com.au/jumpstart7/together/ajaxcomponentscrud/persons
 
  A key improvement is the passing of the component's context in each
  request, and using them to restore the component's parameters, rather
 than
  relying on the page context and @ActivationRequestParameter.
 
  I don't know if these thoughts are addressing the source of your problem,
  but I hope they help.
 
  Cheers,
 
  Geoff
 
  On 27/03/2014, at 1:42 AM, abangkis wrote:
 
   Or maybe someone has an example of a single page site made with
 tapestry.
   I've tried jumpstart
  
 
 http://jumpstart.doublenegative.com.au/jumpstart/together/ajaxcomponentscrud/personsit's
   something similar but able to be nested 3-4 component deep.
  
   Thanks for any clue.
  
   Cheers.
  
  
   On Tue, Mar 25, 2014 at 3:18 PM, abangkis abang...@gmail.com wrote:
  
   Hello,
  
   I have 3 nested object. A survey, a section and a question. A survey
  will
   contain sections and a section will contain questions. I want to
 create
  a
   single page editor for this nested object using ajax.
  
   In add survey page i have created two zone, survey zone and
   sectionListZone. The survey zone content will depend on a flag. It can
  show
   an input form for the survey or a view of the survey data. The
   sectionListZone content is a SectionHolder component (custom component
  for
   handling the section).
  
   The SectionHolder component also contains two zone, sZone and qZone.
 The
   sZone content also depend on a flag, to show an input form for the
  section
   or to view the section data. The qZone content is a QuestionHolder
   component (custom component for handling the questions).
  
   I've managed to create the add survey page to add  view the survey
  data.
   I also manage to create the section holder component by using the same
   pattern as the add survey page (using ajax response renderer to render
  both
   zone when the form is submitted). The problem is in the SectionHolder
   component i can't render multiple zone using ajax renderer. Returning
 a
   block from onSuccess will work. But using ajax renderer to render the
  zone
   will result this error :
  
   Element 'sZone' does not have an associated Tapestry.ZoneManager
 object.
  
   Communication with the server failed: TypeError: Cannot call method
   'getStorage' of null
  
   Here's my code for the Add Survey page  the Section Holder.
   Thanks
  
   === Add Survey TML ===
  
   t:zone t:id=surveyZone id=surveyZone
   form t:type=form t:id=frmCreateSurvey t:zone=^
   div
   t:delegate to=surveyBlock/
   /div
   div
   t:errors/
   /div
   /form
  
   hr/
   /t:zone
  
 

Re: Rendering multiple zone in nested component.

2014-03-27 Thread Geoff Callender
Right before you send the request that fails, if you use your browser's web
inspect the page DOM, can you see the sZone div? If not, then that's the
problem: the failing response would be referring to a zone that the client
doesn't know about. This looks quite likely since your conditional blocks
contain zones, as opposed to having your zones contain conditional blocks.

On Friday, 28 March 2014, Geoff Callender 
geoff.callender.jumpst...@gmail.com wrote:

 I see nothing wrong with your nested components approach, and there is
 nothing wrong with having a component render multiple zones as you are
 doing. I don't know the cause of your client-side exception, but I think
 your code must be very, very close to correct.

 On Thursday, 27 March 2014, abangkis 
 abang...@gmail.comjavascript:_e(%7B%7D,'cvml','abang...@gmail.com');
 wrote:

 Hai Geoff thanks a lot for trying :)

 I try to explain it better. Basically I have a survey object, that
 contains
 survey info and list of section object. The section object contains
 section
 info and list of question object. What we want to do is give the user the
 ability to fill the survey info, section info and question info in a
 single
 page (not moving between pages).

 What the user will see is this. When the user first open the page, it will
 only show the survey info form. After the user submit the survey form.
 Then
 the form fields will change to read only mode and the sections info form
 will be shown. We do this  by using 3 block and 2 zone. Survey Input block
 and Survey view block for the survey zone. And Section Input block for the
 section zone. Rendering multiple zone when the Survey info form is
 submitted is done using the ajax renderer. It's pretty simple.

 Filling the section and the question info will follow the same pattern. So
 we create a SectionHolder component and Question Holder component. Using
 the same code as the page (2 zone that will render 3 block using ajax
 renderer). Hoping that with a component the code will be modular and
 easier
 to maintain. There is where we found the problem. It seems we can't use
 nested component with the ajax renderer. Yes probably tapestry 5.4 will
 handle this better, but unfortunately we're still stuck with Tap 5.3.

 As a workaround we put all of the code in a single page. So far the code
 seems to work. But we still think that separating the editor into its own
 component is the better approach. So let us know if anyone succeeded
 implementing this :)

 Thanks.




 On Thu, Mar 27, 2014 at 5:52 AM, Geoff Callender 
 geoff.callender.jumpst...@gmail.com wrote:

  Sorry, I tried to draw a model of your page but I don't quite get it.
 
  The techniques used in that JumpStart page's components may have a
 problem
  when they're nested deeper. They're done better in the JumpStart preview
  for T5.4:
 
 
 
 http://jumpstart.doublenegative.com.au/jumpstart7/together/ajaxcomponentscrud/persons
 
  A key improvement is the passing of the component's context in each
  request, and using them to restore the component's parameters, rather
 than
  relying on the page context and @ActivationRequestParameter.
 
  I don't know if these thoughts are addressing the source of your
 problem,
  but I hope they help.
 
  Cheers,
 
  Geoff
 
  On 27/03/2014, at 1:42 AM, abangkis wrote:
 
   Or maybe someone has an example of a single page site made with
 tapestry.
   I've tried jumpstart
  
 
 http://jumpstart.doublenegative.com.au/jumpstart/together/ajaxcomponentscrud/personsit's
   something similar but able to be nested 3-4 component deep.
  
   Thanks for any clue.
  
   Cheers.
  
  
   On Tue, Mar 25, 2014 at 3:18 PM, abangkis abang...@gmail.com wrote:
  
   Hello,
  
   I have 3 nested object. A survey, a section and a question. A survey
  will
   contain sections and a section will contain questions. I want to
 create
  a
   single page editor for this nested object using ajax.
  
   In add survey page i have created two zone, survey zone and
   sectionListZone. The survey zone content will depend on a flag. It
 can
  show
   an input form for the survey or a view of the survey data. The
   sectionListZone content is a SectionHolder component (custom
 component
  for
   handling the section).
  
   The SectionHolder component also contains two zone, sZone and qZone.
 The
   sZone content also depend on a flag, to show an input form for the
  section
   or to view the section data. The qZone content is a QuestionHolder
   component (custom component for handling the questions).
  
   I've managed to create the add survey page to add  view the survey
  data.
   I also manage to create the section holder component by using the
 same
   pattern as the add survey page (using ajax response renderer to
 render
  both
   zone when the form is submitted). The problem is in the  
 t:delegate to=sectionListBlock
 -
  To unsubscribe, e-mail: 

Assets in component library

2014-03-27 Thread Nathan Quirynen
Hi,

I'm moving my components to a Tapestry component library. But I'm not
sure how to handle images used in those components.
Before I just put them in *src/main/webapp/images/* and then used *img
src=${context:/images/something.png /*

But what's the right way of handling images in a Tapestry library. I've
been trying different things without success.

1) Where do I put my images
2) How can I get the url to these images, also how if I need to get them
dynamically (use of AssetSource?)

Thanks


Re: Assets in component library

2014-03-27 Thread Thiago H de Paula Figueiredo
On Thu, 27 Mar 2014 12:19:41 -0300, Nathan Quirynen  
nat...@pensionarchitects.be wrote:



Hi,


Hi!


I'm moving my components to a Tapestry component library. But I'm not
sure how to handle images used in those components.
Before I just put them in *src/main/webapp/images/* and then used *img
src=${context:/images/something.png /*

But what's the right way of handling images in a Tapestry library. I've
been trying different things without success.

1) Where do I put my images


In the classpath. If you're using the Maven source folder structure, and  
it seems you do, /src/main/resources is the place.



2) How can I get the url to these images, also how if I need to get them
dynamically (use of AssetSource?)


${classpath:/images/something.png}

--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: Is there will be any Tapestry5 + AngularJS integration?

2014-03-27 Thread Kalle Korhonen
So.. what's the current best practice/front-runner for AngularJS
integration? I see several users, Michael Wyraz to name one, have tipped
their toes on AngularJS but I didn't find any sample sample apps, much less
definitive libraries on Github or elsewhere. There are several areas where
a small integration library would be able to help making them both work
together seamlessly.

Kalle


On Tue, May 21, 2013 at 7:10 PM, Thiago H de Paula Figueiredo 
thiag...@gmail.com wrote:

 On Tue, 21 May 2013 22:18:40 -0300, Howard Lewis Ship hls...@gmail.com
 wrote:

  That's OK; that's the future direction of all web applications,


 1 year in the futre? 5? 10?

 I don't see that coming, at least not for most of webapps. Single page
 webapps are good for desktop-like stuff but awful for search engines, which
 are vital for public-facing stuff.

  andsupporting that should be the principle goal going forward, even if it

 means that much of the T5 infrastructure (pages, components, server-side
 state, etc.) becomes somewhat vestigial


 As long as they still work as they (pages, components, etc) work as they
 do now, I see no problem in that. That's the most mature part of Tapestry,
 having gone through some major internal revisions already (page pool, page
 pool not used anymore, performance improvements) already. AJAX is one of
 the less mature parts and everything that improves that is a good thing
 IMHO.


  I have some ideas for having a very well integrated api approach, that
 would be on-par with pages and components. That will probably have to
 wait for 5.5.  Basically, page-like objects that represent API end points
 and
 support injection, but lack the complexity of Tapestry pages.


 What would be the improvements over a page without a template? I'm not
 familiar with this part of the Tapestry code.

 For these page-like objects: what about an 'endpoints' subpackage, as we
 have now for pages, using the same routing rules? The less new logic we add
 and the most we reuse, the better. Or put them in the 'pages' package and
 we just use an annotation to tell that specific class is an endpoint and
 not a full-blown page.


  We'd still support live class reloading and maybe a bit of magic in terms
 of how
 incoming requests are routed, parsed to JSON or Java objects, and then
 how responses are generated.


 Live class reloading is a major selling point of Tapestry (maybe the
 biggest one) so it should be kept for pages, components, mixins and these
 new endpoint objects.


 --
 Thiago H. de Paula Figueiredo

 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org

 For additional commands, e-mail: users-h...@tapestry.apache.org




Re: Rendering multiple zone in nested component.

2014-03-27 Thread abangkis
Hi Geoff, thanks for your response.

I'm not really sure. Since I already move the code from the component to
the page . But as I recall the sZone div is there, only it didn't attached
to the Tapestry.ZoneManager. Yes, it could be the problem. We have zone
that contain blocks and then inside the blocks there will be other zone
with their own block (for editing the section  question). I'll try
experimenting on it again when some free time opens up. It feels
really-really close to solving it. Thanks Geoff.


On Thu, Mar 27, 2014 at 10:08 PM, Geoff Callender 
geoff.callender.jumpst...@gmail.com wrote:

 Right before you send the request that fails, if you use your browser's web
 inspect the page DOM, can you see the sZone div? If not, then that's the
 problem: the failing response would be referring to a zone that the client
 doesn't know about. This looks quite likely since your conditional blocks
 contain zones, as opposed to having your zones contain conditional blocks.

 On Friday, 28 March 2014, Geoff Callender 
 geoff.callender.jumpst...@gmail.com wrote:

  I see nothing wrong with your nested components approach, and there is
  nothing wrong with having a component render multiple zones as you are
  doing. I don't know the cause of your client-side exception, but I think
  your code must be very, very close to correct.
 
  On Thursday, 27 March 2014, abangkis abang...@gmail.com
 javascript:_e(%7B%7D,'cvml','abang...@gmail.com');
  wrote:
 
  Hai Geoff thanks a lot for trying :)
 
  I try to explain it better. Basically I have a survey object, that
  contains
  survey info and list of section object. The section object contains
  section
  info and list of question object. What we want to do is give the user
 the
  ability to fill the survey info, section info and question info in a
  single
  page (not moving between pages).
 
  What the user will see is this. When the user first open the page, it
 will
  only show the survey info form. After the user submit the survey form.
  Then
  the form fields will change to read only mode and the sections info form
  will be shown. We do this  by using 3 block and 2 zone. Survey Input
 block
  and Survey view block for the survey zone. And Section Input block for
 the
  section zone. Rendering multiple zone when the Survey info form is
  submitted is done using the ajax renderer. It's pretty simple.
 
  Filling the section and the question info will follow the same pattern.
 So
  we create a SectionHolder component and Question Holder component. Using
  the same code as the page (2 zone that will render 3 block using ajax
  renderer). Hoping that with a component the code will be modular and
  easier
  to maintain. There is where we found the problem. It seems we can't use
  nested component with the ajax renderer. Yes probably tapestry 5.4 will
  handle this better, but unfortunately we're still stuck with Tap 5.3.
 
  As a workaround we put all of the code in a single page. So far the code
  seems to work. But we still think that separating the editor into its
 own
  component is the better approach. So let us know if anyone succeeded
  implementing this :)
 
  Thanks.
 
 
 
 
  On Thu, Mar 27, 2014 at 5:52 AM, Geoff Callender 
  geoff.callender.jumpst...@gmail.com wrote:
 
   Sorry, I tried to draw a model of your page but I don't quite get it.
  
   The techniques used in that JumpStart page's components may have a
  problem
   when they're nested deeper. They're done better in the JumpStart
 preview
   for T5.4:
  
  
  
 
 http://jumpstart.doublenegative.com.au/jumpstart7/together/ajaxcomponentscrud/persons
  
   A key improvement is the passing of the component's context in each
   request, and using them to restore the component's parameters, rather
  than
   relying on the page context and @ActivationRequestParameter.
  
   I don't know if these thoughts are addressing the source of your
  problem,
   but I hope they help.
  
   Cheers,
  
   Geoff
  
   On 27/03/2014, at 1:42 AM, abangkis wrote:
  
Or maybe someone has an example of a single page site made with
  tapestry.
I've tried jumpstart
   
  
 
 http://jumpstart.doublenegative.com.au/jumpstart/together/ajaxcomponentscrud/personsit's
something similar but able to be nested 3-4 component deep.
   
Thanks for any clue.
   
Cheers.
   
   
On Tue, Mar 25, 2014 at 3:18 PM, abangkis abang...@gmail.com
 wrote:
   
Hello,
   
I have 3 nested object. A survey, a section and a question. A
 survey
   will
contain sections and a section will contain questions. I want to
  create
   a
single page editor for this nested object using ajax.
   
In add survey page i have created two zone, survey zone and
sectionListZone. The survey zone content will depend on a flag. It
  can
   show
an input form for the survey or a view of the survey data. The
sectionListZone content is a SectionHolder component (custom
  component
   for
handling the section).