Re: [Trinidad] Is it possible to PPR the tr:document?

2008-02-26 Thread Andrew Robinson
For anyone who read this reply, please note that I was naive and
thought the URL hash would be sent to the server. It is not. So
refresh  bookmarking is still problematic, but back  forward can be
handled gracefully.

-Andrew

On Mon, Feb 25, 2008 at 8:59 AM, Andrew Robinson
[EMAIL PROTECTED] wrote:
 Well, I am just starting it, and it is a bit hard to incorporate into
  myfaces (facelets requirement, servlet filter and a custom view root),
  but I may blog on it. The gist is:

  1) Custom ViewHandler to re-use UIViewRoot if the template doesn't change
  2) Custom UISubview component that uses a TagHandler based on the
  DecoratorHandler of Facelets that forces a PPR of a template region
  when either
  2a) the view has changed (so PPR template zones) or
  2b) the included file has changed
  3) use of widow.location.hash to have browser back-forward history as
  well as bookmarking (see the filter below)
  4) Custom JavaScript interval that checks the page hash to see if the
  user has hit back or forward
  5) Custom servlet filter to alter the hash of a URL into a different
  URL and query string to keep 3rd party JSF libraries like Seam happy
  (I may be able to do this in the ViewHandler, but I'll have to see)
  6) Custom code tied with an XML configuration file to tie viewIds to a
  hash and to the base template to use.

  It would be quite a bit of work to make this open source
  (documentation, more flexible API, more reusable, etc.) and also a
  long blog, but when I get done I'll see if I have the energy. I do a
  lot of things on the side, so even more open source work may not fit
  in to my schedule, but I'll see what I can do.

  If the team lets me, I may add a new project onto Trinidad's offering
  that is more of an optional controller library that requires facelets
  and then ask ppl. for help to clean it up to get it to public
  consumption quality.

  -Andrew



  On Mon, Feb 25, 2008 at 2:42 AM, Danny Robinson
  [EMAIL PROTECTED] wrote:
   Andrew,
  
   Any chance you could share a how-to on this - or at least some tips.  It's
   something we've seen in past projects also.
  
   Thanks,
   Danny
  
  
  
   On Sun, Feb 24, 2008 at 11:13 PM, Andrew Robinson
   [EMAIL PROTECTED] wrote:
  
Ignore this thread
   
Sorry, as long as the UIView root is not re-used the partial target
code is not needed
   
   
   
   
On Sun, Feb 24, 2008 at 9:02 PM, Andrew Robinson
[EMAIL PROTECTED] wrote:
 I am attempting to create a 100% AJAX interfaces to my application,
  that not only includes page updates but navigation as well.

  If 2 of my pages share the same facelets template, I am fine. If the
  user is navigating between two unrelated templates I want to PPR the
  entire page. In order to do this, I use the RequestContext
  addPartialTarget(UIComponent) method with the UIXDocument.

  The problem is that the PPR framework of Trinidad is not escaping any
  CDATA blocks in the response. As a result the CDATA block terminates
  early.

  The beginning of the response content:

  ?xml version=1.0 ?
  ?Tr-XHR-Response-Type ?
  content action=/test-app/test.jsf fragment![CDATA[html
  xmlns=http://www.w3.org/1999/xhtml;
   dir=ltr xml:lang=en
   head
 meta name=generator content=Apache Trinidad
  ...

  ]] appear inside this CDATA block (nested blocks from the
  document's scripts).

  I presume this is a bug, or am I missing something?

  trinidad 1.2.7-SNAPSHOT

  -Andrew

   
  
  
  
   --
   Chordiant Software Inc.
   www.chordiant.com



Re: [Trinidad] Is it possible to PPR the tr:document?

2008-02-25 Thread Danny Robinson
Andrew,

Any chance you could share a how-to on this - or at least some tips.  It's
something we've seen in past projects also.

Thanks,
Danny

On Sun, Feb 24, 2008 at 11:13 PM, Andrew Robinson 
[EMAIL PROTECTED] wrote:

 Ignore this thread

 Sorry, as long as the UIView root is not re-used the partial target
 code is not needed

 On Sun, Feb 24, 2008 at 9:02 PM, Andrew Robinson
 [EMAIL PROTECTED] wrote:
  I am attempting to create a 100% AJAX interfaces to my application,
   that not only includes page updates but navigation as well.
 
   If 2 of my pages share the same facelets template, I am fine. If the
   user is navigating between two unrelated templates I want to PPR the
   entire page. In order to do this, I use the RequestContext
   addPartialTarget(UIComponent) method with the UIXDocument.
 
   The problem is that the PPR framework of Trinidad is not escaping any
   CDATA blocks in the response. As a result the CDATA block terminates
   early.
 
   The beginning of the response content:
 
   ?xml version=1.0 ?
   ?Tr-XHR-Response-Type ?
   content action=/test-app/test.jsf fragment![CDATA[html
   xmlns=http://www.w3.org/1999/xhtml;
dir=ltr xml:lang=en
head
  meta name=generator content=Apache Trinidad
   ...
 
   ]] appear inside this CDATA block (nested blocks from the
   document's scripts).
 
   I presume this is a bug, or am I missing something?
 
   trinidad 1.2.7-SNAPSHOT
 
   -Andrew
 




-- 
Chordiant Software Inc.
www.chordiant.com


Re: [Trinidad] Is it possible to PPR the tr:document?

2008-02-25 Thread Andrew Robinson
Well, I am just starting it, and it is a bit hard to incorporate into
myfaces (facelets requirement, servlet filter and a custom view root),
but I may blog on it. The gist is:

1) Custom ViewHandler to re-use UIViewRoot if the template doesn't change
2) Custom UISubview component that uses a TagHandler based on the
DecoratorHandler of Facelets that forces a PPR of a template region
when either
2a) the view has changed (so PPR template zones) or
2b) the included file has changed
3) use of widow.location.hash to have browser back-forward history as
well as bookmarking (see the filter below)
4) Custom JavaScript interval that checks the page hash to see if the
user has hit back or forward
5) Custom servlet filter to alter the hash of a URL into a different
URL and query string to keep 3rd party JSF libraries like Seam happy
(I may be able to do this in the ViewHandler, but I'll have to see)
6) Custom code tied with an XML configuration file to tie viewIds to a
hash and to the base template to use.

