<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MyLifeBBS</title>
	<atom:link href="http://www.mylifebbs.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mylifebbs.com</link>
	<description>The World without Boundaries</description>
	<lastBuildDate>Fri, 29 Jan 2010 02:12:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</title>
		<link>http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/</link>
		<comments>http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 08:56:30 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[DotNetNuke Captcha]]></category>
		<category><![CDATA[reCaptcha]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/283/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/</guid>
		<description><![CDATA[If you don’t know what is re-Captcha, this article: What is re-Captcha might help you to get on foot before starting this easy implement guide to install re-CaptCha into your DNN Modules. 
DotNetNuke users has long frustrated by the poor design of DotNetNuke Captcha which is has a critical flaw where the Captcha image will [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/06/dotnetnuke-customizing-your-login-part-3/' rel='bookmark' title='Permanent Link: DotNetNuke Customizing your Login &#8211; PART 3'>DotNetNuke Customizing your Login &#8211; PART 3</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you don’t know what is re-Captcha, this article: <a href="http://recaptcha.net/learnmore.html" target="_blank">What is re-Captcha</a> might help you to get on foot before starting this easy implement guide to install re-CaptCha into your DNN Modules. </p>
<p>DotNetNuke users has long frustrated by the poor design of DotNetNuke Captcha which is has a critical flaw where the Captcha image will be cached in the server and never being refresh if you set the cache the module or the whole page. One of the common error is the DotNetNuke Captcha’s image not showing issue when the DotNetNuke has <a href="http://www.snapsis.com/Default.aspx?tabid=589&amp;CATReferrer=5124" rel="nofollow" target="_blank">PageBlaster</a> installed, it is a big trade off for a big site to lack of either one of them.</p>
<p> <span id="more-283"></span>
<p>Despite the <a href="http://recaptcha.net/whyrecaptcha.html" target="_blank">advantages of using re-Captcha</a>, it has a big flaw which it has to connect to the internet to have it working properly. Else, let’s get started modifying your modules without the need of the module source code and recompiling them.</p>
<p>Step 1: <a href="https://admin.recaptcha.net/accounts/signup/" target="_blank">Register yourself a Key token</a> and <a href="http://code.google.com/p/recaptcha/downloads/list?q=label:aspnetlib-Latest" target="_blank">download the re-Captcha</a>.</p>
<p>Step 2: Unzip the download file and upload Recaptcha.dll to your DotNetNuke bin folder via FTP. (/httpdocs/bin)</p>
<p>Now the following guide uses Ventrian’s NewsArticle Module for demonstration.</p>
<p>Step 3: Download the ASCX file that handling News Article Comment layout from <em>/DesktopModules/DnnForge &#8211; NewsArticles/Controls/PostComment.ascx</em></p>
<p>Step 4: Open it with an editor and insert the reCAPTCHA control on top of the ASCX file (after Page control)</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;%@ Control Language=<span style="color: #006080">&quot;vb&quot;</span> AutoEventWireup=<span style="color: #006080">&quot;false&quot;</span> CodeBehind=<span style="color: #006080">&quot;PostComment.ascx.vb&quot;</span> <span style="color: #0000ff">Inherits</span>=<span style="color: #006080">&quot;Ventrian.NewsArticles.Controls.PostComment&quot;</span> %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;%@ Register TagPrefix=<span style="color: #006080">&quot;dnn&quot;</span> <span style="color: #0000ff">Assembly</span>=<span style="color: #006080">&quot;DotNetNuke&quot;</span> <span style="color: #0000ff">Namespace</span>=<span style="color: #006080">&quot;DotNetNuke.UI.WebControls&quot;</span>%&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;%@ Register TagPrefix=<span style="color: #006080">&quot;recaptcha&quot;</span> <span style="color: #0000ff">Namespace</span>=<span style="color: #006080">&quot;Recaptcha&quot;</span> <span style="color: #0000ff">Assembly</span>=<span style="color: #006080">&quot;Recaptcha&quot;</span> %&gt;</pre>
</p></div>
</div>
<p>Step 5: Scroll down around line 28 where the default DNN Captcha is called:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;dnn:captchacontrol id=<span style="color: #006080">&quot;ctlCaptcha&quot;</span> captchawidth=<span style="color: #006080">&quot;130&quot;</span> captchaheight=<span style="color: #006080">&quot;40&quot;</span> cssclass=<span style="color: #006080">&quot;Normal&quot;</span> runat=<span style="color: #006080">&quot;server&quot;</span> errorstyle-cssclass=<span style="color: #006080">&quot;NormalRed&quot;</span> /&gt;</pre>
</p></div>
</div>
<p>and insert the reCaptcha after it:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;dnn:captchacontrol id=<span style="color: #006080">&quot;ctlCaptcha&quot;</span> captchawidth=<span style="color: #006080">&quot;130&quot;</span> captchaheight=<span style="color: #006080">&quot;40&quot;</span> cssclass=<span style="color: #006080">&quot;Normal&quot;</span> runat=<span style="color: #006080">&quot;server&quot;</span> errorstyle-cssclass=<span style="color: #006080">&quot;NormalRed&quot;</span> /&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;recaptcha:RecaptchaControl</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">ID=<span style="color: #006080">&quot;recaptcha&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">runat=<span style="color: #006080">&quot;server&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">PublicKey=<span style="color: #006080">&quot;[TOKEN]&quot;</span>            </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">PrivateKey=<span style="color: #006080">&quot;[TOKEN]&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">/&gt;</pre>
</p></div>
</div>
<p>Replace the [TOKEN] with the key you get from the registration and That’s it! Now upload and replace the PostComment.ascx and go to NewsArticle Admin Setting to disable the default comment Captcha. However, due to the limitation of not touching the VB files, it is impossible to create some condition like only show reCaptcha to unregister visitors.</p>
<p>However, if you wish to change the reCaptcha design, here’s the <a href="http://recaptcha.net/apidocs/captcha/client.html" target="_blank">guide to customize the reCaptcha design</a>.</p>
<p>Hopefully reCaptcha will be integrated into more DNN modules. Btw, the above method will not work in DotNetNuke Feedback and UserDefinedTable Module due to the way they code the module.</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/06/dotnetnuke-customizing-your-login-part-3/' rel='bookmark' title='Permanent Link: DotNetNuke Customizing your Login &#8211; PART 3'>DotNetNuke Customizing your Login &#8211; PART 3</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Show DNN Module in Another Module&#8217;s Generated Page.</title>
		<link>http://www.mylifebbs.com/2009/12/show-dnn-module-in-another-modules-generated-page/</link>
		<comments>http://www.mylifebbs.com/2009/12/show-dnn-module-in-another-modules-generated-page/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 01:34:20 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Request URL]]></category>
		<category><![CDATA[Show Module only specific page]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/2009/12/show-dnn-module-in-another-modules-generated-page/</guid>
		<description><![CDATA[One of the greatest feature of DotNetNuke is to allow use to show the module in the page they like based on the viewer’s role and permission. However, this only apply to DotNetNuke generated pages. So, how about showing a module only in a page that is generated by Blog Module for example?
The solution is [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
<li><a href='http://www.mylifebbs.com/2009/05/making-dotnetnuke-logo-link-seo-friendly/' rel='bookmark' title='Permanent Link: Making DotNetNuke Logo Link SEO Friendly!'>Making DotNetNuke Logo Link SEO Friendly!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>One of the greatest feature of DotNetNuke is to allow use to show the module in the page they like based on the viewer’s role and permission. However, this only apply to DotNetNuke generated pages. So, how about showing a module only in a page that is generated by Blog Module for example?</p>
<p>The solution is simple, all you need to do is add the following lines into your skin.ascx file:</p>
<p> <span id="more-282"></span>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;% <span style="color: #0000ff">If</span> Regex.IsMatch (Request.URL.ToString, <span style="color: #006080">&quot;REGEX HERE&quot;</span>) <span style="color: #0000ff">Then</span> %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;div id=<span style="color: #006080">&quot;ExtraPane&quot;</span> runat=<span style="color: #006080">&quot;server&quot;</span>&gt;&lt;/div&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;% <span style="color: #0000ff">End</span> <span style="color: #0000ff">If</span> %&gt;</pre>
</p></div>
</div>
<p>The idea is to show a module pane only when a specific page is called. In the above example, we use ASP.NET Regex to match with the requested URL with the self defined Regex value “REGEX HERE”.</p>
<p>Using Ventrian’s Article Module for example, the default URL of a Article Page looks something like this:<br />
  <br /><em>http://www.example.com/NewsArticles/tabid/218/articleType/<strong>ArticleView</strong>/articleId/384/Example-Page.aspx</em></p>
<p>In the url above, we can easily identify the unique parameter of the module’s generated url: <em><strong>ArticleView, </strong></em>we use this as the Regex filter and replace it with&#160; “REGEX HERE” and you have this:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;% <span style="color: #0000ff">If</span> Regex.IsMatch (Request.URL.ToString, <span style="color: #006080">&quot;ArticleView&quot;</span>) <span style="color: #0000ff">Then</span> %&gt;</pre>
</p></div>
</div>
<p>If you worry you might have the word “ArticleView” word in other pages’ URL, you could put a longer regex value to filter it:&#160; &amp;tabid=218&amp;ArticleView=</p>
<p><strong>Important Note:</strong> The “Request.URL.ToString” calls the raw url which looks like this:</p>
<p><em>Default.aspx?TabId=88&amp;ArticleView=</em></p>
<p><strong></strong></p>
<p>Thus, your Regex Value must match with the raw url and not the Human Friendly Url that you see in the web browser.</p>
<p>If you do not know the raw url of the module generated page’s url, you could add this into your skin file to find it out:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;!-- &lt;%= Request.URL.ToString %&gt; --&gt;</pre>
</p></div>
</div>
<p>Note: &lt;!&#8211;&#160;&#160; &#8211;&gt; is added so that it will not show in the normal view but you can see it via browser’s view page source function. This is to avoid interference in production site.</p>
<p>For a live demonstration, you can see this page:<br />
  <br /><em>http://www.goeatout.com.my/Restaurants/Promotions.aspx</em> and</p>
<p><em>http://www.goeatout.com.my/Restaurants/Promotions/Details/View/PID/31315/Hong-La-Qiao-Restaurant-Steamboat-Buffet.aspx</em></p>
<p>In the second link, a module “More Related Dining Promotions” is added at the page bottom which only shows in the page with “PID” in the URL but not in any of it’s parent page <em>/Promotions/</em></p>
<p>For advanced combination, you could add “AND” in the code:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;% <span style="color: #0000ff">If</span> Regex.IsMatch (Request.URL.ToString, <span style="color: #006080">&quot;REGEX HERE&quot;</span>) <span style="color: #0000ff">AND</span> DotNetNuke.Security.PortalSecurity.IsInRoles(PortalSettings.AdministratorRoleName) <span style="color: #0000ff">Then</span> %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        &lt;div id=<span style="color: #006080">&quot;ExtraPane&quot;</span> runat=<span style="color: #006080">&quot;server&quot;</span>&gt;&lt;/div&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;% <span style="color: #0000ff">End</span> <span style="color: #0000ff">If</span> %&gt;</pre>
</p></div>
</div>
<p>In the example above, it will show the extra pane only if the request url is match with your regex and the viewer has administrator role.</p>
<p>Have fun^^</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
<li><a href='http://www.mylifebbs.com/2009/05/making-dotnetnuke-logo-link-seo-friendly/' rel='bookmark' title='Permanent Link: Making DotNetNuke Logo Link SEO Friendly!'>Making DotNetNuke Logo Link SEO Friendly!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/12/show-dnn-module-in-another-modules-generated-page/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to connect MySQL Administrator Tool with Server Side MySQL</title>
		<link>http://www.mylifebbs.com/2009/11/how-to-connect-mysql-administrator-tool-with-server-side-mysql/</link>
		<comments>http://www.mylifebbs.com/2009/11/how-to-connect-mysql-administrator-tool-with-server-side-mysql/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 05:22:46 +0000</pubDate>
		<dc:creator>inspiron64</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/?p=280</guid>
		<description><![CDATA[I&#8217;m a PHP &#38; MySQL Beginner. Normally when i start to build an application, i will choose to code a store and retrieve function. This will help me more easy to understand the new programming language.
So i search around google and found that i can connect MySQL with MySQL Administrator Tool.
You can download from here: [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2008/12/getting-a-domain-work/' rel='bookmark' title='Permanent Link: Getting a domain work.'>Getting a domain work.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2008/12/server-down-maintaining-a-server-commons-problems-of-web-hosting/' rel='bookmark' title='Permanent Link: Server Down &#8211; Maintaining a Server &#8211; Commons Problems of Web Hosting.'>Server Down &#8211; Maintaining a Server &#8211; Commons Problems of Web Hosting.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a PHP &amp; MySQL Beginner. Normally when i start to build an application, i will choose to code a store and retrieve function. This will help me more easy to understand the new programming language.</p>
<p>So i search around google and found that i can connect MySQL with MySQL Administrator Tool.</p>
<p>You can download from here: <a href="http://dev.mysql.com/downloads/gui-tools/5.0.html">MySQL Administrator Tool</a></p>
<p>Although i can find a lot guide from Google, how to connect database with MySQL Administrator, but i still lost on it. After try out few times, i found that i need to add my IP Address to MySQL Database Host.</p>
<p>Step by Step to add your IP Address to Database Host:<span id="more-280"></span></p>
<p>1. Login Linux Server.<br />
2. Choose your Domain.<br />
3. Choose MySQL Management.<br />
4. Choose Your Database.<br />
5. You will see a &#8220;Access Host&#8221; below User Table.<br />
6. Search your <a href="http://www.ip-adress.com/">IP Adress</a>, and add it.<br />
7. Now connect you can connect your server side MySQL  with MySQL Administrator Tool.<br />
8. Server Host: Domain Name, Port: 3306</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2008/12/getting-a-domain-work/' rel='bookmark' title='Permanent Link: Getting a domain work.'>Getting a domain work.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2008/12/server-down-maintaining-a-server-commons-problems-of-web-hosting/' rel='bookmark' title='Permanent Link: Server Down &#8211; Maintaining a Server &#8211; Commons Problems of Web Hosting.'>Server Down &#8211; Maintaining a Server &#8211; Commons Problems of Web Hosting.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/11/how-to-connect-mysql-administrator-tool-with-server-side-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Give an unique id for every DNN Containers</title>
		<link>http://www.mylifebbs.com/2009/10/give-an-unique-id-for-every-dnn-containers/</link>
		<comments>http://www.mylifebbs.com/2009/10/give-an-unique-id-for-every-dnn-containers/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 09:36:00 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Unique Container ID]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/2009/10/give-an-unique-id-for-every-dnn-containers/</guid>
		<description><![CDATA[Inspired by Think of Design&#8217;s avoid span in module title and amount of requests including myself to have a unique id for every containers in DotNetNuke, I’ve came out with this simple solution to ease the designing works in DotNetNuke Skinning.


&#60;!-- From thinkofdesign.com --&#62;
&#60;%@ Control language=&#34;vb&#34; AutoEventWireup=&#34;false&#34; Explicit=&#34;True&#34; Inherits=&#34;DotNetNuke.UI.Containers.Container&#34; %&#62;
 &#60;%@ Register TagPrefix=&#34;dnn&#34; TagName=&#34;TITLE&#34; Src=&#34;~/Admin/Containers/Title.ascx&#34; [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
<li><a href='http://www.mylifebbs.com/2009/06/dotnetnuke-customizing-your-login-part-3/' rel='bookmark' title='Permanent Link: DotNetNuke Customizing your Login &#8211; PART 3'>DotNetNuke Customizing your Login &#8211; PART 3</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Inspired by Think of Design&#8217;s <a href="http://www.thinkofdesign.com/blog/id/66/how-to-avoid-the-span-in-the-dnntitle.aspx" target="_blank">avoid span in module title</a> and amount of requests including myself to have a unique id for every containers in DotNetNuke, I’ve came out with this simple solution to ease the designing works in DotNetNuke Skinning.</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;!-- From thinkofdesign.com --&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;%@ Control language=<span style="color: #006080">&quot;vb&quot;</span> AutoEventWireup=<span style="color: #006080">&quot;false&quot;</span> Explicit=<span style="color: #006080">&quot;True&quot;</span> <span style="color: #0000ff">Inherits</span>=<span style="color: #006080">&quot;DotNetNuke.UI.Containers.Container&quot;</span> %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;%@ Register TagPrefix=<span style="color: #006080">&quot;dnn&quot;</span> TagName=<span style="color: #006080">&quot;TITLE&quot;</span> Src=<span style="color: #006080">&quot;~/Admin/Containers/Title.ascx&quot;</span> %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;%@ Register TagPrefix=<span style="color: #006080">&quot;dnn&quot;</span> TagName=<span style="color: #006080">&quot;Actions&quot;</span> Src=<span style="color: #006080">&quot;~/Admin/Containers/Actions.ascx&quot;</span> %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;dnn:title runat=<span style="color: #006080">&quot;server&quot;</span> id=<span style="color: #006080">&quot;dnnTitle&quot;</span> visible=<span style="color: #006080">&quot;false&quot;</span> /&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;% <span style="color: #0000ff">Dim</span> ModuleTitle <span style="color: #0000ff">As</span> <span style="color: #0000ff">String</span> = GetPortalModuleBase(dnnTitle).ModuleConfiguration.ModuleTitle %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;div <span style="color: #0000ff">class</span>=<span style="color: #006080">&quot;common&quot;</span>&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;h3&gt;&lt;%= ModuleTitle %&gt;&lt;/h3&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;dnn:Actions runat=<span style="color: #006080">&quot;server&quot;</span> id=<span style="color: #006080">&quot;dnnActions&quot;</span> /&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;div id=<span style="color: #006080">&quot;ContentPane&quot;</span> runat=<span style="color: #006080">&quot;server&quot;</span> /&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"> &lt;/div&gt; </pre>
</p></div>
</div>
<p>Using the same logic, we can retrieve the module id by modifying the DNN property code:</p>
<p><span id="more-274"></span></p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;% <span style="color: #0000ff">Dim</span> ConModule <span style="color: #0000ff">As</span> DotNetNuke.Entities.Modules.ModuleInfo = DotNetNuke.UI.Containers.Container.GetPortalModuleBase(<span style="color: #0000ff">Me</span>).ModuleConfiguration %&gt;</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">&lt;div id=<span style="color: #006080">&quot;Container&lt;%=ConModule.ModuleID %&gt;&quot;</span> <span style="color: #0000ff">class</span>=<span style="color: #006080">&quot;PekoOutterCon con180&quot;</span>&gt;</pre>
</p></div>
</div>
<p>Theoretically, all you need to do is to change the .ModuleTitle to .ModuleID. Since CSS id cannot start with a number, you will need to add some word before calling out the ModuleID in the div.</p>
<p>However, you will find that if you logout from DNN, the module will failed to call out the correct ModuleID.</p>
<p>Thus, you will have to define that correct container and ModuleInfo.</p>
<p>Now you can change the individual container without interfering with other DNN Container.</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
<li><a href='http://www.mylifebbs.com/2009/06/dotnetnuke-customizing-your-login-part-3/' rel='bookmark' title='Permanent Link: DotNetNuke Customizing your Login &#8211; PART 3'>DotNetNuke Customizing your Login &#8211; PART 3</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/10/give-an-unique-id-for-every-dnn-containers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best Free JavaScript and CSS Compressor to Optimized your Website.</title>
		<link>http://www.mylifebbs.com/2009/10/best-free-javascript-and-css-compressor-to-optimized-your-website/</link>
		<comments>http://www.mylifebbs.com/2009/10/best-free-javascript-and-css-compressor-to-optimized-your-website/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 02:54:59 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[JS Compression]]></category>
		<category><![CDATA[Minify Javascript]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/2009/10/best-free-javascript-and-css-compressor-to-optimized-your-website/</guid>
		<description><![CDATA[If you are digging into DotNetNuke website optimization, I’m sure you have been struggling on it. It’s not easy to optimize all the JavaScript and CSS in robust web application like DotNetNuke. If you’re a heavy users and afford to pay for solution, then the simplest way is to buy all in one compressor like [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/03/a-little-talk-on-website-template-and-skin-design/' rel='bookmark' title='Permanent Link: A little Talk on website Template and skin design'>A little Talk on website Template and skin design</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2008/12/malaysia-police-official-website/' rel='bookmark' title='Permanent Link: Malaysia Police Official Website.'>Malaysia Police Official Website.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you are digging into DotNetNuke website optimization, I’m sure you have been struggling on it. It’s not easy to optimize all the JavaScript and CSS in robust web application like DotNetNuke. If you’re a heavy users and afford to pay for solution, then the simplest way is to buy all in one compressor like S<a href="http://www.snowcovered.com/Snowcovered2/Default.aspx?tabid=242&amp;PackageID=15078&amp;r=1709a79d1b" rel="nofollow" target="_blank">napsis PageBlaster Pro</a> to merge and compress all JavaScripts. However, this is not always the solution if you have other modules and setting in your DNN. Most of the time merging the DNN Core JS will result in break functionality to you web portal.</p>
<p> <span id="more-264"></span>
</p>
<p>From my past experience, it is better not to touch the DNN JavaScript unless you know what are you doing. Thus the best practice is to compress the JavaScript and CSS into a smaller files. There are a lot of compression tools and those free only most of the time is outdated and not error proof to your script.</p>
<p>Thus, the best way is to copy a compressed script that already tested in the browser! First you need to have FireFox web Browser, then you will need to install <a href="http://getfirebug.com/" target="_blank">FireBug</a> and <a href="http://code.google.com/speed/page-speed/" target="_blank">Google Page Speed Analyzer plugin</a>.</p>
<p>Yup, it’s from Google! Having confidence now? Now fire up your PageSpeed on the webpage that have the JS loaded and expand the JS node from it:</p>
<p><a href="http://www.mylifebbs.com/wp-content/uploads/2009/10/googlepagespeedsnapshot.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="google-page-speed-snapshot" border="0" alt="google-page-speed-snapshot" src="http://www.mylifebbs.com/wp-content/uploads/2009/10/googlepagespeedsnapshot_thumb.jpg" width="637" height="252" /></a> </p>
<p>Click on the minified version link and you will be able to download the minified version of JavaScript, replace it with your original JS file and you will have a 100% safe and Free Compressed JS, Hooray!</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/03/a-little-talk-on-website-template-and-skin-design/' rel='bookmark' title='Permanent Link: A little Talk on website Template and skin design'>A little Talk on website Template and skin design</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2008/12/malaysia-police-official-website/' rel='bookmark' title='Permanent Link: Malaysia Police Official Website.'>Malaysia Police Official Website.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/10/best-free-javascript-and-css-compressor-to-optimized-your-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making DIV Containers Same Height to each other.</title>
		<link>http://www.mylifebbs.com/2009/10/making-div-cotainers-same-height-to-each-other/</link>
		<comments>http://www.mylifebbs.com/2009/10/making-div-cotainers-same-height-to-each-other/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 02:25:00 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[Same Height Container]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/2009/10/making-div-cotainers-same-height-to-each-other/</guid>
		<description><![CDATA[Often Portal based web design will have flexible height on all content columns. However, sometimes it will be very ugly if your content is too long and leaving your right column, for example blank.
There are many scriptless, pure CSS solutions to fix this problem but turns out you have to write a lot of CSS [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/10/give-an-unique-id-for-every-dnn-containers/' rel='bookmark' title='Permanent Link: Give an unique id for every DNN Containers'>Give an unique id for every DNN Containers</a></li>
<li><a href='http://www.mylifebbs.com/2009/05/making-dotnetnuke-logo-link-seo-friendly/' rel='bookmark' title='Permanent Link: Making DotNetNuke Logo Link SEO Friendly!'>Making DotNetNuke Logo Link SEO Friendly!</a></li>
<li><a href='http://www.mylifebbs.com/2009/10/best-free-javascript-and-css-compressor-to-optimized-your-website/' rel='bookmark' title='Permanent Link: Best Free JavaScript and CSS Compressor to Optimized your Website.'>Best Free JavaScript and CSS Compressor to Optimized your Website.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Often Portal based web design will have flexible height on all content columns. However, sometimes it will be very ugly if your content is too long and leaving your right column, for example blank.</p>
<p>There are many scriptless, pure CSS solutions to fix this problem but turns out you have to write a lot of CSS and html to make it compatible in all type of browsers. This is just not applicable for heavy web applications like DotNetNuke.</p>
<p> <span id="more-262"></span>
</p>
<p>Well, the solution is simple. With the pre-installed jquery in DNN5, all you need is to include a simple script like below in your DNN Page header to adjust your content panes height:</p>
<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px">
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"> $(<span style="color: #0000ff">document</span>).ready(<span style="color: #0000ff">function</span>() {
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">var</span> sameHeight = $(&quot;<span style="color: #8b0000">#DNN_ContentPane</span>&quot;).height();
</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">		  $(&quot;<span style="color: #8b0000">#DNN_RightPane</span>&quot;).height(sameHeight);
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    });
</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre>
</pre>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/10/give-an-unique-id-for-every-dnn-containers/' rel='bookmark' title='Permanent Link: Give an unique id for every DNN Containers'>Give an unique id for every DNN Containers</a></li>
<li><a href='http://www.mylifebbs.com/2009/05/making-dotnetnuke-logo-link-seo-friendly/' rel='bookmark' title='Permanent Link: Making DotNetNuke Logo Link SEO Friendly!'>Making DotNetNuke Logo Link SEO Friendly!</a></li>
<li><a href='http://www.mylifebbs.com/2009/10/best-free-javascript-and-css-compressor-to-optimized-your-website/' rel='bookmark' title='Permanent Link: Best Free JavaScript and CSS Compressor to Optimized your Website.'>Best Free JavaScript and CSS Compressor to Optimized your Website.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/10/making-div-cotainers-same-height-to-each-other/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improve your DotNetNuke SEO Performance by knowing Long ASP.NET View State Issue in DNN.</title>
		<link>http://www.mylifebbs.com/2009/10/improve-your-dotnetnuke-seo-performance-by-knowing-long-asp-net-view-state-issue-in-dnn/</link>
		<comments>http://www.mylifebbs.com/2009/10/improve-your-dotnetnuke-seo-performance-by-knowing-long-asp-net-view-state-issue-in-dnn/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 13:26:45 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/2009/10/improve-your-dotnetnuke-seo-performance-by-knowing-long-asp-net-view-state-issue-in-dnn/</guid>
		<description><![CDATA[Recently Microsoft released its series of IIS administration tools. Finally, there’s a Search Engine Optimization Tool that best analyze ASP.NET website. Who else is better understand the limitation and problems in ASP.NET than itself? Not saying than Asp.net is not good, other framework has their own problems as well and have a lot of analysis [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-parent-portal-and-hosting-dns-setting/' rel='bookmark' title='Permanent Link: DotNetNuke Parent Portal and Hosting DNS Setting.'>DotNetNuke Parent Portal and Hosting DNS Setting.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Recently Microsoft released its series of IIS administration tools. Finally, there’s a Search Engine Optimization Tool that best analyze ASP.NET website. Who else is better understand the limitation and problems in ASP.NET than itself? Not saying than Asp.net is not good, other framework has their own problems as well and have a lot of analysis tools since long time ago.</p>
<p>I haven’t test it much since it only support IIS7, It means you have to have it running on Vista or Windows Server 2008. What a shame? Anyway, it’s best if you can analyze your DotNetNuke problem before going to a live server especially if you’re on a shared server where you can test anything on the server side.</p>
<p>Most of the DotNetNuke users will have a <a href="http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/118/threadid/332735/scope/posts/Default.aspx" target="_blank">long view_state problem</a> if there is more than 5 different modules on the same page and probably get the warning message if you run the SEO Toolkit.</p>
<p>While past argument was that Search Engine Crawlers do not read them, it still have a great impact on your DotNetNuke Website Performance because the long view_state of DNN takes an average of 50Kb extra weight for crawler to download the page before indexing it.<span id="more-256"></span></p>
<p>If you have more than hundreds of pages with a lot of modules in it, most likely the crawler stomach will be fully filled after going for hundred of pages. There’s a quota of how many pages and the total of bytes to download every time a robot visit your website. Not only that it will affect the speed of indexing, it takes a lot of bandwidth from your server which is a impact if you are putting your DNN in a low cost shared server.</p>
<blockquote><p>In summary, from my experience, most module developers do not optimize view state of their modules… &#8212; <em>Sebastian Leupold, DNN Core Team Member</em></p></blockquote>
<p>There are 2 methods to solve this problem and the common one will be moving the view state to the page bottom. This does help little on the page rendering while a page is loaded but it won’t help much in Internet Explorer as it will always load and render the whole page before showing the content to the reader.</p>
<p>Thus, another method is simply store the view state in the memory. You can do that by going to the DNN Host Setting Panel and look for Page State Persistence &gt; Memory. However, doing so will make few core and third parties modules stop working due to the poor managed view state storing. (Most probably the first thing to break is AJAX Modules)</p>
<p>If you’re running DNN 5 and there is not “Page State Persistence” Setting in the Hosting Setting, Weird huh? You can add it back by running the following SQL statement in Host &gt; SQL</p>
<pre>
<pre style="margin: 0em; background-color: #ffffff; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">Turn it <span style="color: #0000ff">on</span>--</pre>
<pre style="margin: 0em; background-color: #ffffff; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">   UPDATE HostSettings <span style="color: #0000ff">SET</span> SettingValue = <span style="color: #008000">'M' WHERE SettingName = 'PageStatePersister'</span></pre>
<pre style="margin: 0em; background-color: #ffffff; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">Turn it off--</pre>
<pre style="margin: 0em; background-color: #ffffff; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">   UPDATE HostSettings <span style="color: #0000ff">SET</span> SettingValue = <span style="color: #008000">'P' WHERE SettingName = 'PageStatePersister'</span></pre>
<pre style="margin: 0em; background-color: #ffffff; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><span style="color: #0000ff">Then</span> click the "<span style="color: #8b0000">Restart Application</span>" link button.</pre>
</pre>
<p>If you wish to know why is it removed since DNN5 and added back, you can dig it from here: <a href="http://support.dotnetnuke.com/issue/ViewIssue.aspx?ID=9254&amp;PROJID=2" target="_blank">Removing DNN 5 Page State Persistence Setting</a> and <a href="http://support.dotnetnuke.com/issue/ViewIssue.aspx?ID=10613&amp;PROJID=2" target="_blank">PageStatePersistence: Setting gone, but functionality remains</a>.</p>
<p>Let’s download the <a href="http://www.iis.net/extensions/SEOToolkit" target="_blank">Microsoft SEO Toolkit</a> and give it a try. If you’re wondering how to move the DNN view_state to bottom, you can try <a href="http://www.snapsis.com/DotNetNuke-Performance-Caching-Compression-Optimization.aspx" target="_blank">Snapsis PageBlaster</a> but moving the view_state to bottom may still affect some modules, be sure to check the capability before going for it.</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-custom-error-page-404-page-not-found-redirection/' rel='bookmark' title='Permanent Link: DotNetNuke Custom Error Page, 404 Page Not Found Redirection'>DotNetNuke Custom Error Page, 404 Page Not Found Redirection</a></li>
<li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
<li><a href='http://www.mylifebbs.com/2009/01/dotnetnuke-parent-portal-and-hosting-dns-setting/' rel='bookmark' title='Permanent Link: DotNetNuke Parent Portal and Hosting DNS Setting.'>DotNetNuke Parent Portal and Hosting DNS Setting.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/10/improve-your-dotnetnuke-seo-performance-by-knowing-long-asp-net-view-state-issue-in-dnn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Modify Ventrian Property Agent</title>
		<link>http://www.mylifebbs.com/2009/10/how-to-modify-ventrian-property-agent/</link>
		<comments>http://www.mylifebbs.com/2009/10/how-to-modify-ventrian-property-agent/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 10:17:50 +0000</pubDate>
		<dc:creator>inspiron64</dc:creator>
				<category><![CDATA[DotNetNuke]]></category>
		<category><![CDATA[ventrian property agent]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/?p=253</guid>
		<description><![CDATA[
If you&#8217;re using Dotnetnuke and Ventrian Property Agent to build your webpage, sure you like to know how can modify ventrian PA by yourself.
Before we start to modify Ventrian PA Module, you need to download the File below:


Dotnetnuke version 4.x or 5.x


Ventrian Property Agent Install 	File and Source File (Any Version)


First, Install a Dotnetnuke in [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/03/changing-ventrian-property-agent-lightbox-buttons/' rel='bookmark' title='Permanent Link: Changing Ventrian Property Agent LightBox Buttons'>Changing Ventrian Property Agent LightBox Buttons</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
<li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { so-language: zxx } --></p>
<p style="margin-bottom: 0in">If you&#8217;re using Dotnetnuke and Ventrian Property Agent to build your webpage, sure you like to know how can modify ventrian PA by yourself.</p>
<p style="margin-bottom: 0in">Before we start to modify Ventrian PA Module, you need to download the File below:<span id="more-253"></span></p>
<ol>
<li>
<p style="margin-bottom: 0in">Dotnetnuke version 4.x or 5.x</p>
</li>
<li>
<p style="margin-bottom: 0in">Ventrian Property Agent Install 	File and Source File (Any Version)</p>
</li>
</ol>
<p style="margin-bottom: 0in">First, Install a Dotnetnuke in your Localhost. You can download the Dotnentuke from <a href="http://www.dotnetnuke.com/">http://www.dotnetnuke.com</a><a href="http://www.dotnetnuke.com/"><span style="text-decoration: none"> </span></a></p>
<p style="margin-bottom: 0in">After install Dotnetnuke, open your Website and install the Ventrian Property Agent using the Install File that you download. When you finish install the Ventrian PA Module, try to import a template on it and fill in a new property after import a new template. Template can be downloaded from <a href="http://www.ventrian.com/">http://www.ventrian.com</a></p>
<p style="margin-bottom: 0in">Ok. When all of this have been done, unzip the Ventrian Property Agent Source File. Copy and Paste all the files on it to the Ventrian PA that you installed. Normally the Folder will be on C:\Inetpub\wwwroot\(your DNN name)\DesktopModules\PropertyAgent</p>
<p style="margin-bottom: 0in">Open the folder and find a file which name “Ventrian.PropertyAgent.vbproj”. Open it with Notepad, and scroll to bottom. You will see a line which  like</p>
<p style="margin-bottom: 0in">&lt;IISUrl&gt;<a href="http://localhost/DotNetNuke455/DesktopModules/PropertyAgent">http://localhost/DotNetNuke455/DesktopModules/PropertyAgent</a>&lt;/IISUrl&gt;</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">Change it to</p>
<p style="margin-bottom: 0in">&lt;IISUrl&gt;<a href="http://localhost/%28your">http://localhost/(your</a> DNN name)/DesktopModules/PropertyAgent&lt;/IISUrl&gt;</p>
<p style="margin-bottom: 0in">AND</p>
<p style="margin-bottom: 0in">&lt;IISAppRootUrl&gt;<a href="http://localhost/DotNetNuke455">http://localhost/DotNetNuke455</a>&lt;/IISAppRootUrl&gt;</p>
<p style="margin-bottom: 0in">Change it to</p>
<p style="margin-bottom: 0in">&lt;IISAppRootUrl&gt;<a href="http://localhost/%28your">http://localhost/(your</a> DNN name)&lt;/IISAppRootUrl&gt;</p>
<p style="margin-bottom: 0in">
<p style="margin-bottom: 0in">All done. Now can open the Ventrian PA project with Microsoft Visual Web Developer.</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/03/changing-ventrian-property-agent-lightbox-buttons/' rel='bookmark' title='Permanent Link: Changing Ventrian Property Agent LightBox Buttons'>Changing Ventrian Property Agent LightBox Buttons</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/how-to-modify-dotnetnuke-login-page-the-easy-way/' rel='bookmark' title='Permanent Link: How to modify DotNetNuke Login Page? The Easy Way.'>How to modify DotNetNuke Login Page? The Easy Way.</a></li>
<li><a href='http://www.mylifebbs.com/2010/01/guide-to-implement-re-captcha-in-dotnetnuke-modules-without-touching-the-source-code/' rel='bookmark' title='Permanent Link: Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.'>Guide to implement re-Captcha in DotNetNuke Modules without touching the source code.</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/10/how-to-modify-ventrian-property-agent/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MyLifeBBS Web Template is Changed!</title>
		<link>http://www.mylifebbs.com/2009/09/mylifebbs-web-template-is-changed/</link>
		<comments>http://www.mylifebbs.com/2009/09/mylifebbs-web-template-is-changed/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 07:25:00 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Motivation]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/?p=247</guid>
		<description><![CDATA[Self learning sometimes is hard especially you don&#8217;t have much experience in programming. I recalled 2 years back I know nothing about html and css, I was forced to learn it because of my work. Today, at least I can be considered as a well experienced web designer in html and css.
Today is Hari Raya [...]


Related posts:<ol><li><a href='http://www.mylifebbs.com/2008/12/rushing-the-website/' rel='bookmark' title='Permanent Link: Rushing the website'>Rushing the website</a></li>
<li><a href='http://www.mylifebbs.com/2006/12/information-technology/' rel='bookmark' title='Permanent Link: Information Technology'>Information Technology</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/a-little-talk-on-website-template-and-skin-design/' rel='bookmark' title='Permanent Link: A little Talk on website Template and skin design'>A little Talk on website Template and skin design</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Self learning sometimes is hard especially you don&#8217;t have much experience in programming. I recalled 2 years back I know nothing about html and css, I was forced to learn it because of my work. Today, at least I can be considered as a well experienced web designer in html and css.</p>
<p>Today is Hari Raya and I&#8217;ve spent about 30 hours learning wordpress theme design and php code. Luckily there are many <a href="http://codex.wordpress.org/">wordpress code reference</a> for noob like me to get the hands dirty.</p>
<p>So I&#8217;ve build this theme from nothing! Leave a comment to me <img src='http://www.mylifebbs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2008/12/rushing-the-website/' rel='bookmark' title='Permanent Link: Rushing the website'>Rushing the website</a></li>
<li><a href='http://www.mylifebbs.com/2006/12/information-technology/' rel='bookmark' title='Permanent Link: Information Technology'>Information Technology</a></li>
<li><a href='http://www.mylifebbs.com/2009/03/a-little-talk-on-website-template-and-skin-design/' rel='bookmark' title='Permanent Link: A little Talk on website Template and skin design'>A little Talk on website Template and skin design</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/09/mylifebbs-web-template-is-changed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ramadan Promotion 2009, Get Ready to Buka Puasa!</title>
		<link>http://www.mylifebbs.com/2009/08/ramadan-promotion-2009-get-ready-to-buka-puasa/</link>
		<comments>http://www.mylifebbs.com/2009/08/ramadan-promotion-2009-get-ready-to-buka-puasa/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 02:55:29 +0000</pubDate>
		<dc:creator>George</dc:creator>
				<category><![CDATA[Things in The Internet]]></category>
		<category><![CDATA[Ramadan Promotion]]></category>

		<guid isPermaLink="false">http://www.mylifebbs.com/?p=227</guid>
		<description><![CDATA[If you&#8217;re looking for Ramadan Restaurant Promotion for this year, look nowhere! Here&#8217;s the list of restaurants offering cool Ramadan Promotion, buffets, events!
Selamat Buka Puasa!


Related posts:New Year 2009 Bucket List
Blog tips to make your life easier in 2009



Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/01/new-year-2009-bucket-list/' rel='bookmark' title='Permanent Link: New Year 2009 Bucket List'>New Year 2009 Bucket List</a></li>
<li><a href='http://www.mylifebbs.com/2009/02/blog-tips-to-make-your-life-easier-in-2009/' rel='bookmark' title='Permanent Link: Blog tips to make your life easier in 2009'>Blog tips to make your life easier in 2009</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re looking for Ramadan Restaurant Promotion for this year, look nowhere! Here&#8217;s the list of restaurants offering cool <a href="http://www.goeatout.com.my/Restaurants/Promotions/agentType/ViewType/PropertyTypeID/993.aspx">Ramadan Promotion</a>, buffets, events!</p>
<p>Selamat Buka Puasa!</p>


<p>Related posts:<ol><li><a href='http://www.mylifebbs.com/2009/01/new-year-2009-bucket-list/' rel='bookmark' title='Permanent Link: New Year 2009 Bucket List'>New Year 2009 Bucket List</a></li>
<li><a href='http://www.mylifebbs.com/2009/02/blog-tips-to-make-your-life-easier-in-2009/' rel='bookmark' title='Permanent Link: Blog tips to make your life easier in 2009'>Blog tips to make your life easier in 2009</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.mylifebbs.com/2009/08/ramadan-promotion-2009-get-ready-to-buka-puasa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
