<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-556731575261585802</atom:id><lastBuildDate>Mon, 21 May 2012 06:07:52 +0000</lastBuildDate><category>mediation</category><category>sharepoint deployment</category><category>javascript</category><category>Flash Remoting</category><category>Recaptcha.Net</category><category>sharepoint 2010</category><category>AMF.NET</category><category>Domain transfers</category><category>sharepoint administration</category><category>Skin Objects</category><category>OSDNNSKINS</category><category>Flash 8</category><category>sharepoint development</category><category>Javascript Code Snippets</category><category>SOA</category><category>Announcement</category><category>ASP.NET</category><category>c#</category><category>Free DNN Module</category><category>DotNetNuke Multiportal Development</category><category>sharepoint</category><category>moving sharepoint applications</category><category>axis2 archive plugin</category><category>Hosting</category><category>css</category><category>ORM</category><category>ws-*</category><category>DotNetNuke Code Snippets</category><category>wso2 esb</category><category>Web Tools</category><category>.net</category><category>LightBox WebGallery Creator</category><category>Hosts file</category><category>database</category><category>T-SQL Code Snippets</category><category>Google Map API</category><category>wcf</category><category>Code Snippets</category><category>ASP.NET MasterPage</category><category>xml</category><category>DotNetNuke 6</category><category>DotNetFlex</category><category>java</category><category>GoDaddy</category><category>flesh</category><category>security</category><category>modal popup</category><category>web services</category><category>Free DNN Skin</category><category>JQUERY</category><category>DotNetNuke Resources</category><category>ASP.NET AJAX</category><category>DotNetNuke 5.0</category><category>WebParts</category><category>SEO</category><category>Skinning Tips</category><category>BluePrint Css</category><category>DotNetNuke</category><category>Eclipse</category><category>LinkList</category><category>HTML</category><category>NHibernate</category><category>ActionScript 2</category><category>dotnetnuke 5</category><category>exception</category><category>ASP.NET Themes</category><category>basicHttpBinding</category><category>DotNEtNuke Module Development</category><category>T-SQL</category><category>Free Web designs</category><category>Axis2</category><category>wso2</category><category>Tips and Tricks</category><category>Database Design</category><title>Tricky Coder</title><description>Technology blog about dotnetnuke, asp.net, asp.net mvc, and related!</description><link>http://lakhlaniprashant.blogspot.com/</link><managingEditor>noreply@blogger.com (Prashant Lakhlani)</managingEditor><generator>Blogger</generator><openSearch:totalResults>96</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/TrickyCoder" /><feedburner:info uri="trickycoder" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><feedburner:emailServiceId>TrickyCoder</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-4060928435951947480</guid><pubDate>Wed, 01 Feb 2012 17:30:00 +0000</pubDate><atom:updated>2012-02-01T23:00:01.771+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Design</category><category domain="http://www.blogger.com/atom/ns#">database</category><title>Database Design : Smartly storing many user settings with Boolean values in a single value - Part 2</title><description>If you have visited a &lt;a href="http://lakhlaniprashant.blogspot.com/2011/04/database-design-smartly-storing-many.html" target="_blank"&gt;previous post&lt;/a&gt;, where I have demonstrated how you can use bit masks to reduce your settings table.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt;&lt;br /&gt;There are situations where this solution will NOT do well. Example are cases where you are having many settings OR expecting more settings in future. After some point, your calculated integer or big integer will become very huge and may cause out of limit. so be careful while deciding to use this solution.&lt;br /&gt;&lt;br /&gt;ALSO, in place of integers, you can use bitbinary datatype with appropriate length and use&amp;nbsp;appropriate&amp;nbsp;bitwise operators in sql server. That will surely gain more performance.&lt;br /&gt;&lt;br /&gt;Thanks to Yougeshwar Patel, Team Lead, Silver touch technologies for bring this to my notice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-4060928435951947480?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=46cBc8Ff6ps:K8AY8kcwkNE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=46cBc8Ff6ps:K8AY8kcwkNE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=46cBc8Ff6ps:K8AY8kcwkNE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=46cBc8Ff6ps:K8AY8kcwkNE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=46cBc8Ff6ps:K8AY8kcwkNE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/46cBc8Ff6ps" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/46cBc8Ff6ps/database-design-smartly-storing-many.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2012/02/database-design-smartly-storing-many.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-8553061573142647922</guid><pubDate>Wed, 01 Feb 2012 17:00:00 +0000</pubDate><atom:updated>2012-02-03T18:50:34.656+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">sharepoint 2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint deployment</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">moving sharepoint applications</category><category domain="http://www.blogger.com/atom/ns#">sharepoint administration</category><title>Sharepoint: Creating web application from existing content database</title><description>There are situations where you want to propagate one&amp;nbsp;SharePoint&amp;nbsp;web application to some other farm/machine. &amp;nbsp; I feel the fastest way is to take content database backup and restore it in your destination farm. I have done so in last couple of weeks and I have leaned how to quickly do that.&lt;br /&gt;&lt;br /&gt;Here are quick notes from my experience:&lt;br /&gt;&lt;b&gt;Pre-requisites:&lt;/b&gt;&lt;br /&gt;I was provided with content database backup and source code. That makes be able to restore site and generate wsps from source code.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creating &amp;nbsp;content database from backup:&lt;/b&gt;&lt;br /&gt;Go to your database server and do following:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a blank database that will be used as content database&amp;nbsp;&lt;/li&gt;&lt;li&gt;Restore a database using content database back up from source farm.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creating a web application:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Go to sharepoint central administration and create a new web application&lt;/li&gt;&lt;li&gt;While creating a new web application, use existing content database in database section&lt;/li&gt;&lt;li&gt;Sometimes if your database is too large, web application creation takes too long and times out. Don't worry at all. web application is still created&amp;nbsp;successfully. It happened to me 4 times out of 5.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Validating the web application:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Go to sharepoint central administration, click on application management. In "Databases" section you will find "Manage content databases"&lt;/li&gt;&lt;li&gt;Choose your application and it will show database status and number of site collections. If you are not sure how many site collections are there in backup, anything greater than 0 is good news.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Configure web application to work properly:&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;we are almost done now. Do following:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Go to sharepoint central administration&lt;/li&gt;&lt;li&gt;Click on "Application Management"&lt;/li&gt;&lt;li&gt;In "Site Collections" section click on "Change site collection administrators"&lt;/li&gt;&lt;li&gt;choose your web application set proper data in site admins.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Additional optional steps:&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;After performing all the above steps, it is still possible that you are not able to access your web application.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Last thing to do is to install and deploy wsp by using stsadm or your favorite&amp;nbsp;method.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Conclusion:&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;It is always challenging to move applications from one farm to another. Specially when they are depending upon other service applications. In spent last two weeks to learn how to properly do that. I hope this will help you at some point during your sharepoint development.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Happy sharepoint administration!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-8553061573142647922?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T7vXkfsMsUI:fTlZAobvt1w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T7vXkfsMsUI:fTlZAobvt1w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T7vXkfsMsUI:fTlZAobvt1w:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T7vXkfsMsUI:fTlZAobvt1w:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T7vXkfsMsUI:fTlZAobvt1w:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/T7vXkfsMsUI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/T7vXkfsMsUI/sharepoint-creating-web-application.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2012/02/sharepoint-creating-web-application.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-3597800868960972981</guid><pubDate>Thu, 05 Jan 2012 16:30:00 +0000</pubDate><atom:updated>2012-01-05T20:39:27.578+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke 6</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke Resources</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><title>Exeception: admin/Menus/DNNActions OR DotNetNuke.UI.Containers.ActionButtonList.get_ModuleActions throws null reference exception</title><description>&lt;h3&gt;  Problem:&lt;/h3&gt;If you have deleted or your dotnetnuke installation failed to install DDR Menu module, you will get following.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;an error has occurred. DotNetNuke.Services.Exceptions.PageLoadException: Object reference not set to an instance of an object. ---&amp;gt; System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.UI.Containers.ActionButtonList.get_ModuleActions() at DotNetNuke.UI.Containers.ActionButtonList.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;An error has occurred.DotNetNuke.Services.Exceptions.PageLoadException: Couldn't load menu style 'admin/Menus/DNNActions': System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.Web.DDRMenu.DNNCommon.DNNContext.get_ModuleFolder() at DotNetNuke.Web.DDRMenu.DNNCommon.PathResolver.Resolve(String path, RelativeTo[] roots) at DotNetNuke.Web.DDRMenu.MenuBase.Instantiate(String menuStyle) ---&amp;gt; System.ApplicationException: Couldn't load menu style 'admin/Menus/DNNActions': System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.Web.DDRMenu.DNNCommon.DNNContext.get_ModuleFolder() at DotNetNuke.Web.DDRMenu.DNNCommon.PathResolver.Resolve(String path, RelativeTo[] roots) at DotNetNuke.Web.DDRMenu.MenuBase.Instantiate(String menuStyle) at DotNetNuke.Web.DDRMenu.MenuBase.Instantiate(String menuStyle) at DotNetNuke.Web.DDRMenu.DDRMenuControl.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---&lt;br /&gt;&lt;/pre&gt;&lt;h3&gt;   Solution&lt;/h3&gt;It is a good news if you are installing your new dnn instance, you can download latest installation source from dotnetunke.codeplex.com and that will work just fine.&lt;br /&gt;&lt;br /&gt;If you are already having dnn site running and you uninstalled the&amp;nbsp; &lt;a href="http://dnnddrmenu.codeplex.com/" target="_blank"&gt;DDR menu&lt;/a&gt;&amp;nbsp;&amp;nbsp;by mistake, or you are upgrading the site or &lt;a href="http://dnnddrmenu.codeplex.com/" target="_blank"&gt;DDR menu&lt;/a&gt;&amp;nbsp;&amp;nbsp;and that caused this problem, there are some ways to fix this.&lt;br /&gt;&lt;br /&gt;Download and setup local copy of fresh dnn installation and do following:&lt;br /&gt;&lt;br /&gt;&lt;ol style="background-color: rgba(255, 255, 255, 0.917969); color: #222222;"&gt;&lt;li style="margin-left: 15px;"&gt;&lt;span style="font-family: inherit;"&gt;Open web.config of fresh install, and search ddr in&amp;nbsp;it.&amp;nbsp;Copy the DDR entry from it and paste it to appropriate section of your site's&amp;nbsp;web.config.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;span style="font-family: inherit;"&gt;from fresh install&amp;nbsp;replace /admin/menus and /desktopmodules/ddrmenu folders to&amp;nbsp;your site&amp;nbsp;folder.&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;span style="font-family: inherit;"&gt;download&amp;nbsp;&amp;nbsp;&lt;a href="http://dnnddrmenu.codeplex.com/releases/70987/download/264940" style="color: #1155cc;" target="_blank"&gt;http://dnnddrmenu.codeplex.&lt;wbr&gt;&lt;/wbr&gt;com/releases/70987/download/&lt;wbr&gt;&lt;/wbr&gt;264940&lt;/a&gt;&amp;nbsp;and paste it into /install/module folder&lt;/span&gt;&lt;/li&gt;&lt;li style="margin-left: 15px;"&gt;&lt;span style="font-family: inherit;"&gt;Browser for&amp;nbsp;yoursite.com&lt;span style="background-color: white;"&gt;/&lt;wbr&gt;&lt;/wbr&gt;Install/install.aspx?mode=&lt;wbr&gt;&lt;/wbr&gt;InstallResources&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white;"&gt;and that's it&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span style="color: #222222;"&gt;&lt;span style="font-family: inherit;"&gt;In my case, we were trying to upgrade the &lt;a href="http://dnnddrmenu.codeplex.com/" target="_blank"&gt;DDR menu&lt;/a&gt; and found the broken site that was restored using above steps.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;For more updates and hints visit &lt;a href="http://www.dotnetnuke.com/Resources/Forums/forumid/197/threadid/440334/scope/posts.aspx" target="_blank"&gt;this thread&lt;/a&gt; on &lt;a href="http://forums.dotnetnuke.com/" target="_blank"&gt;dotnetnuke forums&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-3597800868960972981?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=le9GGj-7c90:SJMpJax3Pmw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=le9GGj-7c90:SJMpJax3Pmw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=le9GGj-7c90:SJMpJax3Pmw:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=le9GGj-7c90:SJMpJax3Pmw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=le9GGj-7c90:SJMpJax3Pmw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/le9GGj-7c90" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/le9GGj-7c90/exeception-adminmenusdnnactions-or.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>1</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2012/01/exeception-adminmenusdnnactions-or.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-4760826963693868995</guid><pubDate>Mon, 02 Jan 2012 14:30:00 +0000</pubDate><atom:updated>2012-01-05T20:02:38.601+05:30</atom:updated><title>Using dapper .net to log site visitors in sqlite database - Part 1</title><description>&lt;a href="http://code.google.com/p/dapper-dot-net/" target="_blank"&gt;Dapper .net&lt;/a&gt; is a simple light weight micro&lt;br /&gt;&lt;br /&gt;I came to this library (in fact a single page) while I was learning posts related to how &lt;a href="http://stackoverflow.com/"&gt;StackOverflow.com&lt;/a&gt; is built. I also noticed that the library is independent of the database, and is useful if you are using any database.&lt;br /&gt;&lt;br /&gt;I feel it is promising, and I am going to write a very simple site visitor logging component with this. The database I will use will be &lt;a href="http://www.sqlite.org/" target="_blank"&gt;Sqlite&lt;/a&gt; and will log all the page views into database with the user, user agent and url referrer.&lt;br /&gt;&lt;br /&gt;There will be following two NuGet packages that I will require:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Dapper .net&lt;/li&gt;&lt;li&gt;System.Data.Sqlite (I am using x86)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;I am going to use&amp;nbsp;Application_AuthenticateRequest in Global.asax to add logging.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All the code will be available at&amp;nbsp;&lt;b&gt;https://trickycoders.svn.codeplex.com/svn/WebsiteLogging&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-4760826963693868995?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=w8_x8LYfZQ8:j_xSi9PHZY8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=w8_x8LYfZQ8:j_xSi9PHZY8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=w8_x8LYfZQ8:j_xSi9PHZY8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=w8_x8LYfZQ8:j_xSi9PHZY8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=w8_x8LYfZQ8:j_xSi9PHZY8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/w8_x8LYfZQ8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/w8_x8LYfZQ8/using-dapper-net-to-log-site-visitors.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2012/01/using-dapper-net-to-log-site-visitors.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-7008374446993446175</guid><pubDate>Mon, 02 Jan 2012 14:07:00 +0000</pubDate><atom:updated>2012-01-03T13:44:47.614+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">sharepoint 2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint deployment</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><category domain="http://www.blogger.com/atom/ns#">exception</category><title>stsadmin -o deploysolution: access denied error</title><description>&lt;h4&gt;When&lt;/h4&gt;As like 80% of the sharepoing developers, if you are deploying your solutions trough command line.&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;What&lt;/h4&gt;After firing deploysolution, looking at system settings &gt; farm solutions and the error looks something like "Can not overrite xxxx file, access is denied".&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Solution&lt;/h4&gt;It was due to my source file was read only. I tried by un-checking the read only attribute from properties for source file and tried the command again. I got the same error couple of times and repeating the same solution fixed the problem. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Conclusion&lt;/h4&gt;As a social animal, when I get such kind of error first time in my life, I first ask to couple of developers around me if they have seen the same error ever, that helps a lot. When I do same, I got many useful hints that can either quickly solves the problem or useful for some future problems. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Update - 3-Jan-2011:&lt;/h4&gt;If you are having more than one application server in farm then you have to go through all of them and uncheck read only to get it working.&lt;br /&gt;&lt;br /&gt;Got the same error? Don't worry try above solution and let me know if same OR some other solution worked for you.&lt;br /&gt;&lt;br /&gt;Happy sharepoing deployment!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-7008374446993446175?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=uTLglcSAQSM:deXRoKAypXg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=uTLglcSAQSM:deXRoKAypXg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=uTLglcSAQSM:deXRoKAypXg:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=uTLglcSAQSM:deXRoKAypXg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=uTLglcSAQSM:deXRoKAypXg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/uTLglcSAQSM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/uTLglcSAQSM/stsadmin-o-deploysolution-access-denied.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2012/01/stsadmin-o-deploysolution-access-denied.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-2447569004169623318</guid><pubDate>Thu, 29 Dec 2011 05:56:00 +0000</pubDate><atom:updated>2011-12-29T11:26:50.994+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hosts file</category><category domain="http://www.blogger.com/atom/ns#">Hosting</category><category domain="http://www.blogger.com/atom/ns#">GoDaddy</category><category domain="http://www.blogger.com/atom/ns#">Domain transfers</category><title>GoDaddy - Using host entries to access your site by IP</title><description>&lt;h3&gt;Problem&lt;/h3&gt;Your site is live right now and you want to transfer it to another account hosted in GoDaddy.com. You have configured the site in new account and want to test it, but you can not directly update the DNS records without testing. You don't want to purchase a static IP for this. So, there should be a way to test your site before updating DNS records.  &lt;h3&gt;Solution&lt;/h3&gt;One of the solution is the use hosts entries. That will help you to access your domain point to the new IP only for you. That way, when other people accesses www.yoursite.com, it will be served from original site, but because of the host entry, when you try to access www.yoursite.com it will be served from the new server.  I found the detailed instruction here: http://help.godaddy.com/article/3354&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-2447569004169623318?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=dvNi-PddrOY:rbSRXRyjUK0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=dvNi-PddrOY:rbSRXRyjUK0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=dvNi-PddrOY:rbSRXRyjUK0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=dvNi-PddrOY:rbSRXRyjUK0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=dvNi-PddrOY:rbSRXRyjUK0:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/dvNi-PddrOY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/dvNi-PddrOY/godaddy-using-host-entries-to-access.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2011/12/godaddy-using-host-entries-to-access.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-7970542021384783918</guid><pubDate>Fri, 23 Dec 2011 09:54:00 +0000</pubDate><atom:updated>2011-12-24T12:36:54.061+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">exception</category><category domain="http://www.blogger.com/atom/ns#">c#</category><title>Runtime error: ; expected</title><description>&lt;br /&gt;I was working in asp.net with vb.net for for almost 3 years now, and now after 3 years, just started working on c# as back end language. So many times in a day I miss writing ; and got the this error! &lt;br /&gt;&lt;br /&gt;I recently got this error in ascx control as well, when I was working in a repeater item template and missed # and write Eval like &amp;lt;% Eval...&lt;br /&gt;&lt;br /&gt;Compiling code in C# reminds me to the starting of my career since I have worked on C# first.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-7970542021384783918?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZUkuk4MZqz8:PWhplsTfP9U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZUkuk4MZqz8:PWhplsTfP9U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZUkuk4MZqz8:PWhplsTfP9U:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZUkuk4MZqz8:PWhplsTfP9U:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZUkuk4MZqz8:PWhplsTfP9U:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/ZUkuk4MZqz8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/ZUkuk4MZqz8/runtime-error-expected.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2011/12/runtime-error-expected.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-2884835255883394641</guid><pubDate>Fri, 16 Dec 2011 10:24:00 +0000</pubDate><atom:updated>2011-12-17T15:17:27.761+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">sharepoint development</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><title>Sharepoint: Debugging - which process to attach</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;As some of you may already be knowing, I have just joined a team of sharepoint developers and right now learning sharepoint development.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is my first day to work on a development after watching videos and reading books and I already find myself lost while attaching to the process for debugging a webpart control in sharepoint. Here is how I finally got my ProcessID to attach:&lt;br /&gt;&lt;br /&gt;Just open command prompt as administrator and type following:&lt;br /&gt;&lt;br /&gt;&lt;pre class="csharp"&gt;%windir%\system32\inetsrv\appcmd.exe list wp&lt;/pre&gt;&lt;br /&gt;Hope this will help to the developers who are new OR not knowing the way to find which process to attach.&lt;br /&gt;&lt;br /&gt;Happy coding.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-2884835255883394641?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZAtWFGLNfS8:CB6mo6KXTv8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZAtWFGLNfS8:CB6mo6KXTv8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZAtWFGLNfS8:CB6mo6KXTv8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=ZAtWFGLNfS8:CB6mo6KXTv8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=ZAtWFGLNfS8:CB6mo6KXTv8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/ZAtWFGLNfS8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/ZAtWFGLNfS8/sharepoint-debugging-which-process-to.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2011/12/sharepoint-debugging-which-process-to.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-6691877320570534648</guid><pubDate>Sun, 10 Apr 2011 09:03:00 +0000</pubDate><atom:updated>2011-04-10T14:33:37.882+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke 6</category><category domain="http://www.blogger.com/atom/ns#">dotnetnuke 5</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Free Web designs</category><category domain="http://www.blogger.com/atom/ns#">Free DNN Skin</category><title>OSDNNSKINS: New version of cash and multiflex with portal template available</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hi all,&lt;br /&gt;&lt;br /&gt;New Version for &lt;a href="http://www.blogger.com/"&gt;Cash&lt;/a&gt; and &lt;a href="http://osdnnskins.codeplex.com/"&gt;Multiflex&lt;/a&gt; is available for download. This time we have three common changes for both of the skin packages.&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;There is only single package for skin and container installation&lt;/li&gt;&lt;li&gt;Portal template is available to quickly evaluate the skin.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Both of the skins are tested in dnn 6.0.0.44&amp;nbsp; &lt;/li&gt;&lt;/ol&gt;For those who are not knowing about this, open source dotnetnuke skins is an initiative to provide high quality free skins to dnn community.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More contributors to osdnnskins:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We have more contributors to join the party, so we welcome issues and suggestions from community in order to help them provide quality skins for free.&lt;br /&gt;&lt;br /&gt;there are lots of evaluations and&lt;b&gt;&amp;nbsp; &lt;/b&gt;also there are many sites using skins from osdnnskins, there are very less number of comments and feedback that we get. &lt;b&gt;&lt;a href="http://dotnetnukeblogs.com/"&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Please please please provide your feedback about any skin that you evaluate and you can directly go to osdnnskins.codeplex.com to create a new issue or you can email me any time for any kind of help regading the same.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;You can contact email @ lakhlaniprashant [at} gmail [dot} com&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-6691877320570534648?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kyg_oOoodRU:0pZO4zq53DU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kyg_oOoodRU:0pZO4zq53DU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kyg_oOoodRU:0pZO4zq53DU:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kyg_oOoodRU:0pZO4zq53DU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kyg_oOoodRU:0pZO4zq53DU:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/kyg_oOoodRU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/kyg_oOoodRU/osdnnskins-new-version-of-cash-and.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2011/04/osdnnskins-new-version-of-cash-and.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-5115132886818009504</guid><pubDate>Thu, 07 Apr 2011 02:33:00 +0000</pubDate><atom:updated>2011-04-07T08:38:19.767+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Design</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><category domain="http://www.blogger.com/atom/ns#">T-SQL</category><title>Database Design : Smartly storing many user settings with Boolean values in a single value</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;It is obvious that when we design database tables for storing user preferences we look user settings as one-to-many relationship, but there are cases when all your setting values are boolean. For example, you have many type of newsletters (infoq.com has .net, java, soa etc) and you want to user choices, OR you have many categories of articles and you want to store which categories user is interested to browse, user choose tags (fev tags)&amp;nbsp; are also good example in stackoverflow.com.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;br /&gt;How to efficiently store user preferences which are all having boolean values.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Classic solution:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Create a subscription_type database which stores all the subscription types&lt;/li&gt;&lt;li&gt;Create a user_subscription table user_subscriptions with columns user_id and subscription_id&lt;/li&gt;&lt;li&gt;Insert a new row for each kind of subscription for each user&lt;/li&gt;&lt;li&gt;Delete a row for each kind of subscription user un-check (In case user checks the subscription and un-checks it after some days)&lt;/li&gt;&lt;/ul&gt;This will work fine but the only problem is to maintain an extra table for storing the details.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Better Solution:&lt;/b&gt;  &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a subscription_type table which stores all the subscription types.&lt;/li&gt;&lt;li&gt;add a new column in users table for subscription.&lt;/li&gt;&lt;li&gt;use following query to retried user subscriptions:&lt;br /&gt;&lt;blockquote&gt;select &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; user_id, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; case when &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; subscription &amp;amp; power(2,subscription_type_id) =0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; then 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else 1 end as is_subscribed,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; subscription_type_id,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; subscription_type_name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from users cross join subscription_types&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where user_id = @user_id&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;user following query to store user subscription:&lt;br /&gt;&lt;blockquote&gt;select sum( power(2,subscription_type_id)) from subscription_types where subscription_type_id in (1,2,3) &lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;here subscription_type_id in (1,2,3) describes the subscription type id user is subscribed to.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How It Works:&lt;/b&gt;&lt;br /&gt; We are storing sum of binary power as user preference. For example, user is subscribed to subscription type 0,1, and 3 we are storing power(2,0) + power(2,1) + power(2,3) = 1 + 2 + 8 = 11.  &lt;br /&gt;For reading a boolean value of subscription we are using t-sql’s AND (&amp;amp;) operator. We are doing and operation of 11 and binary power of subscription type, and it we get 0 means user is not subscribed, otherwise we will get power(2,subscription_type) as result of AND operation. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion:&lt;/b&gt;&lt;br /&gt;We can say the solution is better because you can using single query to read and write the subscription. It is more faster, and requires no additional table. There are many other advantages that you can think of. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Limitations:&lt;/b&gt;&lt;br /&gt;Every time you take this kind of solution, you are killing possibility to store details that depends on the relationships. In our subscription example, you will never get information about when does a user subscribed to which subscription type individually. &lt;br /&gt;If that is not important to you, you can obviously go for it.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note: &lt;/b&gt;&lt;br /&gt;Please note that in actually situations, subscription table and related designs are really more complicated than what I’ve shown above, so it demonstrates the example scenario and not the example database design for any kind of system. &lt;br /&gt;Have fun with your database design! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-5115132886818009504?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=2HsGESNnmxQ:y5nH3xeGgdk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=2HsGESNnmxQ:y5nH3xeGgdk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=2HsGESNnmxQ:y5nH3xeGgdk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=2HsGESNnmxQ:y5nH3xeGgdk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=2HsGESNnmxQ:y5nH3xeGgdk:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/2HsGESNnmxQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/2HsGESNnmxQ/database-design-smartly-storing-many.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2011/04/database-design-smartly-storing-many.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-5383480324326261367</guid><pubDate>Sat, 11 Dec 2010 06:22:00 +0000</pubDate><atom:updated>2010-12-11T12:18:23.918+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke Code Snippets</category><category domain="http://www.blogger.com/atom/ns#">dotnetnuke 5</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><category domain="http://www.blogger.com/atom/ns#">ASP.NET Themes</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke Multiportal Development</category><category domain="http://www.blogger.com/atom/ns#">ASP.NET MasterPage</category><title>Using master pages and aspx pages in dnn</title><description>In this post, we are going to see how we can add new aspx pages by re-using the existing skin designs to implement some helpfull programming in it.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 19px; font-weight: bold;"&gt;&lt;br https:="" p1="" redirect.srv="" saorsbzq="" server1.kproxy.com="" servlet="" snop="" sruj="" https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 19px; font-weight: bold;"&gt;Why?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;span class="Apple-style-span" style="font-size: 19px;"&gt;&lt;b&gt;&lt;br https:="" p1="" redirect.srv="" saorsbzq="" server1.kproxy.com="" servlet="" snop="" sruj="" https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If you are running a multi-portal dnn website and want to build some common pages to share between those portals, there are couple of quick ways to do that.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;1. Create a new tab in portal 0 and then share link in all other portals.&lt;br https:="" p1="" redirect.srv="" saorsbzq="" server1.kproxy.com="" servlet="" snop="" sruj="" https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;       This technique works fine when you want to show "how to" page or help page, static contents or offers related pages. You don't need any custom coding for this and it will be a matter of adding a text html module and paste the html that you designed!&lt;/li&gt;&lt;li&gt;2. Create a new aspx page and share link in all other portals.&lt;br https:="" p1="" redirect.srv="" saorsbzq="" server1.kproxy.com="" servlet="" snop="" sruj="" https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;       Well, this one also looks similar to first option but let's think about this: If you are running a multi-portal dnn site and want to show latest offers from all the portals into a page based on user's country, and users having at least 5 orders in history. Now, this will involve some quick coding to do. So, basically, if you want to show content based on some dynamic parameters like user or portal data or similar data, it will be good to create an aspx page.&lt;/li&gt;&lt;/ol&gt;There is another option! obviously you can create a new module to do this, but remember that we are not doing anything that depends on moduleId or tabId but depends on UserId or PortalId, so I believe it's a quick way to create a new page in place of building an entire dnn module.  &lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 19px; font-weight: bold;"&gt;&lt;br https:="" p1="" redirect.srv="" saorsbzq="" server1.kproxy.com="" servlet="" snop="" sruj="" https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;How?&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;1. Create a new theme &lt;br https:="" p1="" redirect.srv="" saorsbzq="" server1.kproxy.com="" servlet="" snop="" sruj="" https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;       Create a new theme with the name of your skin and paste your skin's css and images into it.     &lt;/li&gt;&lt;li&gt;2. Create a new master page&lt;br https:="" p1="" redirect.srv="" saorsbzq="" server1.kproxy.com="" servlet="" snop="" sruj="" https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;       Create a new master page and paste your skin's ascx control's entire markup over there. Replace all your content pane (i.e. div or tds with runat=server) with CotentPlace holder&lt;/li&gt;&lt;li&gt;3. Create a new page&lt;br https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;- Add a new aspx page called Default2.aspx and select the new master page when creating it.&amp;nbsp;&lt;br https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;- Go to .aspx.vb file and make your parial page class inherit from DotNetNuke.Framework.PageBase in place of System.Web.UI.Page&amp;nbsp;&lt;br https://server1.kproxy.com/servlet/redirect.srv/sruj/saorsbzq/snop/p1/&gt;- And that's it you are ready to go!&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;  Conclusion   &lt;/h3&gt;It is really easy to add a new aspx page in dnn that is re-using skin and you will be able to access all the information like PortalSettings, UserInfo etc. Things like Tab and Module will not be there and it's obvious!  &lt;br /&gt;&lt;blockquote&gt;This post doesn't say you should create a new aspx page in some cases or not, but demonstrates how to do it if you want. If you have some good examples WHEN we can use it or some good examples WHEN we should NOT use it, I welcome them!&amp;nbsp;&lt;/blockquote&gt;This example will probably work with dnn 4.x and 5.x, though I've used this in dnn 4.5.6 and 5.2.0 etc.   &lt;br /&gt;&lt;h3&gt;   Downloads &lt;/h3&gt;You can &lt;a href="http://trickycoders.codeplex.com/releases/view/57324" id="ssv0" title="download"&gt;download&lt;/a&gt; the example code for this example from &lt;a href="http://trickycoders.codeplex.com/releases/view/57324" id="l6oy" title="codeplex"&gt;codeplex&lt;/a&gt;   Happy coding with dnn&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-5383480324326261367?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=LKV4d1crmDA:2NNEw7dCNm8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=LKV4d1crmDA:2NNEw7dCNm8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=LKV4d1crmDA:2NNEw7dCNm8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=LKV4d1crmDA:2NNEw7dCNm8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=LKV4d1crmDA:2NNEw7dCNm8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/LKV4d1crmDA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/LKV4d1crmDA/using-master-pages-and-aspx-pages-in.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>2</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/12/using-master-pages-and-aspx-pages-in.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-4190890218574743977</guid><pubDate>Sat, 04 Dec 2010 13:26:00 +0000</pubDate><atom:updated>2010-12-04T19:04:49.592+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">dotnetnuke 5</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><title>DotNetNuke 5.6 - A potentially dangerous Request.Form value was detected from the client</title><description>Today morning, when I was preparing for a new installation instance for dnn 5.6, I was facing trouble to install new module, create new tab and I come to the conclusion that any post back event from the site was causing the &amp;quot;potentially dangerous Request.Form value&amp;quot;.&lt;br /&gt;&lt;br /&gt;I was still able to install module using /Install/Install.aspx?mode=installresource but finally stuck when I was not able to add the installed module into page.&lt;br /&gt;&lt;br /&gt;Finally, after reading several articles on web, I found web.config's httpRuntime element needs another attribute called : requestValidationMode=&amp;quot;2.0&amp;quot;&lt;br /&gt;&lt;br /&gt;I go the solution here (&lt;br /&gt;http://stackoverflow.com/questions/81991/a-potentially-dangerous-request-form-value-was-detected-from-the-client/3368769#3368769).&lt;br /&gt;&lt;br /&gt;And finally, I was on my way to regular work.&lt;br /&gt;&lt;blockquote&gt;please note that I was trying this on having webmatrix installed and I was browsing the site in asp.net 4.0 integrated mode. &lt;br /&gt;&lt;/blockquote&gt;Hope this will help to someone in the same kind of trouble.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-4190890218574743977?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=aYm90_RQdS8:VcnyaqTb0_s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=aYm90_RQdS8:VcnyaqTb0_s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=aYm90_RQdS8:VcnyaqTb0_s:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=aYm90_RQdS8:VcnyaqTb0_s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=aYm90_RQdS8:VcnyaqTb0_s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/aYm90_RQdS8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/aYm90_RQdS8/dnn-56-potentially-dangerous.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>1</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/12/dnn-56-potentially-dangerous.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-1521485161185199875</guid><pubDate>Thu, 18 Nov 2010 08:16:00 +0000</pubDate><atom:updated>2010-11-18T13:46:00.268+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">NHibernate</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke 5.0</category><category domain="http://www.blogger.com/atom/ns#">DotNEtNuke Module Development</category><category domain="http://www.blogger.com/atom/ns#">ORM</category><title>DNN Module development Using Nhibernate</title><description>&lt;div&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Hi All this is my first blog on &lt;a href="http://lakhlaniprashant.blogspot.com/"&gt;Tricky Coders&lt;/a&gt;. In my last project which is in &lt;a href="http://asp.net/"&gt;asp.net&lt;/a&gt; and I have used Nhibernate as the ORM which is very stable and also an open source project like &lt;a href="http://www.dotnetnuke.com/"&gt;DotNetNuke&lt;/a&gt;. So I decided to used it with DNN.&lt;/div&gt;&lt;div&gt;&lt;b&gt;Prerequisites&lt;/b&gt;&lt;/div&gt;Please download latest verion of &lt;a href="http://nhforge.org/media/"&gt;NHibernate&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Nhibernate.dll -This contains the NHibernate framework&lt;/li&gt;&lt;li&gt;Iesi.Collections.dll -Iesi.Collections.dllContains the definition of some special collections used by NHibernate&lt;/li&gt;&lt;li&gt;Castle.Core.dll-Base library is needed by Castle.DynamicProxy2.dll&lt;/li&gt;&lt;li&gt;Castle.DynamicProxy2.dll - This contains code to generate proxies and is used by NHibernate to make e.g. lazy load possible&lt;/li&gt;&lt;li&gt;We need to make some modifications in the web.config to support the Nhibernate.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Getting Started with Module Development&lt;/b&gt;&lt;/div&gt;&lt;div&gt;To create my module in &lt;a href="http://www.dotnetnuke.com/"&gt;DotNetNuke &lt;/a&gt;using Nhibernate i have used 2 projects&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;DataAccessLayer- This class library project serves the purpose to connect with database by creating the object of Session Factory.&lt;/li&gt;&lt;li&gt;Mapping Classes- This Class Library project serves the purpose of Defining the Entites and their mapping xml files.&lt;/li&gt;&lt;li&gt;My Actual &lt;a href="http://trickycoders.codeplex.com/releases/view/55873/"&gt; module &lt;/a&gt; which refer the above Projects to talk with data base.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Download&amp;nbsp;&lt;/b&gt; &lt;br /&gt;&lt;ol&gt;&lt;/ol&gt;You can&amp;nbsp; &lt;a href="http://trickycoders.codeplex.com/releases/view/55873"&gt;download&lt;/a&gt; this module's source and installation package from tricky coder's &lt;a href="http://trickycoders.codeplex.com/"&gt;codeplex project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please let me know about your views and suggestions to improve the code.&lt;br /&gt;&lt;br /&gt;Hope this will help.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-1521485161185199875?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=faogKsoiNRk:puhDnj-Byrg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=faogKsoiNRk:puhDnj-Byrg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=faogKsoiNRk:puhDnj-Byrg:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=faogKsoiNRk:puhDnj-Byrg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=faogKsoiNRk:puhDnj-Byrg:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/faogKsoiNRk" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/faogKsoiNRk/dnn-module-development-using-nhibernate.html</link><author>noreply@blogger.com (amrish)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/11/dnn-module-development-using-nhibernate.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-8505404488655935299</guid><pubDate>Thu, 04 Nov 2010 11:32:00 +0000</pubDate><atom:updated>2010-11-04T17:07:29.477+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">ws-*</category><category domain="http://www.blogger.com/atom/ns#">wso2</category><category domain="http://www.blogger.com/atom/ns#">web services</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">wcf</category><category domain="http://www.blogger.com/atom/ns#">wso2 esb</category><category domain="http://www.blogger.com/atom/ns#">mediation</category><title>using WSO2 ESB to mediate WCF Service - Part 2</title><description>&lt;blockquote&gt;In &lt;a href="http://www.blogger.com/"&gt;previous post&lt;/a&gt;, I demonstrated how to use &lt;i&gt;Pass Through Proxy&lt;/i&gt; to mediate a basic WCF Service which is having &lt;i&gt;GetData &lt;/i&gt;and &lt;i&gt;GetCustomTypeData &lt;/i&gt;methods. In part 2, We will try to add UsernameToken security at &lt;i&gt;WSO2 ESB&lt;/i&gt; level.&amp;nbsp;&lt;/blockquote&gt;&lt;span style="font-size: large;"&gt;Pre-Requisites:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=018a09fd-3a74-43c5-8ec1-8d789091255d&amp;amp;displaylang=en"&gt;Microsoft Web service Enhancements 3.0&lt;/a&gt; for implementing WS-Security at client end in vb.net console application&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Updating Service Implementation:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Right now, I don't know how to use mediator to remove security header from soap envelop before sending it to the real service. I tried using Transformation &amp;gt; Header mediator but it didn't worked for me, so I used WCF Service side wrok around here. Please let me know how to do that, if some of you may know?&lt;/span&gt; &lt;/span&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Open &lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Service1.svc.vb and add following attribute to Service1 class&lt;/span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre class="vb" name="code"&gt;&amp;lt;servicebehavior(validatemustunderstand:=false)&amp;gt; _&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-size: large;"&gt;Securing wso2 esb service:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Login to esb website, and go to Services &amp;gt; List and click on WCFService&lt;/li&gt;&lt;li&gt;Click on Security&lt;/li&gt;&lt;li&gt;Select "Yes" for Enable Security and Select first option "UsernameToken"&lt;/li&gt;&lt;li&gt;Click on next and check the check box "Admin"&lt;/li&gt;&lt;li&gt;You will be redirected to service dashboard.&amp;nbsp;&lt;/li&gt;&lt;li&gt;That's it.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: large;"&gt;Updating client to include security:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Install WSE 3.0 and add reference the wse 3.0 dll from it's installation directory to client project &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Open Reference.vb from your client code, and  change your web service class inherited from Inherits &lt;i&gt;Microsoft.Web.Services3.WebServicesClientProtocol&lt;/i&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Rebuild the client project again to make sure we  haven't broken anything&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;Open Module1.vb and add following lines before  calling GetData:&lt;br /&gt;&lt;pre class="vb" name="code"&gt;Dim client As New localhost.WCFService&lt;br /&gt;Dim U As New UsernameToken( _&lt;br /&gt; "admin", _&lt;br /&gt; "admin", _&lt;br /&gt;PasswordOption.SendPlainText)&lt;br /&gt;client.RequestSoapContext.Security.Tokens.Add(U)&lt;br /&gt;ServicePointManager.CertificatePolicy = New TrustAllCertificatePolicy()&lt;/pre&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: large;"&gt;Conclusion:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;This way we can use wso2 esb to secure wcf service implemented using basicHttpBinding. Advantages here is, we are using separate GUI base server for securing wcf service which is too easy to maintain.&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;It is obvious that this example is very basic and it is just an exercise to add security in wcf services implemented using basicHttpBinding. &lt;br /&gt;&lt;br /&gt;Next steps will be to add some real life use cases that makes presence of esb more appropriate and not only for security.&lt;br /&gt;&lt;br /&gt;Pelase provide your thoughts on wso2 esb and wcf integration and if you are having trouble integrating with the same, you can drop me and email or post a comment here. &lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-8505404488655935299?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kYTD_tj4PX4:CrYvu_B-qdY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kYTD_tj4PX4:CrYvu_B-qdY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kYTD_tj4PX4:CrYvu_B-qdY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=kYTD_tj4PX4:CrYvu_B-qdY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=kYTD_tj4PX4:CrYvu_B-qdY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/kYTD_tj4PX4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/kYTD_tj4PX4/using-wso2-esb-to-mediate-wcf-service_04.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/11/using-wso2-esb-to-mediate-wcf-service_04.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-7765727028181627583</guid><pubDate>Thu, 04 Nov 2010 05:32:00 +0000</pubDate><atom:updated>2010-11-04T11:12:34.420+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><category domain="http://www.blogger.com/atom/ns#">.net</category><category domain="http://www.blogger.com/atom/ns#">wso2</category><category domain="http://www.blogger.com/atom/ns#">web services</category><category domain="http://www.blogger.com/atom/ns#">basicHttpBinding</category><category domain="http://www.blogger.com/atom/ns#">wcf</category><category domain="http://www.blogger.com/atom/ns#">wso2 esb</category><category domain="http://www.blogger.com/atom/ns#">mediation</category><title>using WSO2 ESB to mediate WCF Service</title><description>&lt;blockquote&gt;In this post, I'm going to create a new WCFService with &lt;a href="http://msdn.microsoft.com/en-us/library/ms731361.aspx"&gt;basicHTTPBinding &lt;/a&gt;and deploy it to IIS. I will mediate the deployed service with &lt;a href="http://www.wso2.org/downloads/esb"&gt;WSO2 ESB 3.0.0&lt;/a&gt;. For mediating the service, I will use "Pass Through Proxy". &lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Pre-requisites&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Visual Studio 2008 or higher to create WCF Service&lt;/li&gt;&lt;li&gt;wso2 esb 3.0.0 or higher, &lt;a href="http://wso2.org/downloads/esb"&gt;get it from here&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Install and Start&amp;nbsp;&lt;a href="http://www.blogger.com/"&gt; &lt;/a&gt;&lt;a href="http://www.wso2.org/downloads/esb"&gt;WSO2 ESB 3.0.0&lt;/a&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Extract the downloaded esb files&lt;/li&gt;&lt;li&gt;Go to command prompt&lt;/li&gt;&lt;li&gt;locate to bin directory of extracted esb&lt;/li&gt;&lt;li&gt;write "wso2server.bat" and that will start the wso2 esb server after a few seconds&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Create a new WCF Service&lt;/li&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Start Visual Studio and go to File &amp;gt; New Project&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ymCJ0BMOmwE/TNI-il5uxcI/AAAAAAAAA7s/aR-OlgyBscg/s1600/create_wcf_service.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ymCJ0BMOmwE/TNI-il5uxcI/AAAAAAAAA7s/aR-OlgyBscg/s1600/create_wcf_service.PNG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Create a new WCF Service Application from visual studio&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;That will create a new WCF Service&lt;/li&gt;&lt;li&gt;Open web.config and go to "system.serviceModel" element:&lt;br /&gt;&lt;br /&gt;&lt;pre class="xml" name="code"&gt;&amp;lt;service name="xxx" behaviorConfiguration="xxxx"&amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;!-- Service Endpoints --&amp;gt;&lt;br /&gt;    &amp;lt;endpoint address="" binding="basicHttpBinding" contract="xxxx"&amp;gt;    &lt;br /&gt;    &amp;lt;/endpoint&amp;gt;&lt;br /&gt;    &amp;lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/&amp;gt;&lt;br /&gt;   &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Make sure you change the endpoint element's binding attribute is having value basicHttpBinding&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Just Right click on the service project and click on Build Project&lt;/li&gt;&lt;li&gt;It show you "Build Success" in status bar&lt;/li&gt;&lt;li&gt;Right click on project again and click on publish&lt;/li&gt;&lt;li&gt;Create a new folder called WCFServiceDeployed and select it as output directory&lt;/li&gt;&lt;li&gt;Go to IIS and Create a new virual directory called "WCFService" and point it to WCFServiceDeployed folder&lt;/li&gt;&lt;li&gt;right click on Service1.svc (or whatever svc file you have) and click on browse.&lt;/li&gt;&lt;li&gt;Copy the wsdl url shown in the service page.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;Create Pass through proxy in wso2 esb &lt;/li&gt;&lt;ol&gt;&lt;li&gt;Make sure you have wso2 esb up and running&lt;/li&gt;&lt;li&gt;Locate your browser to https://localhost:9443/carbon&lt;/li&gt;&lt;li&gt;use admin/admin as username/password to login to the site&lt;/li&gt;&lt;li&gt;Click on Services &amp;gt; Add &amp;gt; Proxy Services&lt;/li&gt;&lt;li&gt;Click on "Pass Through Service"&lt;/li&gt;&lt;li&gt;enter "WCFService" in "Proxy Service Name" text box&lt;/li&gt;&lt;li&gt;In "Target Url" add url of WCF Service&lt;/li&gt;&lt;li&gt; Expand "Publish WSDL" option&lt;/li&gt;&lt;li&gt;From the Publish WSDL drop down menu, choose "Specify Source Url"&lt;/li&gt;&lt;li&gt;In the text box of WSDL URI, enter your published svc url suffixed with ?wsdl&lt;/li&gt;&lt;li&gt; Expand Transport&lt;/li&gt;&lt;li&gt;Uncheck HTTPS transport &lt;/li&gt;&lt;li&gt;Click on create&lt;/li&gt;&lt;li&gt;Go to Services &amp;gt; List&lt;/li&gt;&lt;li&gt;Click on WCFService&lt;/li&gt;&lt;li&gt;Copy the endpoint url&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;&amp;nbsp;Creating Client for the newly created service in esb&lt;/li&gt;&lt;ol&gt;&lt;li&gt;Start Visual studio&lt;/li&gt;&lt;li&gt;Create a new console application project (i'm using visual basic)&lt;/li&gt;&lt;li&gt;Right click on the project and click on add web reference&lt;/li&gt;&lt;li&gt;enter the url of the endpoint that you get from web esb&lt;/li&gt;&lt;li&gt;click on ok&lt;/li&gt;&lt;li&gt;go to module1.vb&lt;/li&gt;&lt;li&gt;Add following code:&lt;br /&gt;&lt;pre class="vb" name="code"&gt;Dim client As New localhost.WCFService&lt;br /&gt;Dim strData As String = client.GetData(100, True)&lt;br /&gt;Console.WriteLine(strData)&lt;br /&gt;&lt;br /&gt;Dim cmpType As New localhost.CompositeType&lt;br /&gt;cmpType.BoolValue = True&lt;br /&gt;cmpType.BoolValueSpecified = True&lt;br /&gt;cmpType.StringValue = "It works"&amp;nbsp;&lt;/pre&gt;&lt;pre class="vb" name="code"&gt;Dim retCmpType As localhost.CompositeType = client.GetDataUsingDataContract(cmpType)&amp;nbsp;&lt;/pre&gt;&lt;pre class="vb" name="code"&gt;Console.WriteLine(retCmpType.StringValue)&lt;br /&gt;Console.ReadKey()&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;That's It, you will see the output in console window. Press any key to exit the console application.&lt;br /&gt;&lt;blockquote&gt;Please note that I'm using web reference because I am not able to correcly implement WCF Client&amp;nbsp; for the service yet. In upcoming post, I will cover how to secure WCF service with basicHTTPBinding with wso2esb&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-7765727028181627583?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FG5ia7GqyOY:PRdDmn-AIYc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FG5ia7GqyOY:PRdDmn-AIYc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FG5ia7GqyOY:PRdDmn-AIYc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FG5ia7GqyOY:PRdDmn-AIYc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FG5ia7GqyOY:PRdDmn-AIYc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/FG5ia7GqyOY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/FG5ia7GqyOY/using-wso2-esb-to-mediate-wcf-service.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ymCJ0BMOmwE/TNI-il5uxcI/AAAAAAAAA7s/aR-OlgyBscg/s72-c/create_wcf_service.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/11/using-wso2-esb-to-mediate-wcf-service.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-6526487129362209535</guid><pubDate>Tue, 02 Nov 2010 11:49:00 +0000</pubDate><atom:updated>2010-11-02T17:22:14.532+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">Eclipse</category><category domain="http://www.blogger.com/atom/ns#">Axis2</category><category domain="http://www.blogger.com/atom/ns#">wso2</category><category domain="http://www.blogger.com/atom/ns#">web services</category><category domain="http://www.blogger.com/atom/ns#">axis2 archive plugin</category><title>Building Java Web Services with Axis2 and Eclipse</title><description>I was working on middle-ware integration with &lt;a href="http://www.wso2.org/"&gt;wso2&lt;/a&gt; and &lt;a href="http://ws.apache.org/axis2/"&gt;axis2&lt;/a&gt; web services since last couple of months. In this post, I will show how to get started with axis2 development and deployment using &lt;a href="http://www.eclipse.org/"&gt;Eclipse IDE&lt;/a&gt;.&lt;br /&gt;&lt;ol class="ol"&gt;&lt;li&gt;If you are not having an &lt;a href="http://www.eclipse.org/"&gt;Eclipse IDE&lt;/a&gt;, I am using &lt;a href="http://download.eclipse.org/webtools/repository/helios/"&gt;helios&lt;/a&gt;&lt;/li&gt;&lt;li&gt;If you are already having &lt;a href="http://www.eclipse.org/"&gt;Eclipse IDE&lt;/a&gt;. make sure you have &lt;a href="http://www.eclipse.org/webtools/"&gt;WTP Plugin&lt;/a&gt; installed.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.vogella.de/articles/Eclipse/article.html#start"&gt;Create a new workspace in eclipse&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Download and install any version of &lt;a href="http://tomcat.apache.org/"&gt;apache tomcat&lt;/a&gt; (I'm using &lt;a href="http://tomcat.apache.org/download-55.cgi#5.5.31"&gt;tomcat 5.5&lt;/a&gt;). If you are having troubles configuring it on your machine, you can locate to apache tomcat help for installation &lt;a href="http://tomcat.apache.org/tomcat-5.5-doc/setup.html"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/webtools/jst/components/ws/1.0/tutorials/InstallTomcat/InstallTomcat.html"&gt;Add apache tomcat&lt;/a&gt; server to your &lt;a href="http://www.eclipse.org/"&gt;Eclipse IDE&lt;/a&gt;, and &lt;a href="http://www.eclipse.org/webtools/jst/components/ws/1.0/tutorials/InstallTomcat/InstallTomcat.html"&gt;here is how you can do it&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Get Axis2&lt;br /&gt;Download latest source of Axis2 from &lt;a href="http://ws.apache.org/axis2/"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;li&gt;See Anil John's &lt;a href="http://www.aniltj.com/blog/2006/02/06/InstallAndConfigureApacheTomcatAxisForWebServiceDevelopmentOnWindowsXPSP2.aspx"&gt;this article&lt;/a&gt; for properly configuring axis2 and related environment variables.&lt;/li&gt;&lt;li&gt;Once you are done with step 7, you can start integrating axis2 with Eclipse IDE by using &lt;a href="http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html"&gt;this article&lt;/a&gt; at &lt;a href="http://www.eclipse.org/webtools/community/tutorials/"&gt;eclipse WTP Tutorials.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;For deploying axis2 plugin using .aar package, donwload &lt;a href="http://ws.apache.org/axis2/tools/1_4/eclipse/servicearchiver-plugin.html"&gt;Apache Axis2 Archive plugin&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Extract the zip file of &lt;a href="http://ws.apache.org/axis2/tools/1_4/eclipse/servicearchiver-plugin.html"&gt;Apache  Axis2 Archive plugin&lt;/a&gt; and copy the folder having plugin.xml and paste it to plugins folder of your eclipse installation root directory&lt;/li&gt;&lt;li&gt;You are done with the configuration and ready to create a new web service. &lt;a href="http://www.eclipse.org/webtools/community/tutorials/TopDownAxis2WebService/td_tutorial.html"&gt;See this tutorial&lt;/a&gt; on eclipse WTP tutorials to create a new axis2 service.&lt;/li&gt;&lt;/ol&gt;&lt;blockquote&gt;I am a .net developer, and successfully created and deployed the services created using &lt;a href="http://www.eclipse.org/"&gt;Eclipse IDE&lt;/a&gt; to &lt;a href="http://wso2.com/products/web-services-application-server/"&gt;wso2 wsas&lt;/a&gt;.I have done this using windows xp, apache tomcat 5.5, axis2 1.5 and wso2 wsas 3.0.0. I hope this post will be helpful to you and will save your time to get started with axis2 development. &lt;/blockquote&gt;I will try to share my experience of working with &lt;a href="http://wso2.com/products/web-services-application-server/"&gt;wso2 wsas&lt;/a&gt; and &lt;a href="http://wso2.com/products/enterprise-service-bus"&gt;wso2 esb&lt;/a&gt; with you in upcoming posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-6526487129362209535?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=bXhHb55aR4w:Qoenurd6FKo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=bXhHb55aR4w:Qoenurd6FKo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=bXhHb55aR4w:Qoenurd6FKo:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=bXhHb55aR4w:Qoenurd6FKo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=bXhHb55aR4w:Qoenurd6FKo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/bXhHb55aR4w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/bXhHb55aR4w/building-java-web-services-with-axis2.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/11/building-java-web-services-with-axis2.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-2220888300351396906</guid><pubDate>Mon, 01 Nov 2010 15:53:00 +0000</pubDate><atom:updated>2010-11-01T21:23:06.645+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">ws-*</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><category domain="http://www.blogger.com/atom/ns#">Eclipse</category><category domain="http://www.blogger.com/atom/ns#">Axis2</category><title>Unable to engage module rampart</title><description>If you have ever tried to create an axis web service with security, you probably have see this error:&lt;br /&gt;&lt;blockquote&gt;AxisFault: unable to engage module "rampart"&amp;nbsp;&lt;/blockquote&gt;When I encountered this problem, I was working with eclipse having axis2 plug-ins. I found a solution in &lt;a href="http://wso2.org/forum/thread/5555" rel="nofollow,noindex"&gt;WSAS Forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Wonderful thing to note is, I got this error fixed and while reading the forums of wso2 wsas, I got this link and I thought it would be good to share this.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Note: This post is applicable to those who are not using axis2 repositories for development and using standalone eclipse projects. I was using the same.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-2220888300351396906?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T9HxiR1Nats:IAyoEkdflsU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T9HxiR1Nats:IAyoEkdflsU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T9HxiR1Nats:IAyoEkdflsU:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=T9HxiR1Nats:IAyoEkdflsU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=T9HxiR1Nats:IAyoEkdflsU:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/T9HxiR1Nats" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/T9HxiR1Nats/unable-to-engage-module-rampart.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/11/unable-to-engage-module-rampart.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-6722463782805417296</guid><pubDate>Fri, 20 Aug 2010 07:42:00 +0000</pubDate><atom:updated>2010-08-20T13:12:18.676+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><title>Keep asp.net user session alive</title><description>I found a nice tricky to keep the user session alive. &lt;a href="http://stackoverflow.com/questions/3528898/auto-refresh-asp-net-web-page-after-defined-interval/3529012#3529012"&gt;see this&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-6722463782805417296?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Q1659BCWTao:SSySVneldnQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Q1659BCWTao:SSySVneldnQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Q1659BCWTao:SSySVneldnQ:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Q1659BCWTao:SSySVneldnQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Q1659BCWTao:SSySVneldnQ:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/Q1659BCWTao" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/Q1659BCWTao/keep-aspnet-user-session-alive.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/08/keep-aspnet-user-session-alive.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-1508489089239168277</guid><pubDate>Tue, 17 Aug 2010 10:16:00 +0000</pubDate><atom:updated>2010-08-17T16:05:05.065+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><category domain="http://www.blogger.com/atom/ns#">Skinning Tips</category><category domain="http://www.blogger.com/atom/ns#">DotNetNuke 5.0</category><title>How to create a signle package for skin and container</title><description>In last week I've released a new skin &lt;a href="http://www.blogger.com/"&gt;Multiflex5&lt;/a&gt; on &lt;a href="http://osdnnskins.codeplex.com/"&gt;OSDNNSKINS&lt;/a&gt;, which is having two packages in downloads section, one for skin and another for containers. When I visited the download page to make sure downloads are working fine, I noticed that skin package is having more downloads than container package's download. This is why this question comes to my head.&lt;br /&gt;&lt;br /&gt;The Idea behind creating a single package is to make sure newbies can also install the package correctly, and when they evaluate the skin. So, I have decided to add two things:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;1. Create single package for skin and containers.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Create a page template (or may be portal template not sure) that can be used to see the demo.&lt;/blockquote&gt;&lt;br /&gt;So, right now I'm going to discuss about how I have created a single package for skin and container. and you have to wait for next post to know how to create page template that can demonstrate the skin.&lt;br /&gt;&lt;br /&gt;Before starting to manually do the following steps, I've tried finding if there is an automated way to do this, and already &lt;a href="http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/109/threadid/381297/scope/posts/Default.aspx" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;created a question in dnn skinning forum&lt;/a&gt;. Following are manual steps to merge two different skin and container packages to single one.&lt;br /&gt;&lt;br /&gt;1. Create separate packages for skin and containers using &lt;a href="http://lakhlaniprashant.blogspot.com/2009/05/dotnetnuke-50-skin-packaging.html" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Create Package Wizard&lt;/a&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;.&lt;/span&gt;&lt;br /&gt;2. Copy the packages from dnn's Install folder to a new folder.&lt;br /&gt;3. Create a New folder called Package and paste all files of skins and containers to a package folder.&lt;br /&gt;4. Make sure you don't have common name for any file in skin/container's package. Otherwise step 3 will overwrite it.&lt;br /&gt;5. Open container's .dnn file and copy following section:&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="xhtml" name="code"&gt;&amp;lt;package name="Multiflex5.4" type="Container" version="0.0.4"&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/package&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;6. Open .dnn file for skin and paste the it before &amp;lt;/packages&amp;gt; tag.&lt;br /&gt;7. Remove .dnn file for container&lt;br /&gt;9. Press &lt;i style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Cnrl + A&lt;/i&gt; to select all files, right click &amp;gt; Send To &amp;gt; Compressed (Zipped) folder&lt;br /&gt;10. Rename the newly created Zip file to your desired name.&lt;br /&gt;11. Test it by installing it to new instance of DNN (or change the skin and container names to install it to the existing installation)&lt;br /&gt;&lt;br /&gt;Hope this will be helpful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-1508489089239168277?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=qUHYuX28MHc:RyK8S6Dn59Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=qUHYuX28MHc:RyK8S6Dn59Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=qUHYuX28MHc:RyK8S6Dn59Y:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=qUHYuX28MHc:RyK8S6Dn59Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=qUHYuX28MHc:RyK8S6Dn59Y:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/qUHYuX28MHc" height="1" width="1"/&gt;</description><enclosure type="text/html" url="http://lakhlaniprashant.blogspot.com/2009/05/dotnetnuke-50-skin-packaging.html" length="0" /><enclosure type="" url="http://osdnnskins.codeplex.com/" length="0" /><enclosure type="" url="http://osdnnskins.codeplex.com/releases/view/50569" length="0" /><enclosure type="" url="http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/109/threadid/381297/scope/posts/Default.aspx" length="0" /><link>http://feedproxy.google.com/~r/TrickyCoder/~3/qUHYuX28MHc/how-to-create-signle-package-for-skin.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/08/how-to-create-signle-package-for-skin.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-1897999911612019785</guid><pubDate>Sat, 14 Aug 2010 07:53:00 +0000</pubDate><atom:updated>2010-08-14T13:28:41.540+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><category domain="http://www.blogger.com/atom/ns#">Skinning Tips</category><title>Free DNN Skin - Multiflex5 Enhancements - Part - 1: Formating DNN's default  module warnings and errors at client side using jQuery</title><description>As all of we know that when there is a warning or error in loading a module for admin, while logged in as admin/host we see &lt;a href="http://www.dotnetnuke.com/"&gt;dnn&lt;/a&gt;'s warning/error message. While implementing skins, we generally don't care about it as it will be only visible to admins/hosts. Have you wondered if we can fix that somehow? here is a sample screen show while &lt;span id="goog_95714968"&gt;&lt;/span&gt;&lt;a href="http://lakhlaniprashant.blogspot.com/2010/08/free-dnn-skin-multiflex5.html"&gt;Multiflex Skin&lt;span id="goog_95714969"&gt;&lt;/span&gt;&lt;/a&gt; is showing a dnn warning message.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_ymCJ0BMOmwE/TGZHSkxT2hI/AAAAAAAAA5w/vERJygsq0IY/s1600/img-1.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="157" src="http://2.bp.blogspot.com/_ymCJ0BMOmwE/TGZHSkxT2hI/AAAAAAAAA5w/vERJygsq0IY/s400/img-1.PNG" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;dnn warning message&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;Let's fix it using jQuery:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;1. Add jQuery reference and a js file called Home.js&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="xhtml" name="code"&gt;&amp;lt;%DotNetNuke.Framework.jQuery.RequestRegistration()%&amp;gt;&lt;br /&gt;&amp;lt;script src="&amp;lt;%=SKinPath %&amp;gt;Home.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;b&gt;2. Let's add jQuery to format the message&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="js" name="code"&gt;$(function() {&lt;br /&gt;    if ($('#dnn_ContentPane&amp;gt;table').length &amp;gt; 0) {&lt;br /&gt;        $('#dnn_ContentPane&amp;gt;hr').remove();&lt;br /&gt;        var $table = $('#dnn_ContentPane&amp;gt;table')&lt;br /&gt;        $table.hide();&lt;br /&gt;        var html = '';&lt;br /&gt;        $('td', $table).each(function() {&lt;br /&gt;            html += $(this).html();&lt;br /&gt;        });&lt;br /&gt;        $table.remove();&lt;br /&gt;        $('#dnn_ContentPane').prepend('&amp;lt;div id="divMsg"&amp;gt;&amp;lt;div class="content-cell-corner-top"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class="content-cell"&amp;gt;' + html + '&amp;lt;/div&amp;gt;&amp;lt;div class="content-cell-corner-bottom"&amp;gt;&amp;lt;/div&amp;gt;');&lt;br /&gt;    }&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;And we are done! now let's take a look at how the dnn warning message is looking in &lt;a href="http://lakhlaniprashant.blogspot.com/2010/08/free-dnn-skin-multiflex5.html"&gt;Multiflex5&lt;/a&gt; skin?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;img border="0" height="155" src="http://lh5.ggpht.com/_ymCJ0BMOmwE/TGZI698T7VI/AAAAAAAAA6A/5lFlXBbgy54/s400/img-2.PNG" width="400" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;dnn warning message formatted&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;So, we can see a little bit of &lt;a href="http://www.jquery.org/"&gt;jQuery&lt;/a&gt; can format the message at client side. I was thinking how to get it formatted right from the server side and will try to figure this out.&lt;br /&gt;&lt;br /&gt;Next fix in &lt;a href="http://lakhlaniprashant.blogspot.com/2010/08/free-dnn-skin-multiflex5.html"&gt;multiflex5&lt;/a&gt; is of &lt;span id="goog_1666125111"&gt;&lt;/span&gt;&lt;a href="http://www.dotnetnuke.com/"&gt;dnn&lt;span id="goog_1666125112"&gt;&lt;/span&gt;&lt;/a&gt; action menu, Once I will done with that, new version of &lt;a href="http://lakhlaniprashant.blogspot.com/2010/08/free-dnn-skin-multiflex5.html"&gt;mutltiflex5&lt;/a&gt; will be released. &lt;br /&gt;&lt;br /&gt;Please tell me your thoughts or shared your solutions for the same problem you faced during dnn development to make the &lt;a href="http://lakhlaniprashant.blogspot.com/2010/08/free-dnn-skin-multiflex5.html"&gt;Multiflex5&lt;/a&gt; better suited to use in production.&lt;br /&gt;&lt;br /&gt;Have fun with the free skin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-1897999911612019785?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=NU3bConzG88:PHv6GhZxIZE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=NU3bConzG88:PHv6GhZxIZE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=NU3bConzG88:PHv6GhZxIZE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=NU3bConzG88:PHv6GhZxIZE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=NU3bConzG88:PHv6GhZxIZE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/NU3bConzG88" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/NU3bConzG88/free-dnn-skin-multiflex5-enhancements.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ymCJ0BMOmwE/TGZHSkxT2hI/AAAAAAAAA5w/vERJygsq0IY/s72-c/img-1.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/08/free-dnn-skin-multiflex5-enhancements.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-4192153108481937408</guid><pubDate>Fri, 13 Aug 2010 10:34:00 +0000</pubDate><atom:updated>2010-08-14T15:15:20.233+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><title>Free DNN Skin - Multiflex5</title><description>New free skin is available on &lt;a href="http://osdnnskins.codeplex.com/"&gt;OSDNNSKINS&lt;/a&gt;. An open source template &lt;a href="http://www.openwebdesign.org/design/4481/multiflex5/index.html"&gt;Multiflex5&lt;/a&gt; is converted into DNN Skin. Please visit&amp;nbsp; download section of &lt;a href="http://osdnnskins.codeplex.com/"&gt;OSDNNSKINS&lt;/a&gt; site.&lt;br /&gt;Instructions for using the skin:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Download and install Skin package and Container package from Download section of &lt;a href="http://osdnnskins.codeplex.com/"&gt;OSDNNSKINS&lt;/a&gt;&amp;nbsp;&lt;/li&gt;&lt;li&gt;Create sample page and try applying a skin and container to it&lt;/li&gt;&lt;li&gt;Use Rounded-Center.ascx as a default container&lt;/li&gt;&lt;li&gt;Use Subcontent.ascx as right sidebar container&lt;/li&gt;&lt;li&gt;Use botton-subcontent for two column layout of CenterLeftPane and CenterRightPane&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Updated&lt;/b&gt;&lt;strike&gt;&lt;br /&gt;&lt;/strike&gt;&lt;br /&gt;&lt;strike&gt;Limitations:&lt;/strike&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strike&gt;DNN Action drop down menu is not showing correctly right now&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;DNN Module warnings are not showing correctly&lt;/strike&gt;&lt;/li&gt;&lt;/ul&gt;I've notices the above two things after releasing the skin packages, so will fix this in the next release in next weekend.&lt;br /&gt;Tested in all the popular browsers and looks fine. (IE7, latest version of Firefox, Chrome and safari)&lt;br /&gt;Please send your feedback on this skin.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Update:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;a href="http://osdnnskins.codeplex.com/releases/view/50569"&gt;Multiflex5 version 0.2&lt;/a&gt; is now available to download which is now stable. Please report bugs you find in issue tracker of &lt;a href="http://www.blogger.com/"&gt;OSDNNSKINS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-4192153108481937408?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=EHb5R0KMndY:ZqDEO2XbJQM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=EHb5R0KMndY:ZqDEO2XbJQM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=EHb5R0KMndY:ZqDEO2XbJQM:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=EHb5R0KMndY:ZqDEO2XbJQM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=EHb5R0KMndY:ZqDEO2XbJQM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/EHb5R0KMndY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/EHb5R0KMndY/free-dnn-skin-multiflex5.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/08/free-dnn-skin-multiflex5.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-7069670562421500071</guid><pubDate>Sat, 10 Jul 2010 11:37:00 +0000</pubDate><atom:updated>2010-07-10T17:08:19.228+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Free DNN Module</category><title>DotNetNuke: Free Module - Sample SiteMap with Navigation and Filter</title><description>Check out this free dnn module showing site map with option to filter the links using alphabet. Here are some of it's features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ajax to load tab links for an alphabet&lt;/li&gt;&lt;li&gt; Option to see all tab links or specific tab link&lt;/li&gt;&lt;li&gt;Only initial version to present the idea&lt;/li&gt;&lt;li&gt;It uses &lt;a href="http://www.ihwy.com/labs/jquery-listnav-plugin.aspx"&gt;jQuery Navigation Pluggin&lt;/a&gt;&amp;nbsp; to show filter links&lt;/li&gt;&lt;li&gt;Screenshot:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_ymCJ0BMOmwE/TDhZlUUIZTI/AAAAAAAAA5c/m7gciXwEArQ/s1600/eLabSiteMapNav.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_ymCJ0BMOmwE/TDhZlUUIZTI/AAAAAAAAA5c/m7gciXwEArQ/s320/eLabSiteMapNav.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Further improvements and objectives&lt;/h3&gt;The basic idea to would be to create a module that can be used as a dynamic page that shows various links and can be used for SEO purpose. &lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;h3&gt;Send your suggessions&lt;/h3&gt;Please send in your wish list of features that you expect and can add value to this. Please feel free to download and evaluate the module and use it in whatever way you want.&lt;br /&gt;&lt;/blockquote&gt;&lt;h3&gt;Download&lt;/h3&gt;&lt;iframe title ="Preview" scrolling="no" marginheight="0" marginwidth="0" frameborder="0" style="width:98px;height:115px;padding:0;background-color:#fcfcfc;" src="http://cid-4d35773943f122a7.office.live.com/embedicon.aspx/Public/eLabSiteMapNav^_00.00.01^_Install.zip"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-7069670562421500071?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Bxc7kb4dnhU:4-TrpmfnOw8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Bxc7kb4dnhU:4-TrpmfnOw8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Bxc7kb4dnhU:4-TrpmfnOw8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=Bxc7kb4dnhU:4-TrpmfnOw8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=Bxc7kb4dnhU:4-TrpmfnOw8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/Bxc7kb4dnhU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/Bxc7kb4dnhU/dotnetnuke-free-module-sitemap-with.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_ymCJ0BMOmwE/TDhZlUUIZTI/AAAAAAAAA5c/m7gciXwEArQ/s72-c/eLabSiteMapNav.PNG" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/07/dotnetnuke-free-module-sitemap-with.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-2939858323380747000</guid><pubDate>Sat, 10 Jul 2010 07:23:00 +0000</pubDate><atom:updated>2010-11-20T10:42:09.628+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><category domain="http://www.blogger.com/atom/ns#">Skinning Tips</category><title>DotNetNuke: Common tips for skin Developers</title><description>&lt;ol&gt;&lt;h3&gt;Skin Development&lt;/h3&gt;&lt;li&gt;&lt;b&gt;How to add reference to jQuery?&lt;/b&gt;&lt;br /&gt;&lt;strike&gt;Add following server tag at the top of your skin file&lt;/strike&gt;&lt;br /&gt;Add following at the end of your skin file:&lt;br /&gt;&lt;br /&gt;&lt;pre class="xhtml" name="code"&gt;&lt;strike&gt;&amp;lt;%  DotNetNuke.Framework.jQuery.RequestRegistration()%&amp;gt; &lt;br /&gt;&lt;/strike&gt;&lt;br /&gt;&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt; Protected Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Init&lt;br /&gt;  dotnetnuke.Framework.jQuery.RequestRegistration()&lt;br /&gt; End Sub&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;Thanks to Brian Dukes for correcting this&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt; How to access Tab Name?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="xhtml" name="code"&gt;&amp;lt;%=  PortalSettings.ActiveTab.TabName%&amp;gt;&amp;nbsp;&lt;br /&gt;&lt;/pre&gt;Now that you know how &lt;cite&gt;PortalSettigns&lt;/cite&gt; is having &lt;cite&gt;ActiveTab&lt;/cite&gt; you can play with properties of &lt;cite&gt;ActiveTab&lt;/cite&gt; which is of type &lt;cite&gt;TabInfo&lt;/cite&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt; How to access currently logged in user?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="xhtml" name="code"&gt;&amp;lt;%=  PortalSettings.UserInfo.DisplayName%&amp;gt;&amp;nbsp;&lt;br /&gt;&lt;/pre&gt;Once again  &lt;cite&gt;PortalSettigns&lt;/cite&gt;, you can use &lt;cite&gt;PortalSettings.UserInfo.Roles&lt;/cite&gt; to provide role based elements to your skin.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;how to get path of Skin folder?&lt;/b&gt;&lt;br /&gt;Most useful and easy one&lt;br /&gt;&lt;br /&gt;&lt;pre class="xhtml" name="code"&gt;&amp;lt;%=  SkinPath%&amp;gt;&amp;nbsp;&lt;br /&gt;&lt;/pre&gt;so if you want to show an tips.jpg which is images directory in your skin root directory, do this&lt;br /&gt;&lt;br /&gt;&lt;pre class="xhtml" name="code"&gt;&amp;lt;img src="&amp;lt;%=SkinPath %&amp;gt;images/tips.jpg" alt="tips" title="tips" /&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;How to find default portal and admin skins from database?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;selecT* from PortalSettings where SettingName in ('DefaultAdminContainer','DefaultAdminSkin','DefaultPortalContainer','DefaultPortalSkin')&lt;br /&gt;select * from HostSettings where SettingName in ('DefaultAdminContainer','DefaultAdminSkin','DefaultPortalContainer','DefaultPortalSkin')&lt;br /&gt;&lt;/pre&gt;DNN will try to look at &lt;cite&gt;PortalSettings&lt;/cite&gt; table and see if admin and default portal skins are available there, if found, it will apply that settings otherwise it will load it from &lt;cite&gt;HostSettings&lt;/cite&gt; table. &lt;br /&gt;&lt;a href="http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryId/2561/Setting-Admin-Host-Page-Skins-via-SQL.aspx"&gt;Here is more advanced link&lt;/a&gt; from dnn blog.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;ol&gt;&lt;h3&gt;Reference and links for skin development&lt;/h3&gt;&lt;li&gt; There are lots of &lt;a href="http://lakhlaniprashant.blogspot.com/2009/06/dotnetnuke-skin-objects.html"&gt;skin objects&lt;/a&gt;, which are &lt;a href="http://www.thinkofdesign.com/resources/dotnetnuke-skinning-reference/" rel="NOFOLLOW,NOINDEX"&gt;described well here&lt;/a&gt;, or you can download entire &lt;a href="http://www.dotnetnuke.com/LinkClick.aspx?fileticket=UvGirRQpGRo%3D&amp;amp;tabid=478&amp;amp;mid=857"&gt;DotNetNuke Skinning Guide&lt;/a&gt; from &lt;a href="http://www.dotnetnuke.com/"&gt;dotnetnuke&lt;/a&gt; website.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Building dnn skins using BluePrint css framework&lt;br /&gt;&lt;a href="http://osdnnskins.codeplex.com/wikipage?title=BluePrintSample&amp;amp;referringTitle=Home"&gt;Free Sample skin developed using BluePrint css framework&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;a href="http://yaml.dnn.ch/Tutorials/Tutorialstarten/tabid/141/Default.aspx"&gt;Tutorial on building DNN Skins using YAML&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; &lt;a href="http://dnngallery.net/blog/id/140/pros-and-cons-of-using-css-framework-in-dotnetnuke"&gt;Pros and cons of using css frameworks in dnn&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;More..&lt;/h3&gt;Please drop me a line to get any kind help regarding the dnn skin development and administration problems.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-2939858323380747000?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=9EVOu6My9GU:b-GeXSxhQ2s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=9EVOu6My9GU:b-GeXSxhQ2s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=9EVOu6My9GU:b-GeXSxhQ2s:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=9EVOu6My9GU:b-GeXSxhQ2s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=9EVOu6My9GU:b-GeXSxhQ2s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/9EVOu6My9GU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/9EVOu6My9GU/dotnetnuke-common-tips-for-skin.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>2</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/07/dotnetnuke-common-tips-for-skin.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-6208530425255484592</guid><pubDate>Thu, 01 Apr 2010 07:46:00 +0000</pubDate><atom:updated>2010-05-07T20:13:53.781+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><category domain="http://www.blogger.com/atom/ns#">Tips and Tricks</category><title>DotNetNuke - What is Module Definition?</title><description>DNN - What is Module Definition?&lt;br /&gt;&lt;b&gt;What is Module Definition?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A Module must have at least one definition in order to show the default view control in module. More over, Module is collection of module definitions, that contains group of controls (View, Edit, Settings). When a module is installed to the tab, all the definitions are installed to it and default or view controls from all the definition is visible to the tab. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;But why do I need it?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When you want to display your module views in different panes!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I don't get you!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Well what will you do if you have a two column layout (skin) and you are asked to show recent posts in the side bar pane and recent comments at the bottom of content pane?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I will create two different modules!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;No, that's not a right way to do it! Module definitions are just to do this kind of things. Creating two different module and then creating a module package for both of them and installing them individually is not an efficient way. Logically, your recent posts' view and recent comments are part of your blog module and by installing blog module you will be able to install both of them in any pane of skin you want. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, But I can just add the recent comments at the bottom of my posts in the ascx control, why do I create a separate view for it? &lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Well, what if client ask you to move it to sidebar? separating&lt;b&gt; &lt;/b&gt;the things will allow client to do it him self!&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Oh I see! So, I have to create two view controls in the module and just create two separate definitions for both of them. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Right. That's the correct way to do it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ok, and what If I want to add "New Post" link to both of the module definitions?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Well, you can create a single edit type of control and you have to add the control's link to both of the view controls and add the edit control to both definitions. But note that if you are using module id this will not work. Module ID for both of them will be different.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[But most of the time, you will not do that in DNN, you will place edit link to the view that is most relevant.]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;And what about settings, can I share settings of module between them?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Nop, you cannot share it. installing every definition will create a new module id. and settings are stored by module id so technically, you don't have facility to do this by design. That makes sense, For example, if you want to show unapproved comment's list to the blog owner, and change the setting for that definition, that will not affect the blog list and recent post list. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Conclusion:&lt;/b&gt;&lt;br /&gt;You can think module definition as a deploy time helpers, if you want that certain group of view controls should be installed with the installation of module but don't want them to stick to the panes they are installed in, just split your views in more than one view and add as many definitions as you want to allow flexibility.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-6208530425255484592?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=lbA9eBsVxoA:VybW0g458Hc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=lbA9eBsVxoA:VybW0g458Hc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=lbA9eBsVxoA:VybW0g458Hc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=lbA9eBsVxoA:VybW0g458Hc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=lbA9eBsVxoA:VybW0g458Hc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/lbA9eBsVxoA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/lbA9eBsVxoA/dotnetnuke-what-is-module-definition.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><thr:total>2</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/04/dotnetnuke-what-is-module-definition.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-556731575261585802.post-3419234857414976844</guid><pubDate>Thu, 04 Mar 2010 09:46:00 +0000</pubDate><atom:updated>2010-03-23T08:58:22.158+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">DotNetNuke</category><title>Building Skinnable Modules</title><description>&lt;span style="font-weight: bold;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;In this post we will try to create a basic module development strategy when you want to create a module with multiple skins. The basic idea here is to create an initial demo that can be re-used to create modules with multiple skins.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Let's Start:&lt;/b&gt;&lt;br /&gt;Let's start by creating some set of controls and css just like you see in the image below.&lt;br /&gt;&lt;br /&gt;&lt;img alt="Skinnable Module Image 1" src="http://lh6.ggpht.com/_ymCJ0BMOmwE/S4-EDOnKAqI/AAAAAAAAA5E/6f0YIJ6JnZU/s144/skinnable-module-1.PNG" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Create a Module from the control in the root directory (View.ascx)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;View.ascx is just a control loader which will decide which skin control to be rendered based on skin that is selected, if no skin is selected, you can assign default skin. &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Further Improvements:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If module control is relatively simply and contains only listing view like repeater or data list, you can move the cs file of any one control to code folder, and change code behind file attribute for both skin controls. That way you don't have to maintain separate code file for each skin.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Source Code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can download source code from here.&lt;br /&gt;&lt;iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://cid-4d35773943f122a7.skydrive.live.com/embedicon.aspx/Public/SkinnableModule%5E_00.00.01%5E_Install.zip" style="background-color: #fcfcfc; height: 115px; padding: 0pt; width: 98px;" title="Preview"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/556731575261585802-3419234857414976844?l=lakhlaniprashant.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:YwkR-u9nhCs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=YwkR-u9nhCs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FPBA784Dmw8:d2sPGcFUuvI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FPBA784Dmw8:d2sPGcFUuvI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FPBA784Dmw8:d2sPGcFUuvI:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?i=FPBA784Dmw8:d2sPGcFUuvI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TrickyCoder?a=FPBA784Dmw8:d2sPGcFUuvI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TrickyCoder?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TrickyCoder/~4/FPBA784Dmw8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TrickyCoder/~3/FPBA784Dmw8/building-skinnable-modules.html</link><author>noreply@blogger.com (Prashant Lakhlani)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_ymCJ0BMOmwE/S4-EDOnKAqI/AAAAAAAAA5E/6f0YIJ6JnZU/s72-c/skinnable-module-1.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://lakhlaniprashant.blogspot.com/2010/03/building-skinnable-modules.html</feedburner:origLink></item></channel></rss>

