Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
5.1.0.5
-
None
Description
Noticed this while working on a lab; a component that is repeatedly rendered will result in a long series of duplicated scripts being included in the response. The code that ensures that a given JS file is included only once is broken in some way.
{"scripts":["/assets/ctx/ajax-1.0-SNAPSHOT/js/editkeywords.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox
/modalbox.js","/assets/scriptaculous/5.1.0.5/builder.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/editkeywords
.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.js","/assets/scriptaculous/5.1.0.5/builder.js"
,"/assets/ctx/ajax-1.0-SNAPSHOT/js/editkeywords.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox
.js","/assets/scriptaculous/5.1.0.5/builder.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/editkeywords.js","
/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.js","/assets/scriptaculous/5.1.0.5/builder.js","/assets
/ctx/ajax-1.0-SNAPSHOT/js/editkeywords.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.js","
/assets/scriptaculous/5.1.0.5/builder.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/editkeywords.js","/assets
/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.js","/assets/scriptaculous/5.1.0.5/builder.js","/assets/ctx
/ajax-1.0-SNAPSHOT/js/editkeywords.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.js","/assets
/scriptaculous/5.1.0.5/builder.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/editkeywords.js","/assets/ctx/ajax-1
.0-SNAPSHOT/js/modalbox/modalbox.js","/assets/scriptaculous/5.1.0.5/builder.js","/assets/ctx/ajax-1.0-SNAPSHOT
/js/editkeywords.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.js","/assets/scriptaculous/5
.1.0.5/builder.js","/assets/ctx/ajax-1.0-SNAPSHOT/js/editkeywords.js","/assets/ctx/ajax-1.0-SNAPSHOT
/js/modalbox/modalbox.js","/assets/scriptaculous/5.1.0.5/builder.js"],"script":"Tapestry.init(
{\"editKeywords \":[[\"edit-122529b387e\",\"keywords-122529b387e\"],[\"edit-122529b387e_0\",\"keywords-122529b387e_0 \"],[\"edit-122529b387e_1\",\"keywords-122529b387e_1\"],[\"edit-122529b387e_2\",\"keywords-122529b387e_2 \"],[\"edit-122529b387e_3\",\"keywords-122529b387e_3\"],[\"edit-122529b387e_4\",\"keywords-122529b387e_4 \"],[\"edit-122529b387e_5\",\"keywords-122529b387e_5\"],[\"edit-122529b387e_6\",\"keywords-122529b387e_6 \"],[\"edit-122529b387e_7\",\"keywords-122529b387e_7\"],[\"edit-122529b387e_8\",\"keywords-122529b387e_8 \"]]});\n","stylesheets":[
{"href":"/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.css"},
{"href":" /assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.css"},
{"href":"/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox /modalbox.css"},
{"href":"/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.css"},
{"href":"/assets/ctx /ajax-1.0-SNAPSHOT/js/modalbox/modalbox.css"},
{"href":"/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox .css"},
{"href":"/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.css"},
{"href":"/assets/ctx/ajax-1 .0-SNAPSHOT/js/modalbox/modalbox.css"},
{"href":"/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.css" },
{"href":"/assets/ctx/ajax-1.0-SNAPSHOT/js/modalbox/modalbox.css"}],"content":"<div><h2>Recent Postings
<\/h2><div class='post'><h3>We are now using the Autocomplete mixin<\/h3><p class='meta'>\nPosted by
\n<a href='/blogger/hlship'>\nhlship\n<\/a>\non\nJul 2, 2009 1:42:33 PM\n- \n<a href='/post/podium/we_are_now_using_the_autocomplete_mixin'
>\nFULL LISTING\n<\/a>\n- \nno\ncomments\n<\/p><\/div><div id='keywords-122529b387e' class='keywords'
><span class='keyword'><a href='/blog/keyword/podium/yui'>yui\n<\/a><\/span><span class='keyword'><a
href='/blog/keyword/podium/screencast'>screencast\n<\/a><\/span><span class='keyword'><a href='/blog
/keyword/podium/success'>success\n<\/a><\/span><a id='edit-122529b387e' title='Click to edit keywords'
href='/blog/index.outputposting.edit/16?t:ac=podium'><img alt='Edit Keywords' src='/assets/ctx/ajax-1
.0-SNAPSHOT/images/pencil.png'/><\/a><\/div><br style='clear: both;'/><div class='entry'>Also, the new
YUI-based rich text area. Turns out FCKEditor was behaving poorly. <\/div><div
class='post'><h3>Still setting up for the screen capture<\/h3><p class='meta'>\nPosted by\n<a href='
/blogger/hlship'>\nhlship\n<\/a>\non\nJul 2, 2009 1:34:35 PM\n- \n<a href='/post/podium/still_setting_up_for_the_screen_capture'
>\nFULL LISTING\n<\/a>\n- \nno\ncomments\n<\/p><\/div><div id='keywords-122529b387e_0' class='keywords'
><span class='keyword'><a href='/blog/keyword/podium/yui'>yui\n<\/a><\/span><span class='keyword'><a
href='/blog/keyword/podium/success'>success\n<\/a><\/span><a id='edit-122529b387e_0' title='Click to
edit keywords' href='/blog/index.outputposting.edit/15?t:ac=podium'><img alt='Edit Keywords' src='/assets
/ctx/ajax-1.0-SNAPSHOT/images/pencil.png'/><\/a><\/div><br style='clear: both;'/><div class='entry'>Still
setting up for the screen capture. <em>YUI Editor<\/em> is looking quite nice. It's slightly different
from FCKEditor in that it doesn't implcitly surround the content provided in a <p> element.<\
/div><div class='post'><h3>Now using YUI<\/h3><p class='meta'>\nPosted by\n<a href='/blogger/hlship'
>\nhlship\n<\/a>\non\nJul 2, 2009 10:55:33 AM\n- \n<a href='/post/podium/now_using_yui'>\nFULL LISTING
\n<\/a>\n- \nno\ncomments\n<\/p><\/div><div id='keywords-122529b387e_1' class='keywords'><span class='keyword'
><a href='/blog/keyword/podium/yui'>yui\n<\/a><\/span><span class='keyword'><a href='/blog/keyword/podium
/success'>success\n<\/a><\/span><a id='edit-122529b387e_1' title='Click to edit keywords' href='/blog
/index.outputposting.edit/14?t:ac=podium'><img alt='Edit Keywords' src='/assets/ctx/ajax-1.0-SNAPSHOT
/images/pencil.png'/><\/a><\/div><br style='clear: both;'/><div class='entry'>Abandoned <strong>FCKEditor
?<\/strong> for <strong>YUI Editor<\/strong>.<\/div><div class='post'><h3>Worked!<\/h3><p class='meta'
>\nPosted by\n<a href='/blogger/hlship'>\nhlship\n<\/a>\non\nJul 1, 2009 4:08:41 PM\n- \n<a href='/post
/podium/worked'>\nFULL LISTING\n<\/a>\n- \nno\ncomments\n<\/p><\/div><div id='keywords-122529b387e_2'
class='keywords'><span class='keyword'><a href='/blog/keyword/podium/success'>success\n<\/a><\/span
><span class='keyword'><a href='/blog/keyword/podium/ajax'>ajax\n<\/a><\/span><a id='edit-122529b387e_2'
title='Click to edit keywords' href='/blog/index.outputposting.edit/13?t:ac=podium'><img alt='Edit Keywords'
src='/assets/ctx/ajax-1.0-SNAPSHOT/images/pencil.png'/><\/a><\/div><br style='clear: both;'/><div class
='entry'><p>Check in the database and the data looks to have gone in fine.<\/p><\/div><div class='post'
><h3>First experiment with keywords<\/h3><p class='meta'>\nPosted by\n<a href='/blogger/hlship'>\nhlship
\n<\/a>\non\nJul 1, 2009 4:08:00 PM\n- \n<a href='/post/podium/first_experiment_with_keywords'>\nFULL
LISTING\n<\/a>\n- \nno\ncomments\n<\/p><\/div><div id='keywords-122529b387e_3' class='keywords'><span
class='keyword'><a href='/blog/keyword/podium/keywords'>keywords\n<\/a><\/span><span class='keyword'
><a href='/blog/keyword/podium/ajax'>ajax\n<\/a><\/span><span class='keyword'><a href='/blog/keyword
/podium/labs'>labs\n<\/a><\/span><a id='edit-122529b387e_3' title='Click to edit keywords' href='/blog
/index.outputposting.edit/12?t:ac=podium'><img alt='Edit Keywords' src='/assets/ctx/ajax-1.0-SNAPSHOT
/images/pencil.png'/><\/a><\/div><br style='clear: both;'/><div class='entry'><p>This is the first attempt
to store keywords in the database. I've implemented a KeywordDAO service and am collecting the keywords
(as text) on page BlogIndex.<\/p><\/div><div class='post'><h3>Setting up the Grid lab<\/h3><p class
='meta'>\nPosted by\n<a href='/blogger/hlship'>\nhlship\n<\/a>\non\nAug 28, 2008 3:13:43 PM\n- \n<a href
='/post/podium/setting_up_the_grid_lab'>\nFULL LISTING\n<\/a>\n- \n1\ncomments\n<\/p><\/div><div id='keywords-122529b387e_4'
class='keywords'><a id='edit-122529b387e_4' title='Click to edit keywords' href='/blog/index.outputposting
.edit/11?t:ac=podium'><img alt='Edit Keywords' src='/assets/ctx/ajax-1.0-SNAPSHOT/images/pencil.png'
/><\/a><\/div><br style='clear: both;'/><div class='entry'><p>Starting to set up a new lab nominally
about the <strong>Grid<\/strong> component, but will touch on a bunch of other areas as well.<\/p><
\/div><div class='post'><h3>Debugging a problem with posting<\/h3><p class='meta'>\nPosted by\n<a href
='/blogger/hlship'>\nhlship\n<\/a>\non\nJul 9, 2008 7:13:52 PM\n- \n<a href='/post/podium/debugging_a_problem_with_posting'
>\nFULL LISTING\n<\/a>\n- \nno\ncomments\n<\/p><\/div><div id='keywords-122529b387e_5' class='keywords'
><a id='edit-122529b387e_5' title='Click to edit keywords' href='/blog/index.outputposting.edit/10?t
:ac=podium'><img alt='Edit Keywords' src='/assets/ctx/ajax-1.0-SNAPSHOT/images/pencil.png'/><\/a><\/div
><br style='clear: both;'/><div class='entry'><p>Now that I've completed the mungTitle() code in BlogIndex
, I'm getting a <em>NullPointerException<\/em>.<\/p><\/div><div class='post'><h3>Session 3 : Components
<\/h3><p class='meta'>\nPosted by\n<a href='/blogger/hlship'>\nhlship\n<\/a>\non\nJul 7, 2008 4:26:43
PM\n- \n<a href='/post/podium/session_3_components'>\nFULL LISTING\n<\/a>\n- \nno\ncomments\n<\/p><\/div
><div id='keywords-122529b387e_6' class='keywords'><a id='edit-122529b387e_6' title='Click to edit keywords'
href='/blog/index.outputposting.edit/8?t:ac=podium'><img alt='Edit Keywords' src='/assets/ctx/ajax-1
.0-SNAPSHOT/images/pencil.png'/><\/a><\/div><br style='clear: both;'/><div class='entry'><p>In this session
, we'll be learning about components: how to create them, how they work, and how they communicate with
the outside world.<\/p><\/div><div class='post'><h3>Clear the browser history<\/h3><p class='meta'>
\nPosted by\n<a href='/blogger/hlship'>\nhlship\n<\/a>\non\nJul 7, 2008 11:08:44 AM\n- \n<a href='/post
/podium/clear_the_browser_history'>\nFULL LISTING\n<\/a>\n- \nno\ncomments\n<\/p><\/div><div id='keywords-122529b387e_7'
class='keywords'><a id='edit-122529b387e_7' title='Click to edit keywords' href='/blog/index.outputposting
.edit/7?t:ac=podium'><img alt='Edit Keywords' src='/assets/ctx/ajax-1.0-SNAPSHOT/images/pencil.png'/
><\/a><\/div><br style='clear: both;'/><div class='entry'><p>Note to self: in the future, remember to
clear browser history before doing a screencast. It's too easy to accidentally jump to an unwanted
site just because you've visited it recently.<\/p>\r\n<p>Creating sessions and screencasts is <em>so
<\/em> full of unwanted surprises!<\/p>\r\n<p> <\/p><\/div><div class='post'><h3>Picking up the
pace<\/h3><p class='meta'>\nPosted by\n<a href='/blogger/hlship'>\nhlship\n<\/a>\non\nJul 4, 2008 11
:11:54 AM\n- \n<a href='/post/podium/picking_up_the_pace'>\nFULL LISTING\n<\/a>\n- \nno\ncomments\n<\/p
><\/div><div id='keywords-122529b387e_8' class='keywords'><a id='edit-122529b387e_8' title='Click to
edit keywords' href='/blog/index.outputposting.edit/6?t:ac=podium'><img alt='Edit Keywords' src='/assets
/ctx/ajax-1.0-SNAPSHOT/images/pencil.png'/><\/a><\/div><br style='clear: both;'/><div class='entry'>
<p>By the end of session #2, we'll have covered using PageLink, BeanEditForm and Grid along with a number
of the Tapestry annotations.<\/p><\/div><\/div>"}
Attachments
Issue Links
- is related to
-
TAP5-706 In an AJAX response multiple Javascript files are included. This should be reduced to include the needed files only once to minimise the response size
- Closed