<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='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'><id>tag:blogger.com,1999:blog-5869302788086075634</id><updated>2012-01-10T03:28:13.525-08:00</updated><category term='c#'/><category term='Absolute URL'/><category term='DOM'/><category term='RSS'/><category term='HtmlDocument'/><category term='SEO'/><category term='top 5 asp.net'/><category term='opensource'/><category term='cloud computing'/><category term='PROFESSIONAL'/><category term='php'/><category term='DotNetNuke'/><category term='html'/><category term='parse'/><category term='asp.net'/><category term='Google Search History'/><category term='asp.net vs php'/><category term='error'/><category term='IIS'/><category term='gmail'/><category term='HyperLink'/><category term='problem'/><category term='NavigateUrl'/><title type='text'>Sobot Software - ASP.NET DotNetNuke blog</title><subtitle type='html'>Blog about ventures in ASP.NET and &lt;a href="http://www.sobot.biz/services.aspx"&gt;DotNetNuke development&lt;/a&gt;. Mainly created out of frustrations while working.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-5986214735767376484</id><published>2009-10-28T03:43:00.000-07:00</published><updated>2009-10-28T03:43:01.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Search History'/><category scheme='http://www.blogger.com/atom/ns#' term='DotNetNuke'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>DotNetNuke, Google Search History, News RSS, SEO</title><content type='html'>Thinking about SEO I know that an important part of it is generating unique content.&lt;br /&gt;Well I don't have much time to write content(apart from this 15 mins break)&lt;br /&gt;&lt;br /&gt;So do I generate any content at all?&lt;br /&gt;&lt;br /&gt;Yes my Google Search History!&lt;br /&gt;&lt;br /&gt;So I found information of &lt;a href="http://www.google.com/support/accounts/bin/answer.py?hl=en&amp;answer=54464" target="_blank"&gt;Google search history features&lt;/a&gt; and realized that the you can get a RSS feed of google search history here:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.google.com/history/?output=rss" target="_blank"&gt;https://www.google.com/history/?output=rss&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But you have to log in with your gmail account to view this page.&lt;br /&gt;&lt;br /&gt;So after a day struggling to build a custom module with authentication to Google I remembered that a basic DNN News/RSS module has a option to specify a username/password. So i tried it out an PUFF it worked.&lt;br /&gt;&lt;br /&gt;Here is an example for &lt;a href="http://www.sobot.biz/About/Search_History.aspx"&gt;published search history&lt;/a&gt; on my site.&lt;br /&gt;&lt;br /&gt;I think it would be cool to expand this with a suggested result for the search.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sobot.biz/Services/Flex_Outsourcing.aspx"&gt;Flex Outsourcing&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-5986214735767376484?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/5986214735767376484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=5986214735767376484' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/5986214735767376484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/5986214735767376484'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/10/dotnetnuke-google-search-history-news.html' title='DotNetNuke, Google Search History, News RSS, SEO'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-7666028117578126133</id><published>2009-06-30T09:33:00.000-07:00</published><updated>2009-06-30T09:35:02.167-07:00</updated><title type='text'>Elance admission test</title><content type='html'>Here are the questions that i failed on:&lt;br /&gt;&lt;br /&gt;Topic : Elance U Course – Find Work&lt;br /&gt;1. How can you ask the client questions before submitting a proposal? Find the correct answer&lt;br /&gt;   a. This is impossible&lt;br /&gt;   b. Use the Public Messages forum&lt;br /&gt;   c. Verify your credentials&lt;br /&gt;   d. Take a skills test&lt;br /&gt;   Correct Answer: b&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;Topic : Elance U Course – Manage the Work&lt;br /&gt;2. Why are milestones important? Find the correct answer&lt;br /&gt;   a. Outline the schedule and the work to be done&lt;br /&gt;   b. Define the payment schedule&lt;br /&gt;   c. Help keep the project on schedule  &lt;br /&gt;   d. All of the above&lt;br /&gt;   Correct Answer: d&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;Topic : Elance U Course – Get Paid&lt;br /&gt;3. What page lists your current account balance along with all transaction history? Find the correct answer&lt;br /&gt;   a. "Status Reports" under the "Manage" tab        &lt;br /&gt;   b. The Water Cooler&lt;br /&gt;   c. "Account Activity" under "Get Paid"&lt;br /&gt;   d. The Inbox&lt;br /&gt;   Correct Answer: c&lt;br /&gt;&lt;br /&gt;Hope it helps,&lt;br /&gt;&lt;br /&gt;I passed with 88 that's just bad&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-7666028117578126133?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/7666028117578126133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=7666028117578126133' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/7666028117578126133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/7666028117578126133'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/06/elance-admission-test.html' title='Elance admission test'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-3470187037853022774</id><published>2009-03-24T05:38:00.000-07:00</published><updated>2009-04-07T01:57:58.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>list find predicate delegate .net</title><content type='html'>Here is an example how to use delegate to use for custom searching thru generic list&lt;br /&gt;&lt;br /&gt;List&amp;lt;employee&amp;gt; ListEmployes = new List&amp;lt;employee&amp;gt;();&lt;br /&gt;string strFirstName = "Mark";&lt;br /&gt;&lt;br /&gt;Employee employeeResult = objListSomeClass.Find(delegate(Employee employee )&lt;br /&gt;{&lt;br /&gt;return employee.Name==strFirstName ;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-3470187037853022774?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/3470187037853022774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=3470187037853022774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/3470187037853022774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/3470187037853022774'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/03/list-find-predicate-delegate-net.html' title='list find predicate delegate .net'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-381787964910499471</id><published>2009-03-24T05:21:00.000-07:00</published><updated>2009-04-07T01:57:35.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>capitalize first letter word C#</title><content type='html'>Just a quickie not this can be really helpful for displaying string properly.&lt;br /&gt;&lt;br /&gt;string strSomething="PLEASE CAPITALIZE THE FIRST LETTER OF EVERY WORD"&lt;br /&gt;or&lt;br /&gt;string strSomething="please capitalize the first letter of every word"&lt;br /&gt;&lt;br /&gt;System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(strSomething.ToLower())&lt;br /&gt;&lt;br /&gt;the result&lt;br /&gt;"Please Capitalize The First Letter Of Every Word"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sobot.biz/Services/DotNetNuke_Module_Development.aspx"&gt;DotNetNuke Custom Module Development&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-381787964910499471?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/381787964910499471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=381787964910499471' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/381787964910499471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/381787964910499471'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/03/capitalize-first-letter-word-c.html' title='capitalize first letter word C#'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-5785971235048420695</id><published>2009-02-24T03:46:00.000-08:00</published><updated>2009-02-24T04:07:31.470-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gmail'/><category scheme='http://www.blogger.com/atom/ns#' term='error'/><category scheme='http://www.blogger.com/atom/ns#' term='cloud computing'/><title type='text'>Gmail not working 502 Server Error</title><content type='html'>Tuesday February 24 2009&lt;br /&gt;&lt;br /&gt;When tried to login to my gmail account i got this:&lt;br /&gt;&lt;br /&gt;Server Error&lt;br /&gt;The server encountered a temporary error and could not complete your request.&lt;br /&gt;&lt;br /&gt;Please try again in 30 seconds.&lt;br /&gt;&lt;br /&gt;Do we trust too much in cloud computing?&lt;br /&gt;Most of us do not have backup of their gmail account just imagine what would happen if you lose it.&lt;br /&gt;&lt;br /&gt;I think Google should enable a easy backup of all the gmail archive and even if we have to pay for it. Doing it via SMTP is just too slow and unreliable.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SOLUTION:&lt;/span&gt; You can always try to get your mail using POP, if its urgent&lt;br /&gt;&lt;br /&gt;Configure your POP client - &lt;a href="http://mail.google.com/support/bin/answer.py?answer=12103"&gt;http://mail.google.com/support/bin/answer.py?answer=12103&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;but you probably should have done this first&lt;br /&gt;Enabling POP - &lt;a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=13273"&gt;http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=13273&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;God(Google) help us!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-5785971235048420695?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/5785971235048420695/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=5785971235048420695' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/5785971235048420695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/5785971235048420695'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/02/gmail-not-working-502-server-error.html' title='Gmail not working 502 Server Error'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-8220900807318441433</id><published>2009-02-19T07:35:00.000-08:00</published><updated>2009-02-19T08:12:42.420-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HtmlDocument'/><category scheme='http://www.blogger.com/atom/ns#' term='DOM'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='parse'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>ASP.NET parse HTML string HtmlDocument</title><content type='html'>Here is a quick tutorial that shows how a string containing HTML can be parsed and navigated using HtmlDocument object.&lt;br /&gt;You must use this namespace for HtmlBrowser and HtmlDocument objects&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;namespace System.Windows.Forms&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;First lets say you have a flat HTML in a string variable like this&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;string strHTML = "&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);" id="someSpanId"&gt;[some raw html]&lt;/span&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;WebBrowser browser = new WebBrowser();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;browser.ScriptErrorsSuppressed = true;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;HtmlDocument htmlDocument = browser.Document.OpenNew(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;htmlDocument.Write(strHTML);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I recommend to set ScriptErrorsSuppressed=true; to avoid possible JS problems while loading HTML.&lt;br /&gt;&lt;br /&gt;Once you HtmlDocument object is ready you have these functions (similar to JavaScript) on your disposal:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;htmlDocument.GetElementById(string id)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;htmlDocument.GetElementsByTagName(string tagName)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;htmlDocument.GetElementFromPoint(System.Drawing.Point point)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All these methods returns ether HtmlElement or HtmlElementCollection and here are useful methods for parsing thru elements&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;htmlElement.Parent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;htmlElement.NextSibling&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;htmlElement.FirstChild&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;htmlElement.InnerHtml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;htmlElement.InnerText&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;htmlElement.Children&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;htmlElement.GetElementsByTagName(string tagName)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you can see this is exactly same as JavaScript DOM model so anybody that has experience with working with DOM will be right at home.&lt;br /&gt;&lt;br /&gt;It would be nice to have something like JQuery server side to parse the document, if you know about a better way of parsing or a library dedicated to it fell free to add a comment?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-8220900807318441433?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/8220900807318441433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=8220900807318441433' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/8220900807318441433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/8220900807318441433'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/02/aspnet-parse-html-string-htmldocument.html' title='ASP.NET parse HTML string HtmlDocument'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-562412419572991338</id><published>2009-02-16T06:10:00.000-08:00</published><updated>2009-02-18T07:14:03.784-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PROFESSIONAL'/><category scheme='http://www.blogger.com/atom/ns#' term='DotNetNuke'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><title type='text'>DotNetNuke Professional, is it still opensource?</title><content type='html'>What does this mean? ...&lt;span id="dnn_ctr3873_dnnTITLE_lblTitle" class="Head"&gt; &lt;a href="http://www.dotnetnuke.com/tabid/1212/default.aspx"&gt;Purchase DotNetNuke&lt;/a&gt;&lt;br /&gt;What about open source?&lt;br /&gt;How will this affect future releases of DotNetNuke?&lt;br /&gt;Should we start looking for a new open source CMS alternative for ASP.NET?&lt;br /&gt;&lt;br /&gt;I think people of DNN joined collective paranoia and insanity of recession and started inventing new ways to get money. I'm sure this is not a good way to go. Sooner or later the community releases will become more and more buggy and we will be forced to buy the "PROFESSIONAL" version (whatever this means). At the end, my view is that DNN will become one more commercial CMS out there.&lt;br /&gt;&lt;br /&gt;Do they want to say that the releases of DNN where unprofessional up till now?&lt;br /&gt;That previous versions of DNN are just for amateurs?&lt;br /&gt;&lt;br /&gt;Nice way of demeaning your own product.&lt;br /&gt;&lt;br /&gt;And the fact there is no price listed on the site, but a simple contact form, means that they are probably just probing the market to see the response.&lt;br /&gt;&lt;br /&gt;We as a community should give them our response.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Everybody that uses DNN should go to this address and give their voice about these changes&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.dotnetnuke.com/Home/Forms/Purchase/tabid/1241/Default.aspx"&gt;http://www.dotnetnuke.com/Home/Forms/Purchase/tabid/1241/Default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="Head title"&gt;For the end of this post I leave you with this Wired article&lt;br /&gt;&lt;a href="http://www.wired.com/techbiz/it/magazine/16-03/ff_free"&gt;&lt;span style="font-weight: bold;"&gt;Free! Why $0.00 Is the Future of Business&lt;/span&gt;&lt;/a&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/5869302788086075634-562412419572991338?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/562412419572991338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=562412419572991338' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/562412419572991338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/562412419572991338'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/02/dotnetnuke-professional-is-dotnetnuke.html' title='DotNetNuke Professional, is it still opensource?'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-6412806584863563768</id><published>2009-02-13T07:51:00.000-08:00</published><updated>2009-02-13T08:15:49.505-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Absolute URL'/><category scheme='http://www.blogger.com/atom/ns#' term='HyperLink'/><category scheme='http://www.blogger.com/atom/ns#' term='problem'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='NavigateUrl'/><title type='text'>asp:HyperLink NavigateUrl Problem Absolute URL</title><content type='html'>I came across an idiotic problem with asp:HyperLink control.&lt;br /&gt;What happened is that I noticed every time I bind a hyperlink NavigateURL field in code-behind, it points to current site + the url i specifed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In Page_Load i do:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;lnkAbsolute.NavigateURL = "http://www.google"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But the result on the page is&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;http://www.mysite.com/www.google.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;IDIOTIC&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So the solution i found is not relay good but nevertheless a solution.&lt;br /&gt;&lt;br /&gt;I saw that in Page_PreRened event my NavigateURL lost "http://" part of the URL&lt;br /&gt;so you just have to re-add the "http://" prefix to the URL in Page_PreRender event, like so:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;protected void Page_PreRender(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;   if (!lnkAbsolute.NavigateUrl.StartsWith("http://") &amp;amp;&amp;amp; !string.IsNullOrEmpty(lnkAbsolute.NavigateUrl))&lt;br /&gt;   {&lt;br /&gt;     lnkAbsolute.NavigateUrl = "http://" + lnkAbsolute.NavigateUrl;&lt;br /&gt;   }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sometimes I just can believe how the simplest of things can hold you back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-6412806584863563768?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/6412806584863563768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=6412806584863563768' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/6412806584863563768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/6412806584863563768'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/02/asphyperlink-navigateurl-problem.html' title='asp:HyperLink NavigateUrl Problem Absolute URL'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-8725109580048416205</id><published>2009-02-12T07:54:00.000-08:00</published><updated>2009-02-12T10:08:40.873-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='top 5 asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net vs php'/><title type='text'>ASP.NET vs PHP. Top 5 sites running ASP.NET or IIS servers</title><content type='html'>Hi to all developers,&lt;br /&gt;&lt;br /&gt;I decided to write this post after 100th time I had to defend the technology i choose to work on (which is ASP.NET). Often when somebody(client) decides what to use for their web site he asks around and they get an answer like&lt;br /&gt; "Use PHP it is the best!!! Do not use ASP.NET it is expensive and not safe". &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;That is a incorrect generalization and often suggested by people working on PHP.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then that somebody (usually the client) demands me to prove that ASP.NET is a viable framework for developing web application. And after the 100th time(Repetition is the mother of knowledge) I had to write a mail to explain that ASP.NET is a proven framework for developing web apps here is what i come up with:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Web Servers&lt;/span&gt;&lt;br /&gt;There is a place on the web &lt;a href="http://news.netcraft.com/"&gt;news.netcraft.com/&lt;/a&gt; that can show you witch site use what web server, among other things. Latest data (Jan 2009) show:&lt;br /&gt;&lt;br /&gt;Apache      52.26% &lt;br /&gt;Microsoft   32.91%&lt;br /&gt;&lt;br /&gt;So one third of all the web servers out there a hosted on Microsoft servers and probably most of the use ASP.NET. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hosting&lt;/span&gt;&lt;br /&gt;When I say hosting I mean dedicated or virtual server hosting and most of the hosting providers on the web that offer both Linux and Microsoft servers have the same price difference.&lt;br /&gt;&lt;br /&gt;Usually Windows servers is 20% more expensive than Linux.&lt;br /&gt;&lt;br /&gt;If you take that the average price for an average server on the web is around $150 a month the price difference is not really a problem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Top 5 sites running ASP.NET or Microsoft/IIS servers&lt;/span&gt;&lt;br /&gt;So I used Alexa &lt;a href="http://www.alexa.com/site/ds/top_sites?ts_mode=lang&amp;lang=en"&gt;The top 100 sites in the English language&lt;/a&gt; and &lt;a href="http://searchdns.netcraft.com/"&gt;searchdns.netcraft.com&lt;/a&gt; to get to top 5 sites that either are running on IIS and/or ASP.NET (I excluded all Microsoft sites)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orkut.com"&gt;www.orkut.com&lt;/a&gt; - 9th place. Social networking and discussion site operated by Google. I dose run on Linux but as far as I see it the extensions of url's on that sites is .aspx and that is ASP.NET (Correct me if I'm wrong&lt;br /&gt;&lt;a href="http://www.ebay.com/"&gt;www.ebay.com&lt;/a&gt;  13th place. Uses Windows servers.&lt;br /&gt;&lt;a href="http://www.espn.go.com/"&gt;www.espn.go.com&lt;/a&gt; 35th place&lt;br /&gt;&lt;a href="http://www.espn.go.com/"&gt;www.doubleclick.com&lt;/a&gt; 73th place. Coordinates targeted Internet advertising campaigns for advertisers, and provides ad management services, software, and sales for publishers. At least they corporate website is running on ASP.NET.&lt;br /&gt;&lt;a href="http://www.imeem.com/"&gt;www.imeem.com&lt;/a&gt; 82th place. Users interact with each other by watching, posting, and sharing content of all media types, including blogs, photos, audio, and video.&lt;br /&gt;&lt;br /&gt;Also &lt;a href="http://www.godaddy.com/"&gt;www.godaddy.com&lt;/a&gt; is one of the biggest domain registrar out there with around 26% global market share, running on ASP.NET . Source &lt;a href="http://www.webhosting.info/registrars/reports/total_domains/GODADDY.COM?ob=gs&amp;oo=asc"&gt;http://www.webhosting.info/registrars/reports/total_domains/GODADDY.COM?ob=gs&amp;oo=asc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm sure i made some errors in the list but I'm also sure there are many other popular, highly visited and secure web sites out there that run on ASP.NET.&lt;br /&gt;&lt;br /&gt;So to finish with this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The security, speed and stability of a web site or application is not determined by the technology or the server used, but the quality and knowledge of people developing it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I said Good Day Sir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-8725109580048416205?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/8725109580048416205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=8725109580048416205' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/8725109580048416205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/8725109580048416205'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2009/02/aspnet-vs-php-top-5-sites-running.html' title='ASP.NET vs PHP. Top 5 sites running ASP.NET or IIS servers'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5869302788086075634.post-2010141699032946237</id><published>2008-04-23T08:41:00.000-07:00</published><updated>2009-03-03T02:15:47.622-08:00</updated><title type='text'>DotNetNuke custom modules in C#, develop and debug</title><content type='html'>So for my first blog entry I decided to share my expertise with developing &lt;a href="http://www.sobot.biz/Services/DotNetNuke_Module_Development.aspx"&gt;DotNetNuke custom modules&lt;/a&gt; in C#.&lt;br /&gt;&lt;br /&gt;When I was deciding on architecture for one big DotNetNuke based project I wanted to create custom modules in C# but I had a problem of creating solution i Visual Studio that could be easily debugged and did not require manual coping of *.ascx files.&lt;br /&gt;&lt;br /&gt;We used "DotNetNuke C# Compiled Module" that can be downloaded at &lt;a href="http://www.bitethebullet.co.uk/DNN4CSharpTemplate/tabid/79/Default.aspx"&gt;THIS address&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Anyway we had a problem of continuous development, debug and manual copying of the files&lt;br /&gt;&lt;br /&gt;So we used Visual Studio projects "Pre build event" property in order to integrate custom module in to DNN solution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HOW IT WORKS?&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Create a solution and add DNN as a web site (lets say the DNN folder is "SolutionDir\DNN")&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Add you custom DNN C# module project&lt;/li&gt;&lt;li&gt;Go to the custom module project properties (right click on project etc.)&lt;/li&gt;&lt;li&gt;Go to "Build Events"&lt;/li&gt;&lt;li&gt;Click "Edit pre-builde..."&lt;/li&gt;&lt;li&gt;Insert this script in to the dialog window&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;rd /S /Q "$(SolutionDir)DNN\DesktopModules\$(ProjectName)"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;md "$(SolutionDir)DNN\DesktopModules\$(ProjectName)"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;md "$(SolutionDir)DNN\DesktopModules\$(ProjectName)\App_LocalResources"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;copy "$(ProjectDir)App_LocalResources\" "$(SolutionDir)DNN\DesktopModules\$(ProjectName)\App_LocalResources"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;copy "$(ProjectDir)*.ascx" "$(SolutionDir)DNN\DesktopModules\$(ProjectName)"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;copy "$(ProjectDir)*.dnn" "$(SolutionDir)DNN\DesktopModules\$(ProjectName)"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;copy "$(ProjectDir)uninstall.*" "$(SolutionDir)DNN\DesktopModules\$(ProjectName)"&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;What dose this do?&lt;/span&gt;&lt;br /&gt;Every time you do a build of the solution you this script will remove the module directory from /DesktopModules/ then create it again with /App_LocalResources/ sub folder, copy all the resx, ascx, dnn and uninstall files to you /DesktopModule/ folder&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Restrictions and pitfalls&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;In this scenario your DotNetNuke folder is /DNN/ if it's different just replace "DNN" in the script  with your own folder name.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Also name of the project must be the same as the module definition name of the folder in DNN if it's different  just replace $(ProjectName) with the name of your folder.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Also you should put the build path for your custom module in DNN/bin folder&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;In this way you can use your module as separate project debug them and create a solution that has logical structure.&lt;br /&gt;&lt;br /&gt;Write comments I will help you with your problems, I'm that good.&lt;br /&gt;&lt;br /&gt;Special tnx to Curia Damiano&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;a href="http://www.sobot.biz/Services/DotNetNuke_Outsourcing.aspx"&gt;DotNetNuke Outsourcing&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5869302788086075634-2010141699032946237?l=sobot-software.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobot-software.blogspot.com/feeds/2010141699032946237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5869302788086075634&amp;postID=2010141699032946237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/2010141699032946237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5869302788086075634/posts/default/2010141699032946237'/><link rel='alternate' type='text/html' href='http://sobot-software.blogspot.com/2008/04/dotnetnuke-custom-modules-in-c-develop.html' title='DotNetNuke custom modules in C#, develop and debug'/><author><name>&lt;a href="http://www.sobot.biz/"&gt;Sobot Software&lt;/a&gt;</name><uri>http://www.blogger.com/profile/06187523468653371558</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
