<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: DotNetNuke Widgets Guide (Part 4 of 4)</title>
	<atom:link href="http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/</link>
	<description>Nik Kalyani&#039;s Irrationally Exuberant Musings on Technology</description>
	<lastBuildDate>Tue, 31 Aug 2010 00:46:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: jkergosi</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-73</link>
		<dc:creator>jkergosi</dc:creator>
		<pubDate>Wed, 23 Jun 2010 00:39:07 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-73</guid>
		<description>Bump!  :)</description>
		<content:encoded><![CDATA[<p>Bump!  <img src='http://www.kalyani.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin McCusker</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-41</link>
		<dc:creator>Kevin McCusker</dc:creator>
		<pubDate>Wed, 27 Jan 2010 21:10:01 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-41</guid>
		<description>Nik,&lt;br&gt;&lt;br&gt;Thank you for documenting the DotNetNuke Widgets. Your blog posts have been a big help in developing some widgets for our portals.&lt;br&gt;&lt;br&gt;I have a question though! Is it possible for a widget, in the render method, to call a function from a script that is added during the initialization? For example, during the render method, display a dialog window.</description>
		<content:encoded><![CDATA[<p>Nik,</p>
<p>Thank you for documenting the DotNetNuke Widgets. Your blog posts have been a big help in developing some widgets for our portals.</p>
<p>I have a question though! Is it possible for a widget, in the render method, to call a function from a script that is added during the initialization? For example, during the render method, display a dialog window.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jkergosi</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-40</link>
		<dc:creator>jkergosi</dc:creator>
		<pubDate>Wed, 27 Jan 2010 20:23:30 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-40</guid>
		<description>This is great!  I knew that widgets were built into DNN already.  Glad to see documentation on it and working demos.  I gave a presentation on this at the Dallas DNN Users Group recently and one question arose:  How do you persist user setttings?&lt;br&gt;&lt;br&gt;For example, if a widget allows you to drag an object, how to you save its location?  I noticed that &lt;a href=&quot;http://Pageflakes.com&quot; rel=&quot;nofollow&quot;&gt;Pageflakes.com&lt;/a&gt; has widget-specific settings that are persisted in one way or another.  Being able to persist settings would be key in the personalization aspects of widgets.  Any insights?&lt;br&gt;&lt;br&gt;Thanks as always.&lt;br&gt;Jason</description>
		<content:encoded><![CDATA[<p>This is great!  I knew that widgets were built into DNN already.  Glad to see documentation on it and working demos.  I gave a presentation on this at the Dallas DNN Users Group recently and one question arose:  How do you persist user setttings?</p>
<p>For example, if a widget allows you to drag an object, how to you save its location?  I noticed that <a href="http://Pageflakes.com" rel="nofollow">Pageflakes.com</a> has widget-specific settings that are persisted in one way or another.  Being able to persist settings would be key in the personalization aspects of widgets.  Any insights?</p>
<p>Thanks as always.<br />Jason</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: techbubble</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-36</link>
		<dc:creator>techbubble</dc:creator>
		<pubDate>Thu, 21 Jan 2010 21:51:10 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-36</guid>
		<description>@Saludos,&lt;br&gt;&lt;br&gt;Thanks! Those are two excellent tips. I will make these changes in my code and post updates where appropriate. Appreciate your insights.</description>
		<content:encoded><![CDATA[<p>@Saludos,</p>
<p>Thanks! Those are two excellent tips. I will make these changes in my code and post updates where appropriate. Appreciate your insights.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: caroig</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-35</link>
		<dc:creator>caroig</dc:creator>
		<pubDate>Tue, 19 Jan 2010 00:14:31 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-35</guid>
		<description>Nik, a couple of observations having hacked around with this for a while:-&lt;br&gt;&lt;br&gt;You can use something like &lt;br&gt;&lt;br&gt;var jParams=$(thisWidget._widget).children();&lt;br&gt;&lt;br&gt;to pull the parameters rather than the childnodes - this overcomes &#039;false&#039; whitespace nodes.&lt;br&gt;&lt;br&gt;The $.getScript function does not cache which is a bit a drag for versioned libraries.  There is nice article:- &lt;a href=&quot;http://jamazon.co.uk/web/2008/07/21/jquerygetscript-does-not-cache/&quot; rel=&quot;nofollow&quot;&gt;http://jamazon.co.uk/web/2008/07/21/jquerygetsc...&lt;/a&gt; that suggests an elegant overload.&lt;br&gt;&lt;br&gt;Saludos</description>
		<content:encoded><![CDATA[<p>Nik, a couple of observations having hacked around with this for a while:-</p>
<p>You can use something like </p>
<p>var jParams=$(thisWidget._widget).children();</p>
<p>to pull the parameters rather than the childnodes &#8211; this overcomes &#39;false&#39; whitespace nodes.</p>
<p>The $.getScript function does not cache which is a bit a drag for versioned libraries.  There is nice article:- <a href="http://jamazon.co.uk/web/2008/07/21/jquerygetscript-does-not-cache/" rel="nofollow"></a><a href="http://jamazon.co.uk/web/2008/07/21/jquerygetsc.." rel="nofollow">http://jamazon.co.uk/web/2008/07/21/jquerygetsc..</a>. that suggests an elegant overload.</p>
<p>Saludos</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: techbubble</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-29</link>
		<dc:creator>techbubble</dc:creator>
		<pubDate>Fri, 15 Jan 2010 07:28:17 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-29</guid>
		<description>Unfortunately, with the present framework you have to specify a element to replace the &lt;object&gt; element. I use a &lt;span&gt; element in such cases because it is an inline element and it is highly unlikely that (unlike a &lt;div&gt;) there is a global CSS rule for it to have margins/padding or any other visual attribute that might mess with the page. &lt;br&gt;&lt;br&gt;Another option is to not call the base render() method and do the work of removing the &lt;object&gt; element yourself:&lt;br&gt;&lt;br&gt;this._widget.parentNode.removeChild(this._widget);&lt;br&gt;&lt;br&gt;I think this code will work, but have not tested it.</description>
		<content:encoded><![CDATA[<p>Unfortunately, with the present framework you have to specify a element to replace the &lt;object&gt; element. I use a &lt;span&gt; element in such cases because it is an inline element and it is highly unlikely that (unlike a &lt;div&gt;) there is a global CSS rule for it to have margins/padding or any other visual attribute that might mess with the page. </p>
<p>Another option is to not call the base render() method and do the work of removing the &lt;object&gt; element yourself:</p>
<p>this._widget.parentNode.removeChild(this._widget);</p>
<p>I think this code will work, but have not tested it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: caroig</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-26</link>
		<dc:creator>caroig</dc:creator>
		<pubDate>Thu, 14 Jan 2010 22:58:24 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-26</guid>
		<description>Fantastic, I have a working widget!   &lt;br&gt;&lt;br&gt;My widget isn&#039;t inserting content on the page, it&#039;s modfying content that has already been loaded by another module.  &lt;br&gt;I guess I still have to replace the widget object with an empty div - there&#039;s no way to just remove it with the render baseclass.</description>
		<content:encoded><![CDATA[<p>Fantastic, I have a working widget!   </p>
<p>My widget isn&#39;t inserting content on the page, it&#39;s modfying content that has already been loaded by another module.  <br />I guess I still have to replace the widget object with an empty div &#8211; there&#39;s no way to just remove it with the render baseclass.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: caroig</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-24</link>
		<dc:creator>caroig</dc:creator>
		<pubDate>Thu, 14 Jan 2010 03:16:39 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-24</guid>
		<description>Thanks for the pointers.  Investigating a little further it looks like Firebug will do what I want soon - &lt;a href=&quot;http://www.softwareishard.com/blog/firebug/firebug-15-xhr-breakpoints/&quot; rel=&quot;nofollow&quot;&gt;http://www.softwareishard.com/blog/firebug/fire...&lt;/a&gt;&lt;br&gt;Unfortunately the beta doesn&#039;t seem to behave quite like the documentation, setting the brakpoint on the widget request jumps me into debugging the jQuery library .</description>
		<content:encoded><![CDATA[<p>Thanks for the pointers.  Investigating a little further it looks like Firebug will do what I want soon &#8211; <a href="http://www.softwareishard.com/blog/firebug/firebug-15-xhr-breakpoints/" rel="nofollow"></a><a href="http://www.softwareishard.com/blog/firebug/fire.." rel="nofollow">http://www.softwareishard.com/blog/firebug/fire..</a>.<br />Unfortunately the beta doesn&#39;t seem to behave quite like the documentation, setting the brakpoint on the widget request jumps me into debugging the jQuery library .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: techbubble</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-23</link>
		<dc:creator>techbubble</dc:creator>
		<pubDate>Thu, 14 Jan 2010 02:09:58 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-23</guid>
		<description>You can debug Widget javascript code just like any other JS code. You can use console.log() to log messages to show in FireBug or other add-ons that support the console object. Since Widgets are simply manipulating DOM elements, you can continue to see their effect on the DOM tree. While the HTML source you view in the browser&#039;s &quot;View Source&quot; listing will continue to display an &lt;object&gt; element for the Widget, the DOM will accurately reflect the changes made by your code, whether that&#039;s adding, removing or changing elements.&lt;br&gt;&lt;br&gt;If you add a div to the page with an ID of &quot;DebugConsole&quot; you can take advantage of two framework methods for debugging:&lt;br&gt;&lt;br&gt;$DEBUG(s, overwrite) which will cause the string passed as parameter &quot;s&quot; to be displayed in the DebugConsole div. The second parameter &quot;overwrite&quot; is optional and determines whether the console content should be pre-pended or replaced.&lt;br&gt;&lt;br&gt;$DEBUGLINE(s, overwrite) is identical except that it appends &lt;br /&gt; to the string you pass.</description>
		<content:encoded><![CDATA[<p>You can debug Widget javascript code just like any other JS code. You can use console.log() to log messages to show in FireBug or other add-ons that support the console object. Since Widgets are simply manipulating DOM elements, you can continue to see their effect on the DOM tree. While the HTML source you view in the browser&#39;s &#8220;View Source&#8221; listing will continue to display an &lt;object&gt; element for the Widget, the DOM will accurately reflect the changes made by your code, whether that&#39;s adding, removing or changing elements.</p>
<p>If you add a div to the page with an ID of &#8220;DebugConsole&#8221; you can take advantage of two framework methods for debugging:</p>
<p>$DEBUG(s, overwrite) which will cause the string passed as parameter &#8220;s&#8221; to be displayed in the DebugConsole div. The second parameter &#8220;overwrite&#8221; is optional and determines whether the console content should be pre-pended or replaced.</p>
<p>$DEBUGLINE(s, overwrite) is identical except that it appends <br /> to the string you pass.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: caroig</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-22</link>
		<dc:creator>caroig</dc:creator>
		<pubDate>Thu, 14 Jan 2010 01:56:48 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-22</guid>
		<description>I&#039;m use to working client side and don&#039;t really know a great deal about the internals of DNN so bear with me.  How can I debug my javascript - I guess the widget js code is not going to be visible to Firebug?  Can I log warnings/error to the console during the running of the widget code?&lt;br&gt;Is there a way I can &#039;see&#039; the widgets childnodes?  It doesn&#039;t appear to be in the DOM so I&#039;m guessing I can throw my current toolset away.&lt;br&gt;&lt;br&gt;Thanks</description>
		<content:encoded><![CDATA[<p>I&#39;m use to working client side and don&#39;t really know a great deal about the internals of DNN so bear with me.  How can I debug my javascript &#8211; I guess the widget js code is not going to be visible to Firebug?  Can I log warnings/error to the console during the running of the widget code?<br />Is there a way I can &#39;see&#39; the widgets childnodes?  It doesn&#39;t appear to be in the DOM so I&#39;m guessing I can throw my current toolset away.</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: techbubble</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-20</link>
		<dc:creator>techbubble</dc:creator>
		<pubDate>Thu, 14 Jan 2010 00:12:36 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-20</guid>
		<description>Thanks for the feedback and for pointing out the problem with the links which I have now corrected.</description>
		<content:encoded><![CDATA[<p>Thanks for the feedback and for pointing out the problem with the links which I have now corrected.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: caroig</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-19</link>
		<dc:creator>caroig</dc:creator>
		<pubDate>Wed, 13 Jan 2010 23:04:24 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-19</guid>
		<description>Excellent, a very useful series of articles.  &lt;br&gt;&lt;br&gt;P.S. The links to the other parts are not working correctly in this page.</description>
		<content:encoded><![CDATA[<p>Excellent, a very useful series of articles.  </p>
<p>P.S. The links to the other parts are not working correctly in this page.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tweets that mention DotNetNuke Widgets Guide (Part 4 of 4) &#124; TechBubble -- Topsy.com</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-25</link>
		<dc:creator>Tweets that mention DotNetNuke Widgets Guide (Part 4 of 4) &#124; TechBubble -- Topsy.com</dc:creator>
		<pubDate>Wed, 13 Jan 2010 22:47:17 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-25</guid>
		<description>[...] This post was mentioned on Twitter by Joe Brinkman, Nik Kalyani, Nik Kalyani, Mark Allan, James Wallace and others. James Wallace said: RT @TechBubble Blogged: DotNetNuke Widgets Guide (Part 4 of 4) http://bit.ly/8SCKuw [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Joe Brinkman, Nik Kalyani, Nik Kalyani, Mark Allan, James Wallace and others. James Wallace said: RT @TechBubble Blogged: DotNetNuke Widgets Guide (Part 4 of 4) <a href="http://bit.ly/8SCKuw" rel="nofollow">http://bit.ly/8SCKuw</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uberVU - social comments</title>
		<link>http://www.kalyani.com/2010/01/dotnetnuke-widgets-guide-part-4-of-4/comment-page-1/#comment-21</link>
		<dc:creator>uberVU - social comments</dc:creator>
		<pubDate>Wed, 13 Jan 2010 19:32:35 +0000</pubDate>
		<guid isPermaLink="false">http://kalyani.com/?p=1039#comment-21</guid>
		<description>&lt;strong&gt;Social comments and analytics for this post...&lt;/strong&gt;

This post was mentioned on Twitter by techbubble: Blogged: DotNetNuke Widgets Guide (Part 4 of 4) http://bit.ly/8SCKuw...</description>
		<content:encoded><![CDATA[<p><strong>Social comments and analytics for this post&#8230;</strong></p>
<p>This post was mentioned on Twitter by techbubble: Blogged: DotNetNuke Widgets Guide (Part 4 of 4) <a href="http://bit.ly/8SCKuw.." rel="nofollow">http://bit.ly/8SCKuw..</a>.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
