You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Andy Blower (JIRA)" <ji...@apache.org> on 2010/10/15 10:57:34 UTC

[jira] Created: (TAP5-1309) No way to leave a zone's content when updating other zones with MultiZoneUpdate

No way to leave a zone's content when updating other zones with MultiZoneUpdate
-------------------------------------------------------------------------------

                 Key: TAP5-1309
                 URL: https://issues.apache.org/jira/browse/TAP5-1309
             Project: Tapestry 5
          Issue Type: Bug
    Affects Versions: 5.2.1
            Reporter: Andy Blower


I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from

                                Tapestry.loadScriptsInReply(reply, function() {
                                                /*
                                                 * In a multi-zone update, the reply.content may be blank or
                                                 * missing.
                                                 */
                                                reply.content && this.show(reply.content);
 to
                                Tapestry.loadScriptsInReply(reply, function() {
                                                /*
                                                 * In a multi-zone update, the reply.content may be missing,
                                                 * in which case, leave the curent content in place. TAP5-1177
                                                 */
                                                reply.content != undefined && this.show(reply.content);


The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.

{
  "content" : "",
  "zones" : {
    "someThingZone" : "<b>stuff</b>"
  }
}

This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.

"I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (TAP5-1309) No way to leave a zone's content when updating other zones with MultiZoneUpdate

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship reassigned TAP5-1309:
------------------------------------------

    Assignee: Howard M. Lewis Ship

> No way to leave a zone's content when updating other zones with MultiZoneUpdate
> -------------------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-1309) When using a MultiZoneUpdate, Tapestry will clear the referenced zone

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAP5-1309:
---------------------------------------

    Summary: When using a MultiZoneUpdate, Tapestry will clear the referenced zone  (was: No way to leave a zone's content when updating other zones with MultiZoneUpdate)

Again, the fix here is that when using MultiZoneUpdate, the content property of the JSON reply must be missing, not blank.

> When using a MultiZoneUpdate, Tapestry will clear the referenced zone
> ---------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TAP5-1309) When using a MultiZoneUpdate, Tapestry will clear the referenced zone

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921798#action_12921798 ] 

Hudson commented on TAP5-1309:
------------------------------

Integrated in tapestry-5.2-freestyle #210 (See [https://hudson.apache.org/hudson/job/tapestry-5.2-freestyle/210/])
    

> When using a MultiZoneUpdate, Tapestry will clear the referenced zone
> ---------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.2.2
>
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (TAP5-1309) No way to leave a zone's content when updating other zones with MultiZoneUpdate

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship reassigned TAP5-1309:
------------------------------------------

    Assignee: Howard M. Lewis Ship

> No way to leave a zone's content when updating other zones with MultiZoneUpdate
> -------------------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (TAP5-1309) When using a MultiZoneUpdate, Tapestry will clear the referenced zone

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921798#action_12921798 ] 

Hudson commented on TAP5-1309:
------------------------------

Integrated in tapestry-5.2-freestyle #210 (See [https://hudson.apache.org/hudson/job/tapestry-5.2-freestyle/210/])
    

> When using a MultiZoneUpdate, Tapestry will clear the referenced zone
> ---------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.2.2
>
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (TAP5-1309) When using a MultiZoneUpdate, Tapestry will clear the referenced zone

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAP5-1309.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.2.2

> When using a MultiZoneUpdate, Tapestry will clear the referenced zone
> ---------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.2.2
>
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (TAP5-1309) When using a MultiZoneUpdate, Tapestry will clear the referenced zone

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship updated TAP5-1309:
---------------------------------------

    Summary: When using a MultiZoneUpdate, Tapestry will clear the referenced zone  (was: No way to leave a zone's content when updating other zones with MultiZoneUpdate)

Again, the fix here is that when using MultiZoneUpdate, the content property of the JSON reply must be missing, not blank.

> When using a MultiZoneUpdate, Tapestry will clear the referenced zone
> ---------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (TAP5-1309) When using a MultiZoneUpdate, Tapestry will clear the referenced zone

Posted by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Howard M. Lewis Ship closed TAP5-1309.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.2.2

> When using a MultiZoneUpdate, Tapestry will clear the referenced zone
> ---------------------------------------------------------------------
>
>                 Key: TAP5-1309
>                 URL: https://issues.apache.org/jira/browse/TAP5-1309
>             Project: Tapestry 5
>          Issue Type: Bug
>    Affects Versions: 5.2.1
>            Reporter: Andy Blower
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.2.2
>
>
> I've spent all day chasing down an issue that appeared when we upgraded to Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find the change that is causing the problem. It's the fix for TAP5-1177 where tapestry.js was changed from
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be blank or
>                                                  * missing.
>                                                  */
>                                                 reply.content && this.show(reply.content);
>  to
>                                 Tapestry.loadScriptsInReply(reply, function() {
>                                                 /*
>                                                  * In a multi-zone update, the reply.content may be missing,
>                                                  * in which case, leave the curent content in place. TAP5-1177
>                                                  */
>                                                 reply.content != undefined && this.show(reply.content);
> The situation this is causing an issue for is where we have a form in a zone and submitting the form needs to update another zone so MultiZoneUpdate is used which has content in the json for the other zone. i.e.
> {
>   "content" : "",
>   "zones" : {
>     "someThingZone" : "<b>stuff</b>"
>   }
> }
> This used to leave the form inside it's zone alone which is good because some other javascript fires which accesses part of the form. If the form has been removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm not very familiar with this code, and I've not personally used MultiZoneUpdate, but it seems to me at first glance that the content bit of the json will always be "" for MultiZoneUpdate. All the content goes into the "zones" part of the json. Also, the comment in the T5.2.1 version seems to say that the content should be left alone if content is missing, but since missing is the same as "" it doesn't do that.
> "I think Tapestry should not set the content property of the response when there's a MultiZoneUpdate response, so as to leave the Zone's current content unchanged." - HLS

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.