{"id":145,"date":"2006-03-28T22:33:46","date_gmt":"2006-03-29T02:33:46","guid":{"rendered":"http:\/\/www.dr-chuck.com\/wordpress\/?p=145"},"modified":"2011-12-17T12:19:20","modified_gmt":"2011-12-17T16:19:20","slug":"how-instant-updates-happen","status":"publish","type":"post","link":"https:\/\/www.dr-chuck.com\/csev-blog\/2006\/03\/how-instant-updates-happen\/","title":{"rendered":"How instant updates happen&#8230;"},"content":{"rendered":"<p>How do the tabs at the top get updated right away&#8230;  Is there a better way?<br \/>\nIf this puzzle is solvable &#8211; there is one less frame&#8230;  I think I have an idea.<\/p>\n<p><!--more--><br \/>\nlegacy\/tool-support\/src\/java\/org\/sakaiproject\/cheftool\/VelocityPortletPaneledAction.java<br \/>\nprotected void schedulePeerFrameRefresh(String id)<br \/>\n{<br \/>\nToolSession session = SessionManager.getCurrentToolSession();<br \/>\n\/\/ add to (or create) our set of ids to refresh<br \/>\nSet soFar = (Set) session.getAttribute(ATTR_FRAME_REFRESH);<br \/>\nif (soFar == null)<br \/>\n{<br \/>\nsoFar = new HashSet();<br \/>\nsession.setAttribute(ATTR_FRAME_REFRESH, soFar);<br \/>\n}<br \/>\nsoFar.add(id);<br \/>\n}<br \/>\nSet ids = (Set) session.getAttribute(ATTR_FRAME_REFRESH);<br \/>\nif (ids != null)<br \/>\n{<br \/>\nsetVmReference(&#8220;frameRefresh&#8221;, ids, request);<br \/>\nsession.removeAttribute(ATTR_FRAME_REFRESH);<br \/>\n}<br \/>\nlegacy\/tools\/src\/webapp\/VM_chef_library.vm<br \/>\n#if ($frameRefresh)<br \/>\n#foreach ($id in $frameRefresh)<br \/>\n<script type=\"text\/javascript\" language=\"JavaScript\"><br \/>\ntry<br \/>\n{<br \/>\nif (parent.${id}.location.toString().length > 1)<br \/>\n{<br \/>\nparent.${id}.location.replace(parent.${id}.location);<br \/>\n}<br \/>\n}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How do the tabs at the top get updated right away&#8230; Is there a better way? If this puzzle is solvable &#8211; there is one less frame&#8230; I think I have an idea.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-145","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/comments?post=145"}],"version-history":[{"count":1,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/145\/revisions"}],"predecessor-version":[{"id":2234,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/145\/revisions\/2234"}],"wp:attachment":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/media?parent=145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/categories?post=145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/tags?post=145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}