It would be quite a bit of work to make this open source
(documentation, more flexible API, more reusable, etc.) and also a
long blog, but when I get done I'll see if I have the energy. I do a
lot of things on the side, so even more open source work may not fit
in to my schedule, but I'll see what I can do.

If the team lets me, I may add a new project onto Trinidad's offering
that is more of an optional controller library that requires facelets
and then ask ppl. for help to clean it up to get it to public
consumption quality.

-Andrew

On Mon, Feb 25, 2008 at 2:42 AM, Danny Robinson
[EMAIL PROTECTED] wrote:
 Andrew,

 Any chance you could share a how-to on this - or at least some tips.  It's
 something we've seen in past projects also.

 Thanks,
 Danny



 On Sun, Feb 24, 2008 at 11:13 PM, Andrew Robinson
 [EMAIL PROTECTED] wrote:

  Ignore this thread
 
  Sorry, as long as the UIView root is not re-used the partial target
  code is not needed
 
 
 
 
  On Sun, Feb 24, 2008 at 9:02 PM, Andrew Robinson
  [EMAIL PROTECTED] wrote:
   I am attempting to create a 100% AJAX interfaces to my application,
that not only includes page updates but navigation as well.
  
If 2 of my pages share the same facelets template, I am fine. If the
user is navigating between two unrelated templates I want to PPR the
entire page. In order to do this, I use the RequestContext
addPartialTarget(UIComponent) method with the UIXDocument.
  
The problem is that the PPR framework of Trinidad is not escaping any
CDATA blocks in the response. As a result the CDATA block terminates
early.
  
The beginning of the response content:
  
?xml version=1.0 ?
?Tr-XHR-Response-Type ?
content action=/test-app/test.jsf fragment![CDATA[html
xmlns=http://www.w3.org/1999/xhtml;
 dir=ltr xml:lang=en
 head
   meta name=generator content=Apache Trinidad
...
  
]] appear inside this CDATA block (nested blocks from the
document's scripts).
  
I presume this is a bug, or am I missing something?
  
trinidad 1.2.7-SNAPSHOT
  
-Andrew
  
 



 --
 Chordiant Software Inc.
 www.chordiant.com


[Trinidad] Is it possible to PPR the tr:document?

2008-02-24 Thread Andrew Robinson
I am attempting to create a 100% AJAX interfaces to my application,
that not only includes page updates but navigation as well.

If 2 of my pages share the same facelets template, I am fine. If the
user is navigating between two unrelated templates I want to PPR the
entire page. In order to do this, I use the RequestContext
addPartialTarget(UIComponent) method with the UIXDocument.

The problem is that the PPR framework of Trinidad is not escaping any
CDATA blocks in the response. As a result the CDATA block terminates
early.

The beginning of the response content:

?xml version=1.0 ?
?Tr-XHR-Response-Type ?
content action=/test-app/test.jsf fragment![CDATA[html
xmlns=http://www.w3.org/1999/xhtml;
 dir=ltr xml:lang=en
  head
meta name=generator content=Apache Trinidad
...

]] appear inside this CDATA block (nested blocks from the
document's scripts).

I presume this is a bug, or am I missing something?

trinidad 1.2.7-SNAPSHOT

-Andrew


Re: [Trinidad] Is it possible to PPR the tr:document?

2008-02-24 Thread Andrew Robinson
Ignore this thread

Sorry, as long as the UIView root is not re-used the partial target
code is not needed

On Sun, Feb 24, 2008 at 9:02 PM, Andrew Robinson
[EMAIL PROTECTED] wrote:
 I am attempting to create a 100% AJAX interfaces to my application,
  that not only includes page updates but navigation as well.

  If 2 of my pages share the same facelets template, I am fine. If the
  user is navigating between two unrelated templates I want to PPR the
  entire page. In order to do this, I use the RequestContext
  addPartialTarget(UIComponent) method with the UIXDocument.

  The problem is that the PPR framework of Trinidad is not escaping any
  CDATA blocks in the response. As a result the CDATA block terminates
  early.

  The beginning of the response content:

  ?xml version=1.0 ?
  ?Tr-XHR-Response-Type ?
  content action=/test-app/test.jsf fragment![CDATA[html
  xmlns=http://www.w3.org/1999/xhtml;
   dir=ltr xml:lang=en
   head
 meta name=generator content=Apache Trinidad
  ...

  ]] appear inside this CDATA block (nested blocks from the
  document's scripts).

  I presume this is a bug, or am I missing something?

  trinidad 1.2.7-SNAPSHOT

  -Andrew