<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>POP Forums for ASP.NET MVC3</title><link>http://popforums.codeplex.com/project/feeds/rss</link><description>POP Forums v9 is a forum app for ASP.NET MVC used as the core for several sites maintained by the author. It is not a science project, but a long-term commitment to great community. Localization to several languages in progress.</description><item><title>Closed Issue: small bug in TopicRepository [78]</title><link>http://popforums.codeplex.com/workitem/78</link><description>Looking at the following function in the TopicRepository&lt;br /&gt;&lt;br /&gt;public int GetTopicCount&amp;#40;bool includeDeleted, List&amp;#60;int&amp;#62; excludedForums&amp;#41;&lt;br /&gt;&lt;br /&gt;it starts the sql with &amp;#34;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic&amp;#34;&lt;br /&gt;&lt;br /&gt;followed by&amp;#58; &lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;followed by a call to GenerateExcludedForumSql which will add&lt;br /&gt;&lt;br /&gt;&amp;#34;AND ForumID NOT IN...&amp;#34;&lt;br /&gt;&lt;br /&gt;so if &amp;#39;includeDeleted &amp;#61;&amp;#61; true&amp;#39;  the SQL generated is&lt;br /&gt;&lt;br /&gt;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic AND ForumID NOT IN...&lt;br /&gt;&lt;br /&gt;which is badly formed SQL. &lt;br /&gt;&lt;br /&gt;I found this error by looking at recent posts as an admin user.  My code base however is modified so keep that in mind when trying to reproduce.  Error exists in 9.0 up to recent.&lt;br /&gt;&lt;br /&gt;I imagine the fix is&lt;br /&gt;&lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;else&lt;br /&gt;                sql &amp;#43;&amp;#61;&amp;#34; WHERE IsDeleted &amp;#61;1 or IsDeleted &amp;#61;0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;or just a simple &amp;#34; WHERE 1&amp;#61;1&amp;#34;  since the goal is to add a WHERE and the IsDeleted value is not important.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Comments: Fixed in v9.3.0.</description><author>jeffyjones</author><pubDate>Wed, 08 Feb 2012 02:21:24 GMT</pubDate><guid isPermaLink="false">Closed Issue: small bug in TopicRepository [78] 20120208022124A</guid></item><item><title>Closed Issue: Format numbers around the place [79]</title><link>http://popforums.codeplex.com/workitem/79</link><description>Make sure to format numbers in various places, so they have commas &amp;#40;or periods&amp;#41; as appropriate.&lt;br /&gt;</description><author>jeffyjones</author><pubDate>Wed, 08 Feb 2012 02:20:39 GMT</pubDate><guid isPermaLink="false">Closed Issue: Format numbers around the place [79] 20120208022039A</guid></item><item><title>Created Issue: Format numbers around the place [79]</title><link>http://popforums.codeplex.com/workitem/79</link><description>Make sure to format numbers in various places, so they have commas &amp;#40;or periods&amp;#41; as appropriate.&lt;br /&gt;</description><author>jeffyjones</author><pubDate>Wed, 08 Feb 2012 02:20:32 GMT</pubDate><guid isPermaLink="false">Created Issue: Format numbers around the place [79] 20120208022032A</guid></item><item><title>Updated Wiki: The Scoring Game</title><link>http://popforums.codeplex.com/wikipage?title=The Scoring Game&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;The Scoring Game&lt;/h1&gt;
&lt;p&gt;Let me tell you a story of HR-discouraged workplace fun. Back in the day, prior to the crash-and-burn of Insurance.com, we had this thing in the development part of the company called the Scoring Game.
&lt;a href="http://jeffputz.com/blog/the-scoring-game" target="_blank"&gt;I wrote about it&lt;/a&gt; a couple of years ago on my personal blog. The long and short of it is that we kept a running total of &amp;#43;/-1’s for virtually anything you can think of, for each participant.
 This was back in 2006, before it became trendy to do it for everything else on the Internets.&lt;/p&gt;
&lt;p&gt;Later, Digg started doing all kinds of voting, and it was really the first active example that I can think of that I used in terms of measuring value of content (yes, slashdot did it, but I never went there). Various forums started doing it. StackOverflow
 based much of its value on a scoring system, along with achievements. When I worked at Microsoft, I worked on the reputation system that feeds the various MSDN properties. It seems inevitable that I’d have to add something like this to POP Forums.&lt;/p&gt;
&lt;p&gt;Originally, I was thinking just in terms of voting up posts, but then I realized that there were actually two things to build. The voting mechanism was one part, but the actual scoring was a second part that should be decoupled from the voting. So the workflow
 goes like this:&lt;/p&gt;
&lt;p&gt;Process Event –&amp;gt; Publish to user profile (optional) –&amp;gt; Get associated awards –&amp;gt; Qualify awards –&amp;gt; Give award&lt;/p&gt;
&lt;p&gt;To use the system, you only need only a few lines of code. Use the dependency injection container (Ninject) to get the implementation of PopForums.ScoringGame.IEventPublisher.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: Yeah, the forums are currently wired to use ASP.NET MVC’s IDependencyResolver to new-up stuff. I realize that this is suboptimal, and a future version will fix this so you don’t have to commit to the same DI container the forum uses.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;var publisher = PopForums.Web.PopForumsActivation.Kernel.Get&amp;lt;PopForums.ScoringGame.IEventPublisher&amp;gt;(); publisher.ProcessEvent(&amp;quot;message for feed&amp;quot;, user, &amp;quot;TestEventID&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Pretty simple, eh? The first string is the text that will be published to the user’s feed (if the event is set to publish), the second is the PopForums.Models.User object to associate with the event, and the third is the actual event ID. Event definitions
 are really simple.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336131"&gt;&lt;img title="Screen-Shot-2012-01-27-at-11.51.58-A[2]" border="0" alt="Screen-Shot-2012-01-27-at-11.51.58-A[2]" src="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336132" width="610" height="244" style="border-right-width:0px; margin:0px; padding-left:0px; padding-right:0px; display:inline; border-top-width:0px; border-bottom-width:0px; border-left-width:0px; padding-top:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are three events that are static, permanently built into the system. These are wired into the post voting, and the creation of new topics and posts. So for example, when someone votes up a post, a string of HTML is passed in to the ProcessEvent() method,
 with the user object associated with the post, and the event ID PostVote. The resulting mention in the user’s profile looks like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336133"&gt;&lt;img title="Screen-Shot-2012-01-27-at-12.01.19-P[1]" border="0" alt="Screen-Shot-2012-01-27-at-12.01.19-P[1]" src="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336134" width="657" height="727" style="border-right-width:0px; margin:0px; padding-left:0px; padding-right:0px; display:inline; border-top-width:0px; border-bottom-width:0px; border-left-width:0px; padding-top:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Events don’t have to be published to the user’s profile, and they don’t even need to assign points. New posts and topic events fall into this category. So what’s the point then? Awards! POP Forums leaves that up to you. Award definitions are super simple
 as well. Say we wanted to give an award for anyone who made 50 posts. The definition would look like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336135"&gt;&lt;img title="Screen-Shot-2012-01-27-at-12.06.41-P" border="0" alt="Screen-Shot-2012-01-27-at-12.06.41-P" src="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336136" width="611" height="421" style="border-right-width:0px; padding-left:0px; padding-right:0px; display:inline; border-top-width:0px; border-bottom-width:0px; border-left-width:0px; padding-top:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We can assign any combination of events to the award. In this case, we look for 50 NewPost events, but we could just as easily require 25 PostVote events as well, for a combined set of conditions.&lt;/p&gt;
&lt;p&gt;That’s really all there is to it. You can set up stuff anywhere in your app to record events, and publish them to the user profile. Give points, give awards. Knock yourself out!&lt;/p&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Tue, 31 Jan 2012 20:05:10 GMT</pubDate><guid isPermaLink="false">Updated Wiki: The Scoring Game 20120131080510P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://popforums.codeplex.com/documentation?version=10</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;Documentation&lt;/h1&gt;
&lt;p&gt;POP Forums v9 attempts to not get in the way of your application, by designating its views inside of an MVC area. It does, however, rely on MVC&amp;rsquo;s dependency injection resolver, and sets Ninject as the default resolver. Beyond that, you can choose whether
 or not you want the forum&amp;rsquo;s authorization to work everywhere, or just in controllers and actions for the forum. You can find more details in the integration section below.&lt;/p&gt;
&lt;p&gt;How to use &lt;a href="http://popforums.codeplex.com/wikipage?title=The%20Scoring%20Game"&gt;
The Scoring Game&lt;/a&gt; in your own MVC application.&lt;/p&gt;
&lt;h2&gt;Upgrading?&lt;/h2&gt;
&lt;p&gt;If you're upgrading from v9.0 or v9.1 to v9.2, simply replace the existing files. You'll also have to run the&amp;nbsp;&lt;span&gt;PopForums4.xto4.2.sql&lt;/span&gt; SQL script against your existing database. That script can be found in the database project.&lt;/p&gt;
&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;POP Forums tries to make installation as low-friction as possible. Here&amp;rsquo;s how to do it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download the latest source code from CodePlex. Build it, if necessary. &lt;/li&gt;&lt;li&gt;The PopForums.Web project has various folders that you&amp;rsquo;d expect in an MVC project:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226033"&gt;&lt;img title="projectexplorer" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226034" border="0" alt="projectexplorer" width="200" height="244" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
Also keep in mind that the /bin folder will contain several assemblies, including PopForums.dll, PopForums.Data.SqlSingleWebServer.dll, Ninject.dll and whatever the name of the Web project is. In our case, it&amp;rsquo;s PopForums.Web.dll.
&lt;/li&gt;&lt;li&gt;Web.config will require a section declaration for popForums, as well as a connection string. The default looks like this:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226035"&gt;&lt;img title="webconfig" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226036" border="0" alt="webconfig" width="652" height="174" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
The main purpose of the popForums section is to choose a connection string. &lt;/li&gt;&lt;li&gt;Also in web.config, set a new base page type for Razor views: &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="color:black; background-color:white"&gt;
&lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;system.web.webPages.razor&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;host&lt;/span&gt; &lt;span style="color:red"&gt;factoryType&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:blue"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;pages&lt;/span&gt; &lt;span style="color:red"&gt;pageBaseType&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;PopForums.Web.PopForumsRazorViewPage&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;namespaces&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt; ...&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Attempt to run the app either locally, or in IIS, and go to the URL /Forums to see an error page. It will fail either because the database isn&amp;rsquo;t set up, or because it can&amp;rsquo;t connect to it.
&lt;/li&gt;&lt;li&gt;Point the browser to /Forums/Setup now, and if your connection string is correct, you should see this page:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226037"&gt;&lt;img title="setupscreen" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226038" border="0" alt="setupscreen" width="488" height="379" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
Here&amp;rsquo;s what each field does: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Forum title:&lt;/strong&gt; This is what your forum will be called at the root, in an h1 tag. You can edit this (and everything else) later.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP Server:&lt;/strong&gt; The host name of the server you&amp;rsquo;ll connect to for sending e-mail. Enabling this functionality on your server is beyond the scope of this document.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Port:&lt;/strong&gt; Typically 25, though some services (like Gmail) use others.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;From e-mail address:&lt;/strong&gt; When a user receives e-mail from the forum, it will be &amp;ldquo;from&amp;rdquo; this address.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Use SSL:&lt;/strong&gt; Check if your server uses or requires SSL. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Use ESMTP for credentials:&lt;/strong&gt; Check this box if you have to authenticate with your server. Checking this makes the two boxes below it editable.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP User:&lt;/strong&gt; User name (often the e-mail address) to authenticate with. Not editable unless the &amp;ldquo;Use ESMTP&amp;rdquo; box is checked.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP Password:&lt;/strong&gt; Password to authenticate with. Not editable unless the &amp;ldquo;Use ESMTP&amp;rdquo; box is checked.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Time zone&lt;/strong&gt; and &lt;strong&gt;Use daylight saving&lt;/strong&gt;: Determines how your forum should handle time. This will also be the time adjustment your admin account will use. Both can be changed later.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Display name:&lt;/strong&gt; How you want your name to appear in the forum.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;E-mail:&lt;/strong&gt; The e-mail address you&amp;rsquo;ll use to login with. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Password:&lt;/strong&gt; The password you&amp;rsquo;ll use to login with. &lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;If you typed everything you need correctly, you should see a happy result, otherwise you&amp;rsquo;ll see a stack trace and exception. Here&amp;rsquo;s the happy face:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226039"&gt;&lt;img title="setupsuccess" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226040" border="0" alt="setupsuccess" width="409" height="100" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;From here, you can follow the link to the admin home page and add categories and forums. You&amp;rsquo;ll be logged in as the user you created, and that account will be part of the Admin and Moderator roles. Once you&amp;rsquo;ve added some forums, you can go to
 /Forums to start posting. &lt;/li&gt;&lt;li&gt;If you want to test your e-mail setup, go to /Forums/Account/Forgot and enter your e-mail address. Failures are also logged in the error log, which is found in the admin area.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226041"&gt;&lt;img title="adminhome" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226042" border="0" alt="adminhome" width="623" height="695" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Integration&lt;/h2&gt;
&lt;p&gt;Aside from the entry in web.config, POP Forums requires only a few lines of code to get it working in your app. These can be found in global.asax.cs:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226043"&gt;&lt;img title="globalasax" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226044" border="0" alt="globalasax" width="813" height="274" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The comments in this file generally explain what&amp;rsquo;s going on. The first designates the Ninject module to set up all of the data repositories. Next, you can choose to call one of two static methods on PopForums.Web.PopForumsActiviation, which will apply
 a global filter to MVC actions in order to set up the IPrincipal object in the request as a PopForums.Models.User. Use the second variety if you want it to apply to all of your app. Then the dependency resolver is set to use a simple implementation of the
 interface for use with Ninject. Finally, we call the RegisterRoutes() method that comes in the stock MVC global.asax.&lt;/p&gt;
&lt;p&gt;So what&amp;rsquo;s going on under the covers? Take a look at PopForums.Web.PopForumsActiviation, and you&amp;rsquo;ll see that it uses the PreApplicationStartMethod attribute to call an initialization method when the app starts. This sets up the Ninject kernel
 (you might know it as a container in other DI frameworks) and fires up an HttpModule to host three recurring services (session management, mailer and search indexing).&lt;/p&gt;
&lt;p&gt;The SetUserAttribute() method (and its global variation) install plumbing that in some way mimics the way we&amp;rsquo;d use an HttpModule back in the day, to set the user on the HttpContext for every request using a forum action method (or all app action methods,
 in the global variation). Check PopForums.Web.PopForumsUserAttribute for a deeper dive, but basically it checks for a forms authentication cookie, and if found, tries to put the user object on the HttpContext for use around the app, complete with roles. It&amp;rsquo;s
 also the point at which session information is maintained, updating user records with a new time stamp and making the user appear &amp;ldquo;online&amp;rdquo; on the forum home page.&lt;/p&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Tue, 31 Jan 2012 20:04:47 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20120131080447P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://popforums.codeplex.com/documentation?version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;Documentation&lt;/h1&gt;
&lt;p&gt;POP Forums v9 attempts to not get in the way of your application, by designating its views inside of an MVC area. It does, however, rely on MVC&amp;rsquo;s dependency injection resolver, and sets Ninject as the default resolver. Beyond that, you can choose whether
 or not you want the forum&amp;rsquo;s authorization to work everywhere, or just in controllers and actions for the forum. You can find more details in the integration section below.&lt;/p&gt;
&lt;p&gt;How to use [The Scoring Game].&lt;/p&gt;
&lt;h2&gt;Upgrading?&lt;/h2&gt;
&lt;p&gt;If you're upgrading from v9.0 or v9.1 to v9.2, simply replace the existing files. You'll also have to run the&amp;nbsp;&lt;span&gt;PopForums4.xto4.2.sql&lt;/span&gt; SQL script against your existing database. That script can be found in the database project.&lt;/p&gt;
&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;POP Forums tries to make installation as low-friction as possible. Here&amp;rsquo;s how to do it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download the latest source code from CodePlex. Build it, if necessary. &lt;/li&gt;&lt;li&gt;The PopForums.Web project has various folders that you&amp;rsquo;d expect in an MVC project:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226033"&gt;&lt;img title="projectexplorer" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226034" border="0" alt="projectexplorer" width="200" height="244" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
Also keep in mind that the /bin folder will contain several assemblies, including PopForums.dll, PopForums.Data.SqlSingleWebServer.dll, Ninject.dll and whatever the name of the Web project is. In our case, it&amp;rsquo;s PopForums.Web.dll.
&lt;/li&gt;&lt;li&gt;Web.config will require a section declaration for popForums, as well as a connection string. The default looks like this:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226035"&gt;&lt;img title="webconfig" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226036" border="0" alt="webconfig" width="652" height="174" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
The main purpose of the popForums section is to choose a connection string. &lt;/li&gt;&lt;li&gt;Also in web.config, set a new base page type for Razor views: &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="color:black; background-color:white"&gt;
&lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;system.web.webPages.razor&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;host&lt;/span&gt; &lt;span style="color:red"&gt;factoryType&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:blue"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;pages&lt;/span&gt; &lt;span style="color:red"&gt;pageBaseType&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;PopForums.Web.PopForumsRazorViewPage&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;namespaces&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt; ...&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Attempt to run the app either locally, or in IIS, and go to the URL /Forums to see an error page. It will fail either because the database isn&amp;rsquo;t set up, or because it can&amp;rsquo;t connect to it.
&lt;/li&gt;&lt;li&gt;Point the browser to /Forums/Setup now, and if your connection string is correct, you should see this page:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226037"&gt;&lt;img title="setupscreen" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226038" border="0" alt="setupscreen" width="488" height="379" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
Here&amp;rsquo;s what each field does: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Forum title:&lt;/strong&gt; This is what your forum will be called at the root, in an h1 tag. You can edit this (and everything else) later.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP Server:&lt;/strong&gt; The host name of the server you&amp;rsquo;ll connect to for sending e-mail. Enabling this functionality on your server is beyond the scope of this document.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Port:&lt;/strong&gt; Typically 25, though some services (like Gmail) use others.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;From e-mail address:&lt;/strong&gt; When a user receives e-mail from the forum, it will be &amp;ldquo;from&amp;rdquo; this address.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Use SSL:&lt;/strong&gt; Check if your server uses or requires SSL. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Use ESMTP for credentials:&lt;/strong&gt; Check this box if you have to authenticate with your server. Checking this makes the two boxes below it editable.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP User:&lt;/strong&gt; User name (often the e-mail address) to authenticate with. Not editable unless the &amp;ldquo;Use ESMTP&amp;rdquo; box is checked.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP Password:&lt;/strong&gt; Password to authenticate with. Not editable unless the &amp;ldquo;Use ESMTP&amp;rdquo; box is checked.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Time zone&lt;/strong&gt; and &lt;strong&gt;Use daylight saving&lt;/strong&gt;: Determines how your forum should handle time. This will also be the time adjustment your admin account will use. Both can be changed later.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Display name:&lt;/strong&gt; How you want your name to appear in the forum.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;E-mail:&lt;/strong&gt; The e-mail address you&amp;rsquo;ll use to login with. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Password:&lt;/strong&gt; The password you&amp;rsquo;ll use to login with. &lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;If you typed everything you need correctly, you should see a happy result, otherwise you&amp;rsquo;ll see a stack trace and exception. Here&amp;rsquo;s the happy face:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226039"&gt;&lt;img title="setupsuccess" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226040" border="0" alt="setupsuccess" width="409" height="100" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;From here, you can follow the link to the admin home page and add categories and forums. You&amp;rsquo;ll be logged in as the user you created, and that account will be part of the Admin and Moderator roles. Once you&amp;rsquo;ve added some forums, you can go to
 /Forums to start posting. &lt;/li&gt;&lt;li&gt;If you want to test your e-mail setup, go to /Forums/Account/Forgot and enter your e-mail address. Failures are also logged in the error log, which is found in the admin area.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226041"&gt;&lt;img title="adminhome" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226042" border="0" alt="adminhome" width="623" height="695" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Integration&lt;/h2&gt;
&lt;p&gt;Aside from the entry in web.config, POP Forums requires only a few lines of code to get it working in your app. These can be found in global.asax.cs:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226043"&gt;&lt;img title="globalasax" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226044" border="0" alt="globalasax" width="813" height="274" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The comments in this file generally explain what&amp;rsquo;s going on. The first designates the Ninject module to set up all of the data repositories. Next, you can choose to call one of two static methods on PopForums.Web.PopForumsActiviation, which will apply
 a global filter to MVC actions in order to set up the IPrincipal object in the request as a PopForums.Models.User. Use the second variety if you want it to apply to all of your app. Then the dependency resolver is set to use a simple implementation of the
 interface for use with Ninject. Finally, we call the RegisterRoutes() method that comes in the stock MVC global.asax.&lt;/p&gt;
&lt;p&gt;So what&amp;rsquo;s going on under the covers? Take a look at PopForums.Web.PopForumsActiviation, and you&amp;rsquo;ll see that it uses the PreApplicationStartMethod attribute to call an initialization method when the app starts. This sets up the Ninject kernel
 (you might know it as a container in other DI frameworks) and fires up an HttpModule to host three recurring services (session management, mailer and search indexing).&lt;/p&gt;
&lt;p&gt;The SetUserAttribute() method (and its global variation) install plumbing that in some way mimics the way we&amp;rsquo;d use an HttpModule back in the day, to set the user on the HttpContext for every request using a forum action method (or all app action methods,
 in the global variation). Check PopForums.Web.PopForumsUserAttribute for a deeper dive, but basically it checks for a forms authentication cookie, and if found, tries to put the user object on the HttpContext for use around the app, complete with roles. It&amp;rsquo;s
 also the point at which session information is maintained, updating user records with a new time stamp and making the user appear &amp;ldquo;online&amp;rdquo; on the forum home page.&lt;/p&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Tue, 31 Jan 2012 20:03:38 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20120131080338P</guid></item><item><title>Updated Wiki: The Scoring Game</title><link>http://popforums.codeplex.com/wikipage?title=The Scoring Game&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;Let me tell you a story of HR-discouraged workplace fun. Back in the day, prior to the crash-and-burn of Insurance.com, we had this thing in the development part of the company called the Scoring Game.
&lt;a href="http://jeffputz.com/blog/the-scoring-game" target="_blank"&gt;I wrote about it&lt;/a&gt; a couple of years ago on my personal blog. The long and short of it is that we kept a running total of &amp;#43;/-1’s for virtually anything you can think of, for each participant.
 This was back in 2006, before it became trendy to do it for everything else on the Internets.&lt;/p&gt;
&lt;p&gt;Later, Digg started doing all kinds of voting, and it was really the first active example that I can think of that I used in terms of measuring value of content (yes, slashdot did it, but I never went there). Various forums started doing it. StackOverflow
 based much of its value on a scoring system, along with achievements. When I worked at Microsoft, I worked on the reputation system that feeds the various MSDN properties. It seems inevitable that I’d have to add something like this to POP Forums.&lt;/p&gt;
&lt;p&gt;Originally, I was thinking just in terms of voting up posts, but then I realized that there were actually two things to build. The voting mechanism was one part, but the actual scoring was a second part that should be decoupled from the voting. So the workflow
 goes like this:&lt;/p&gt;
&lt;p&gt;Process Event –&amp;gt; Publish to user profile (optional) –&amp;gt; Get associated awards –&amp;gt; Qualify awards –&amp;gt; Give award&lt;/p&gt;
&lt;p&gt;To use the system, you only need only a few lines of code. Use the dependency injection container (Ninject) to get the implementation of PopForums.ScoringGame.IEventPublisher.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Note: Yeah, the forums are currently wired to use ASP.NET MVC’s IDependencyResolver to new-up stuff. I realize that this is suboptimal, and a future version will fix this so you don’t have to commit to the same DI container the forum uses.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;var publisher = PopForums.Web.PopForumsActivation.Kernel.Get&amp;lt;PopForums.ScoringGame.IEventPublisher&amp;gt;(); publisher.ProcessEvent(&amp;quot;message for feed&amp;quot;, user, &amp;quot;TestEventID&amp;quot;);&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Pretty simple, eh? The first string is the text that will be published to the user’s feed (if the event is set to publish), the second is the PopForums.Models.User object to associate with the event, and the third is the actual event ID. Event definitions
 are really simple.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336131"&gt;&lt;img title="Screen-Shot-2012-01-27-at-11.51.58-A[2]" border="0" alt="Screen-Shot-2012-01-27-at-11.51.58-A[2]" src="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336132" width="610" height="244" style="border-right-width:0px; margin:0px; padding-left:0px; padding-right:0px; display:inline; border-top-width:0px; border-bottom-width:0px; border-left-width:0px; padding-top:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are three events that are static, permanently built into the system. These are wired into the post voting, and the creation of new topics and posts. So for example, when someone votes up a post, a string of HTML is passed in to the ProcessEvent() method,
 with the user object associated with the post, and the event ID PostVote. The resulting mention in the user’s profile looks like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336133"&gt;&lt;img title="Screen-Shot-2012-01-27-at-12.01.19-P[1]" border="0" alt="Screen-Shot-2012-01-27-at-12.01.19-P[1]" src="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336134" width="657" height="727" style="border-right-width:0px; margin:0px; padding-left:0px; padding-right:0px; display:inline; border-top-width:0px; border-bottom-width:0px; border-left-width:0px; padding-top:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Events don’t have to be published to the user’s profile, and they don’t even need to assign points. New posts and topic events fall into this category. So what’s the point then? Awards! POP Forums leaves that up to you. Award definitions are super simple
 as well. Say we wanted to give an award for anyone who made 50 posts. The definition would look like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336135"&gt;&lt;img title="Screen-Shot-2012-01-27-at-12.06.41-P" border="0" alt="Screen-Shot-2012-01-27-at-12.06.41-P" src="http://download.codeplex.com/Download?ProjectName=popforums&amp;DownloadId=336136" width="611" height="421" style="border-right-width:0px; padding-left:0px; padding-right:0px; display:inline; border-top-width:0px; border-bottom-width:0px; border-left-width:0px; padding-top:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We can assign any combination of events to the award. In this case, we look for 50 NewPost events, but we could just as easily require 25 PostVote events as well, for a combined set of conditions.&lt;/p&gt;
&lt;p&gt;That’s really all there is to it. You can set up stuff anywhere in your app to record events, and publish them to the user profile. Give points, give awards. Knock yourself out!&lt;/p&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Tue, 31 Jan 2012 20:02:59 GMT</pubDate><guid isPermaLink="false">Updated Wiki: The Scoring Game 20120131080259P</guid></item><item><title>Updated Wiki: The Scoring Game</title><link>http://popforums.codeplex.com/wikipage?title=The Scoring Game&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;p&gt;placholder&lt;/p&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Tue, 31 Jan 2012 19:59:17 GMT</pubDate><guid isPermaLink="false">Updated Wiki: The Scoring Game 20120131075917P</guid></item><item><title>Updated Wiki: POP Forums Version History</title><link>http://popforums.codeplex.com/wikipage?title=POP Forums Version History&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;POP Forums Version History&lt;/h1&gt;
&lt;p&gt;Here's a partial version history that shows how POP Forums has evolved over the years. It's fun to look back at some of the things we now take for granted in a forum app.&lt;/p&gt;
&lt;p&gt;Version 9.2.1 (1/26/12)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added Spanish (es) translation. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Version 9.2.0 (1/23/12)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Localization: The app can be easily translated using .resx files. Initially includes English (en), German (de) and Dutch (nl).
&lt;/li&gt;&lt;li&gt;Vote up posts: Give credit to people who make good posts, see who voted up each one.
&lt;/li&gt;&lt;li&gt;The scoring game: Extensible system that allows you to give users points, and issue awards based on repeated events. For example, you can set up awards based on the number of new posts or topics a user makes (both of which are recorded).
&lt;/li&gt;&lt;li&gt;Fix: Weird line breaks in lists when posting from Firefox. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Version 9.1.1 (12/18/11)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Corrects a bug that prevented a topic from being marked viewed when a user looked at it, resulting in &amp;quot;new post&amp;quot; indicators that didn't go away until the user marked the entire forum as read.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Version 9.1.0 (12/15/11)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New &amp;quot;adapter&amp;quot; interface for forums. Using the IForumAdapter interface, a developer can plug-in code that alters the model and/or resulting view on topic lists and the actual threads. For example, you might add to or alter the model, then present
 a different view to display the data. See the comments on the IForumAdapter interface for more information.
&lt;/li&gt;&lt;li&gt;Also new, users starting a reply will see a button indicating that they can load any new posts that have occurred since they started writing their apply, so they don't miss any of the conversation.
&lt;/li&gt;&lt;li&gt;Fix: Moderating topic title doesn't update the UrlName. &lt;/li&gt;&lt;li&gt;SEO enhancement: Page links in topics and forums include rel=&amp;quot;next&amp;quot; and rel=&amp;quot;prev&amp;quot; to tell search engines there's more to look at.
&lt;/li&gt;&lt;li&gt;Fix: User post list had broken markup, preventing topic preview. &lt;/li&gt;&lt;li&gt;Fix: Added missing permission checking on action methods to preview or load individual posts.
&lt;/li&gt;&lt;li&gt;User name in top nav now acts as a link to the user's profile. &lt;/li&gt;&lt;li&gt;Fix: Cache key for caching view post roles was incorrect. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Version 9.0.0 (4/24/11)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rewritten from scratch for ASP.NET MVC3, with reasonable test coverage &lt;/li&gt;&lt;li&gt;Posts can be loaded inline &lt;/li&gt;&lt;li&gt;Avatars and user images resized on server &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 8.5.0 (not publicly released)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added plug-in infrastructure to allow changes to UI. Made for photo forum on &lt;a href="http://coasterbuzz.com/Forums/Topics/101.aspx"&gt;
CoasterBuzz&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 8.0.0 (11/10/08)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added AJAX features, takes advantage of ASP.NET v3.5. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 7.5.1 (2/9/05)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Significantly altered the TextParser class &lt;/li&gt;&lt;li&gt;Changed text in RegisterLogin.ascx to indicate e-mail is used to send activation code
&lt;/li&gt;&lt;li&gt;Topic titles now parsed for naughty words and HTML &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 7.5.0 (10/25/04)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New text parsing engine &lt;/li&gt;&lt;li&gt;New online user engine &lt;/li&gt;&lt;li&gt;RichText control displays in Windows 2000 &lt;/li&gt;&lt;li&gt;Fixed member post paging &lt;/li&gt;&lt;li&gt;Online user stats now draw from PopForums.OnlineUsers &lt;/li&gt;&lt;li&gt;Added RequiredFieldValidator to SendPrivateMessage.ascx to check for a subject
&lt;/li&gt;&lt;li&gt;PM reply doesn't add endless string of &amp;quot;re:&amp;quot; &lt;/li&gt;&lt;li&gt;Fixed PagerLinks.cs to correctly display tool tips &lt;/li&gt;&lt;li&gt;Added PagedPagerLinks.cs to display paged results from new PopForums.Forum.GetTopics() overload
&lt;/li&gt;&lt;li&gt;Made the member mailer text box in the admin bigger &lt;/li&gt;&lt;li&gt;Can't reply to closed topics, even if reply box was visible before submitting
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 7.0.3 (1/24/04)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed URL and image detection in TextParser. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 7.0.2 (11/11/03)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Updated the RichText class to make it compatible with a recent update to Internet Explorer.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 7.0.1 (11/4/03)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Removed license scheme to make POP Forums free. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 7.0.0 (10/22/03)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Total rewrite with seperation of data, logic and user interface. &lt;/li&gt;&lt;li&gt;Several user interfaces available at launch. &lt;/li&gt;&lt;li&gt;Data caching can reduce database activity by 60% or more. &lt;/li&gt;&lt;li&gt;A RichText server control that renders in Internet Explorer. &lt;/li&gt;&lt;li&gt;Role-based security you can use anywhere on your site, based on ASP.NET's forms authentication.
&lt;/li&gt;&lt;li&gt;Discreet data class, so you can write your own to access any database. (SQL Server used by default.)
&lt;/li&gt;&lt;li&gt;A TimeAdjust class to convert times to local time zones, and even adjust for daylight savings.
&lt;/li&gt;&lt;li&gt;Text parsing engine takes care of HTML generated by RichText as well as traditional &amp;quot;forum code.&amp;quot;
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 6.0.0 (7/1/02)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Original ASP application ported to ASP.NET. &lt;/li&gt;&lt;li&gt;Significant improvements to HTML parsing engine. &lt;/li&gt;&lt;li&gt;Forum exists as a user control, just drop it in your .aspx page! &lt;/li&gt;&lt;li&gt;E-mail notification for anyone who replies to a topic. &lt;/li&gt;&lt;li&gt;All-CSS interface shipped along side &amp;quot;admin-able&amp;quot; formatting. &lt;/li&gt;&lt;li&gt;Asynchronous mailing to opt-in members (no need to tie up your browser with mailing process).
&lt;/li&gt;&lt;li&gt;Last post indicated by member name. &lt;/li&gt;&lt;li&gt;Scroll to new post bounces you to page with newest post. &lt;/li&gt;&lt;li&gt;Role-based security. Only those in certain roles can access or post in the forums you designate.
&lt;/li&gt;&lt;li&gt;Robust forum property and ordering in admin area. &lt;/li&gt;&lt;li&gt;Error logging to database. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 5.1 (3/4/02)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New HTML/forum code parsing engine. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 5.0 (8/19/01)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for SQL Server Full-Text Indexing built-in for much faster searching.
&lt;/li&gt;&lt;li&gt;WYSIWYG post editor for Internet Explorer users, normal for other browsers. &lt;/li&gt;&lt;li&gt;Favorite topic list. &lt;/li&gt;&lt;li&gt;Terms of Service agreement with first post, reset all members' agreement. &lt;/li&gt;&lt;li&gt;Member post quotas, to limit &amp;quot;noisy&amp;quot; members. &lt;/li&gt;&lt;li&gt;Support for Persits and Dimac mail components. &lt;/li&gt;&lt;li&gt;Post preview. &lt;/li&gt;&lt;li&gt;&amp;quot;Jump to&amp;quot; added to topic and thread pages to jump to another forum.
&lt;/li&gt;&lt;li&gt;Public stats shown optionally (number of sessions, topics, members, etc.) &lt;/li&gt;&lt;li&gt;Client-side form validation of new topics or replies to challenge empty fields.
&lt;/li&gt;&lt;li&gt;Admin edit member accounts. &lt;/li&gt;&lt;li&gt;Recent topics shows links to multi-paged topics. &lt;/li&gt;&lt;li&gt;Error page for URL's of deleted topics and forums. &lt;/li&gt;&lt;li&gt;Fixed edit page hang for long posts. &lt;/li&gt;&lt;li&gt;Search only returns private forum results to those who have access. &lt;/li&gt;&lt;li&gt;Removed &amp;quot;requires AspMail&amp;quot; from admin page. &lt;/li&gt;&lt;li&gt;Moderator IP view spans all pages in thread. &lt;/li&gt;&lt;li&gt;Manage e-mail notification page reformatted. &lt;/li&gt;&lt;li&gt;Double carriage returns now parsed as &amp;lt;p&amp;gt; tags. &lt;/li&gt;&lt;li&gt;Fixed CDONTS mailer for compatibility with settings of other components. &lt;/li&gt;&lt;li&gt;Fixed &amp;lt;br&amp;gt; unparsing with forum code off. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 4.0 (1/8/01)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added support for CDO, CDONTS and AspQMail components. &lt;/li&gt;&lt;li&gt;Post new topic and reply links added to topic and thread pages. &lt;/li&gt;&lt;li&gt;COPPA check defeat. &lt;/li&gt;&lt;li&gt;Support for Spellchecker.net. &lt;/li&gt;&lt;li&gt;Scroll to newest post link. &lt;/li&gt;&lt;li&gt;Addition of &lt;a href="/popforums/wikipage?title=pre&amp;referringTitle=POP%20Forums%20Version%20History"&gt;
pre&lt;/a&gt; and &lt;a href="/popforums/wikipage?title=quote&amp;referringTitle=POP%20Forums%20Version%20History"&gt;
quote&lt;/a&gt; forum tags. &lt;/li&gt;&lt;li&gt;Paged threads. Posts per page are admin-defined. Links to each page appear in topic list.
&lt;/li&gt;&lt;li&gt;Auto-login after first post. &lt;/li&gt;&lt;li&gt;AIM and ICQ hyperlinks in member info. &lt;/li&gt;&lt;li&gt;Non-logged-in forums indicates &amp;quot;register to track new posts.&amp;quot; &lt;/li&gt;&lt;li&gt;COPPA (Children's Online Privacy Protection Act) compliance. &lt;/li&gt;&lt;li&gt;Moderators can view IP addresses of posters. &lt;/li&gt;&lt;li&gt;E-mail notification of new posts when member starts thread. &lt;/li&gt;&lt;li&gt;Member area to remove e-mail notification of new posts. &lt;/li&gt;&lt;li&gt;Opt-out or delete account option built into special URL sent with mass mailings to members.
&lt;/li&gt;&lt;li&gt;Mail to friend now uses system e-mail contact as from address, member as replyto address (to handle SMTP authentication issues).
&lt;/li&gt;&lt;li&gt;Moving lone topic from forum no longer results in an error. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 3.2 (11/12/00)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Included explanation of smilies in help file. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 3.1 (9/20/00)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One-click close/open/delete threads for moderators. &lt;/li&gt;&lt;li&gt;Parse ftp:// URL's. &lt;/li&gt;&lt;li&gt;Post-and-close thread check box for moderators, &lt;/li&gt;&lt;li&gt;Next/previous thread. &lt;/li&gt;&lt;li&gt;Mail thread to a friend. &lt;/li&gt;&lt;li&gt;Recent topics. &lt;/li&gt;&lt;li&gt;Fixed left column text color in search results. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 3.0 (8/22/00)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Major rewrite of most code. &lt;/li&gt;&lt;li&gt;Dozens of files consolidated. &lt;/li&gt;&lt;li&gt;Made to be portable between systems. &lt;/li&gt;&lt;li&gt;Extensive administration area. &lt;/li&gt;&lt;li&gt;Custom formatting added to instantly change fonts, colors, etc. &lt;/li&gt;&lt;li&gt;Search engine added. &lt;/li&gt;&lt;li&gt;Private and archived forums added. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 2.0 (1/31/00)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Written for &lt;a href="http://coasterbuzz.com/"&gt;CoasterBuzz&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Cleaner format. &lt;/li&gt;&lt;li&gt;Forum off/on. &lt;/li&gt;&lt;li&gt;&amp;quot;Mark posts read&amp;quot; time stored in profile instead of browser. &lt;/li&gt;&lt;li&gt;Signature block added. &lt;/li&gt;&lt;li&gt;Profile photo upload added. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Version 1.0 (11/23/99)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Written for &lt;a href="http://pointbuzz.com/"&gt;Guide to The Point&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Basic features only. &lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Tue, 31 Jan 2012 19:56:48 GMT</pubDate><guid isPermaLink="false">Updated Wiki: POP Forums Version History 20120131075648P</guid></item><item><title>Commented Issue: small bug in TopicRepository [78]</title><link>http://popforums.codeplex.com/workitem/78</link><description>Looking at the following function in the TopicRepository&lt;br /&gt;&lt;br /&gt;public int GetTopicCount&amp;#40;bool includeDeleted, List&amp;#60;int&amp;#62; excludedForums&amp;#41;&lt;br /&gt;&lt;br /&gt;it starts the sql with &amp;#34;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic&amp;#34;&lt;br /&gt;&lt;br /&gt;followed by&amp;#58; &lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;followed by a call to GenerateExcludedForumSql which will add&lt;br /&gt;&lt;br /&gt;&amp;#34;AND ForumID NOT IN...&amp;#34;&lt;br /&gt;&lt;br /&gt;so if &amp;#39;includeDeleted &amp;#61;&amp;#61; true&amp;#39;  the SQL generated is&lt;br /&gt;&lt;br /&gt;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic AND ForumID NOT IN...&lt;br /&gt;&lt;br /&gt;which is badly formed SQL. &lt;br /&gt;&lt;br /&gt;I found this error by looking at recent posts as an admin user.  My code base however is modified so keep that in mind when trying to reproduce.  Error exists in 9.0 up to recent.&lt;br /&gt;&lt;br /&gt;I imagine the fix is&lt;br /&gt;&lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;else&lt;br /&gt;                sql &amp;#43;&amp;#61;&amp;#34; WHERE IsDeleted &amp;#61;1 or IsDeleted &amp;#61;0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;or just a simple &amp;#34; WHERE 1&amp;#61;1&amp;#34;  since the goal is to add a WHERE and the IsDeleted value is not important.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Comments: Good spot. That will make the next release.</description><author>jeffyjones</author><pubDate>Mon, 30 Jan 2012 13:55:43 GMT</pubDate><guid isPermaLink="false">Commented Issue: small bug in TopicRepository [78] 20120130015543P</guid></item><item><title>Edited Issue: small bug in TopicRepository [78]</title><link>http://popforums.codeplex.com/workitem/78</link><description>Looking at the following function in the TopicRepository&lt;br /&gt;&lt;br /&gt;public int GetTopicCount&amp;#40;bool includeDeleted, List&amp;#60;int&amp;#62; excludedForums&amp;#41;&lt;br /&gt;&lt;br /&gt;it starts the sql with &amp;#34;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic&amp;#34;&lt;br /&gt;&lt;br /&gt;followed by&amp;#58; &lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;followed by a call to GenerateExcludedForumSql which will add&lt;br /&gt;&lt;br /&gt;&amp;#34;AND ForumID NOT IN...&amp;#34;&lt;br /&gt;&lt;br /&gt;so if &amp;#39;includeDeleted &amp;#61;&amp;#61; true&amp;#39;  the SQL generated is&lt;br /&gt;&lt;br /&gt;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic AND ForumID NOT IN...&lt;br /&gt;&lt;br /&gt;which is badly formed SQL. &lt;br /&gt;&lt;br /&gt;I found this error by looking at recent posts as an admin user.  My code base however is modified so keep that in mind when trying to reproduce.  Error exists in 9.0 up to recent.&lt;br /&gt;&lt;br /&gt;I imagine the fix is&lt;br /&gt;&lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;else&lt;br /&gt;                sql &amp;#43;&amp;#61;&amp;#34; WHERE IsDeleted &amp;#61;1 or IsDeleted &amp;#61;0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;or just a simple &amp;#34; WHERE 1&amp;#61;1&amp;#34;  since the goal is to add a WHERE and the IsDeleted value is not important.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>jeffyjones</author><pubDate>Mon, 30 Jan 2012 13:55:43 GMT</pubDate><guid isPermaLink="false">Edited Issue: small bug in TopicRepository [78] 20120130015543P</guid></item><item><title>Created Release: POP Forums v9.3.0</title><link>http://popforums.codeplex.com/releases?ReleaseId=81379</link><description>&lt;div class="wikidoc"&gt;Placeholder.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Mon, 30 Jan 2012 13:54:07 GMT</pubDate><guid isPermaLink="false">Created Release: POP Forums v9.3.0 20120130015407P</guid></item><item><title>Created Issue: small bug in TopicRepository [78]</title><link>http://popforums.codeplex.com/workitem/78</link><description>Looking at the following function in the TopicRepository&lt;br /&gt;&lt;br /&gt;public int GetTopicCount&amp;#40;bool includeDeleted, List&amp;#60;int&amp;#62; excludedForums&amp;#41;&lt;br /&gt;&lt;br /&gt;it starts the sql with &amp;#34;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic&amp;#34;&lt;br /&gt;&lt;br /&gt;followed by&amp;#58; &lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;followed by a call to GenerateExcludedForumSql which will add&lt;br /&gt;&lt;br /&gt;&amp;#34;AND ForumID NOT IN...&amp;#34;&lt;br /&gt;&lt;br /&gt;so if &amp;#39;includeDeleted &amp;#61;&amp;#61; true&amp;#39;  the SQL generated is&lt;br /&gt;&lt;br /&gt;SELECT COUNT&amp;#40;&amp;#42;&amp;#41; FROM pf_Topic AND ForumID NOT IN...&lt;br /&gt;&lt;br /&gt;which is badly formed SQL. &lt;br /&gt;&lt;br /&gt;I found this error by looking at recent posts as an admin user.  My code base however is modified so keep that in mind when trying to reproduce.  Error exists in 9.0 up to recent.&lt;br /&gt;&lt;br /&gt;I imagine the fix is&lt;br /&gt;&lt;br /&gt;if &amp;#40;&amp;#33;includeDeleted&amp;#41;&lt;br /&gt;&amp;#9;&amp;#9;sql &amp;#43;&amp;#61; &amp;#34; WHERE IsDeleted &amp;#61; 0&amp;#34;&amp;#59;&lt;br /&gt;else&lt;br /&gt;                sql &amp;#43;&amp;#61;&amp;#34; WHERE IsDeleted &amp;#61;1 or IsDeleted &amp;#61;0&amp;#34;&amp;#59;&lt;br /&gt;&lt;br /&gt;or just a simple &amp;#34; WHERE 1&amp;#61;1&amp;#34;  since the goal is to add a WHERE and the IsDeleted value is not important.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author>jonp123</author><pubDate>Mon, 30 Jan 2012 04:35:32 GMT</pubDate><guid isPermaLink="false">Created Issue: small bug in TopicRepository [78] 20120130043532A</guid></item><item><title>Updated Wiki: Home</title><link>http://popforums.codeplex.com/wikipage?version=26</link><description>
&lt;div class="wikidoc"&gt;
&lt;h1&gt;Project Description&lt;/h1&gt;
POP Forums v9 is a forum app for ASP.NET MVC used as the core for several sites maintained by the author. It is not a science project, but a long-term commitment to great community.
&lt;br&gt;
&lt;br&gt;
The project goals of v9 are: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Use the database schema from v8.x with as few changes as possible. &lt;/li&gt;&lt;li&gt;Use ASP.NET MVC instead of Webforms. &lt;/li&gt;&lt;li&gt;Make the project open source under Ms-PL. &lt;/li&gt;&lt;li&gt;Be the best ASP.NET-based forum. &lt;/li&gt;&lt;li&gt;Not duplicate UBB's 1998 UI for the Nth time. &lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
More information: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/wikipage?title=FAQ&amp;referringTitle=Home"&gt;FAQ&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="/wikipage?title=POP Forums Version History&amp;referringTitle=Home"&gt;POP Forums Version History&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Live&amp;nbsp;&lt;a href="http://popforums.com/Forums" target="_blank"&gt;demo&lt;/a&gt;&amp;nbsp;(new location)
&lt;/li&gt;&lt;li&gt;Follow more on &lt;a href="http://weblogs.asp.net/Jeff/" target="_blank"&gt;Jeff's blog&lt;/a&gt;.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Setup:&lt;/p&gt;
&lt;p&gt;To set it up, check the installation instructions in the &lt;a href="http://popforums.codeplex.com/documentation"&gt;
documentation&lt;/a&gt; section.&lt;/p&gt;
&lt;p&gt;Read the post on &lt;a href="http://weblogs.asp.net/jeff/archive/2012/01/27/using-the-scoring-game-from-pop-forums-with-your-asp-net-mvc-app.aspx" target="_blank"&gt;
how to use the Scoring Game in your ASP.NET MVC app&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Update: 1/26/12&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://popforums.codeplex.com/releases/view/78876"&gt;Check out the new release: v9.2.1!&lt;/a&gt; This new version includes localization capability and the scoring game, as well as a few fixes. The only change from v9.2.0 to v9.2.1 is the addition of the
 Spanish resource file. You don't need to update unless you want Spanish.&lt;/p&gt;
&lt;p&gt;Do you speak English and another language? We want to make POP Forums globally useful. Starting with v9.2, the app is easily localized. We have volunteers translating to Spanish, Dutch and German, and we'd love help for additional languages. Drop Jeff an
 e-mail to &lt;a href="mailto:jeff@popw.com"&gt;jeff@popw.com&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;Note that our demo forum has moved. You can find that here:&amp;nbsp;&lt;a href="http://popforums.com/Forums"&gt;http://popforums.com/Forums&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</description><author>jeffyjones</author><pubDate>Sat, 28 Jan 2012 15:23:30 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120128032330P</guid></item><item><title>Updated Wiki: FAQ</title><link>http://popforums.codeplex.com/wikipage?title=FAQ&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;Frequently Asked Questions&lt;/h1&gt;
&lt;p&gt;These are a few of the questions people ask me about the project. Feel free to ping me with other questions at
&lt;a href="mailto:jeff@popw.com"&gt;jeff@popw.com&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;. If you're thinking it, you're probably not the only one!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Another forum app? For real?&lt;/strong&gt;&lt;br&gt;
Yeah, I know. I'd like to think that this one is a little different, because it doesn't exist to fit some generalized needs, it exists to fit
&lt;em&gt;my&lt;/em&gt; needs. The design goal of the app, from its early days in 1999, has always been to design for users, and not as a science project. This app lives because it has been required for sites like
&lt;a href="http://coasterbuzz.com/"&gt;CoasterBuzz&lt;/a&gt; for more than ten years, and it will continue to evolve because those sites will evolve. It just makes sense to share it with others.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sounds like you've been doing this a long time.&lt;/strong&gt;&lt;br&gt;
Yes, I sometimes feel cursed to rewrite it for all eternity. The Webforms versions were really kind of a mess, and no version was a true rewrite. Once MVC came along, it gave me great incentive to start fresh. Putting it out there in the open I suspect will
 only help the quality.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What languages are supported?&lt;/strong&gt;&lt;br&gt;
The list is always changing. Currently we have English, Spanish (es), Dutch (nl) and German (de). If you'd like to translate, the .resx file has between 350 and 400 entries. Contact me to learn more.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You (used to) work on the forums for MSDN and TechNet. Is this that forum?&lt;/strong&gt;&lt;br&gt;
Not at all. That app serves a great many different functions and is integrated with LiveID, a centralized profiling system, etc. It's huge. This app has its roots in the Web sites I've been running for fun and profit for years, to the extent that you can find
 old posts on those sites from the turn of the century with all kinds of formatting failures. Those were the ASP.old days.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I noticed you're not using &amp;lt;some ORM framework&amp;gt;. Why not?&lt;/strong&gt;&lt;br&gt;
One of the requirements for this version was to simply work with the existing data structures of v8.x, a Webforms app. In that sense, the data plumbing was already pretty well established and known to work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What external frameworks are you using, and why?&lt;/strong&gt;&lt;br&gt;
I wanted to keep external binaries to a minimum, but I'm using &lt;a href="http://ninject.org/"&gt;
Ninject&lt;/a&gt; for dependency injection (Apache and Ms-PL licenses), &lt;a href="http://code.google.com/p/moq/"&gt;
Moq&lt;/a&gt; for test mocking, and &lt;a href="http://nunit.org/"&gt;NUnit&lt;/a&gt; for unit testing (variant of zlib/libpng license). The decision to use these was kind of arbitrary. I had experience with these and they met my needs. Plus, Ninject is written by a guy from
 Akron, so you know it's good.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Since you (used to) work at Microsoft and all, is this supposed to be some kind of best practice example?&lt;/strong&gt;&lt;br&gt;
Not a chance. There are people far smarter than me that do that kind of thing, and they work on the framework teams. Because this app is first and foremost a production app, there is little desire to ever &amp;quot;perfect&amp;quot; it or make it an example of The Right Thing&amp;reg;
 to do in terms of coding technique. As far as releasing frequently and iterating quickly, yes, I hope it does serve as an example of that in the long run. That, too, will largely depend on my free time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Will there be a Webforms version?&lt;/strong&gt;&lt;br&gt;
No.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What's the release roadmap?&lt;/strong&gt;&lt;br&gt;
Bug fixing will prompt updates as needed, though the app is getting solid production use, and hopefully those will be infrequent. Beyond that, I hope to get feedback from the community on what they would like to see added, and that will drive future development.
 You can check the issue tracker for stuff currently in flight.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Can I contribute?&lt;/strong&gt;&lt;br&gt;
That's a harder question to answer. If someone really digs into the source code and understands it in a non-trivial way, then yes, I'll consider bringing in contributors.&lt;/p&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Fri, 27 Jan 2012 04:13:07 GMT</pubDate><guid isPermaLink="false">Updated Wiki: FAQ 20120127041307A</guid></item><item><title>Updated Wiki: Home</title><link>http://popforums.codeplex.com/wikipage?version=25</link><description>
&lt;div class="wikidoc"&gt;
&lt;h1&gt;Project Description&lt;/h1&gt;
POP Forums v9 is a forum app for ASP.NET MVC used as the core for several sites maintained by the author. It is not a science project, but a long-term commitment to great community.
&lt;br&gt;
&lt;br&gt;
The project goals of v9 are: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Use the database schema from v8.x with as few changes as possible. &lt;/li&gt;&lt;li&gt;Use ASP.NET MVC instead of Webforms. &lt;/li&gt;&lt;li&gt;Make the project open source under Ms-PL. &lt;/li&gt;&lt;li&gt;Be the best ASP.NET-based forum. &lt;/li&gt;&lt;li&gt;Not duplicate UBB's 1998 UI for the Nth time. &lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
More information: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/wikipage?title=FAQ&amp;referringTitle=Home"&gt;FAQ&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="/wikipage?title=POP Forums Version History&amp;referringTitle=Home"&gt;POP Forums Version History&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Live&amp;nbsp;&lt;a href="http://popforums.com/Forums" target="_blank"&gt;demo&lt;/a&gt;&amp;nbsp;(new location)
&lt;/li&gt;&lt;li&gt;Follow more on &lt;a href="http://weblogs.asp.net/Jeff/" target="_blank"&gt;Jeff's blog&lt;/a&gt;.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Setup:&lt;/p&gt;
&lt;p&gt;To set it up, check the installation instructions in the &lt;a href="http://popforums.codeplex.com/documentation"&gt;
documentation&lt;/a&gt; section.&lt;/p&gt;
&lt;h2&gt;Update: 1/26/12&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://popforums.codeplex.com/releases/view/78876"&gt;Check out the new release: v9.2.1!&lt;/a&gt; This new version includes localization capability and the scoring game, as well as a few fixes. The only change from v9.2.0 to v9.2.1 is the addition of the
 Spanish resource file. You don't need to update unless you want Spanish.&lt;/p&gt;
&lt;p&gt;Do you speak English and another language? We want to make POP Forums globally useful. Starting with v9.2, the app is easily localized. We have volunteers translating to Spanish, Dutch and German, and we'd love help for additional languages. Drop Jeff an
 e-mail to &lt;a href="mailto:jeff@popw.com"&gt;jeff@popw.com&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;Note that our demo forum has moved. You can find that here:&amp;nbsp;&lt;a href="http://popforums.com/Forums"&gt;http://popforums.com/Forums&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</description><author>jeffyjones</author><pubDate>Thu, 26 Jan 2012 20:40:16 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120126084016P</guid></item><item><title>Updated Release: POP Forums v9.2.1 (Jan 22, 2012)</title><link>http://popforums.codeplex.com/releases/view/78876</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Release Notes&lt;/h1&gt;
This is the third release for the ASP.NET MVC3 version of POP Forums. It is feature complete, stable, and ready for feedback. For previous release notes, see previous releases.&lt;br /&gt;&lt;br /&gt;Check out the live preview: &lt;a href="http://popforums.com/Forums" class="externalLink"&gt;http://popforums.com/Forums&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Setup instructions are available in the &lt;a href="http://popforums.codeplex.com/documentation" class="externalLink"&gt;documentation&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; section.&lt;br /&gt;&lt;br /&gt;If you have v9.2.0, you don&amp;#39;t need to update to v9.2.1 unless you want to use the Spanish translation. It is the only change to this version.&lt;br /&gt;
&lt;h2&gt;Upgrading?&lt;/h2&gt;
If you&amp;#39;re upgrading from v9.0 or v9.1, simply replace the existing files. You&amp;#39;ll also have to run the PopForums4.xto4.2.sql SQL script against your existing database. That script can be found in the database project. It adds a number of new fields and tables.&lt;br /&gt;
&lt;h2&gt;What&amp;#39;s new?&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Localization: The app can now be easily translated. .resx files included for Spanish (es), Dutch (nl) and German (de) so far, in addition to the core English. Can you help with another translation? Contact jeff@popw.com.&lt;/li&gt;
&lt;li&gt;Vote up posts: Give credit to people who make good posts, see who voted on each post.&lt;/li&gt;
&lt;li&gt;The Scoring Game: Extensible system that allows you to give users points, and issue awards based on repeated events. For example, you can set up awards based on a number of new posts or topics (both of which record these events).&lt;/li&gt;
&lt;li&gt;Fix: Weird line breaks in lists when posting from Firefox parsed correctly.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;What&amp;#39;s next?&lt;/h2&gt;
We&amp;#39;ll get some sample documents around how you can use the scoring game functionality in your own application. Feel free to submit feature requests to the issue tracker or on the sample forum. We&amp;#39;re particularly interested to hear if you have any desire for installation via NuGet, and if there&amp;#39;s a desire to use a SQL CE database.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Thu, 26 Jan 2012 20:38:22 GMT</pubDate><guid isPermaLink="false">Updated Release: POP Forums v9.2.1 (Jan 22, 2012) 20120126083822P</guid></item><item><title>Released: POP Forums v9.2.1 (Jan 22, 2012)</title><link>http://popforums.codeplex.com/releases/view/78876</link><description>
&lt;div class="wikidoc"&gt;
&lt;h1&gt;Release Notes&lt;/h1&gt;
This is the third release for the ASP.NET MVC3 version of POP Forums. It is feature complete, stable, and ready for feedback. For previous release notes, see previous releases.&lt;br&gt;
&lt;br&gt;
Check out the live preview: &lt;a href="http://popforums.com/Forums"&gt;http://popforums.com/Forums&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Setup instructions are available in the &lt;a href="http://popforums.codeplex.com/documentation"&gt;
documentation&lt;span&gt;&lt;/span&gt;&lt;/a&gt; section.&lt;br&gt;
&lt;br&gt;
If you have v9.2.0, you don&amp;#39;t need to update to v9.2.1 unless you want to use the Spanish translation. It is the only change to this version.&lt;br&gt;
&lt;h2&gt;Upgrading?&lt;/h2&gt;
If you&amp;#39;re upgrading from v9.0 or v9.1, simply replace the existing files. You&amp;#39;ll also have to run the PopForums4.xto4.2.sql SQL script against your existing database. That script can be found in the database project. It adds a number of new fields and
 tables.&lt;br&gt;
&lt;h2&gt;What&amp;#39;s new?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Localization: The app can now be easily translated. .resx files included for Spanish (es), Dutch (nl) and German (de) so far, in addition to the core English. Can you help with another translation? Contact jeff@popw.com.
&lt;/li&gt;&lt;li&gt;Vote up posts: Give credit to people who make good posts, see who voted on each post.
&lt;/li&gt;&lt;li&gt;The Scoring Game: Extensible system that allows you to give users points, and issue awards based on repeated events. For example, you can set up awards based on a number of new posts or topics (both of which record these events).
&lt;/li&gt;&lt;li&gt;Fix: Weird line breaks in lists when posting from Firefox parsed correctly.&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;What&amp;#39;s next?&lt;/h2&gt;
We&amp;#39;ll get some sample documents around how you can use the scoring game functionality in your own application. Feel free to submit feature requests to the issue tracker or on the sample forum. We&amp;#39;re particularly interested to hear if you have any desire
 for installation via NuGet, and if there&amp;#39;s a desire to use a SQL CE database.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
</description><author></author><pubDate>Thu, 26 Jan 2012 20:38:22 GMT</pubDate><guid isPermaLink="false">Released: POP Forums v9.2.1 (Jan 22, 2012) 20120126083822P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://popforums.codeplex.com/documentation?version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;Documentation&lt;/h1&gt;
&lt;p&gt;POP Forums v9 attempts to not get in the way of your application, by designating its views inside of an MVC area. It does, however, rely on MVC&amp;rsquo;s dependency injection resolver, and sets Ninject as the default resolver. Beyond that, you can choose whether
 or not you want the forum&amp;rsquo;s authorization to work everywhere, or just in controllers and actions for the forum. You can find more details in the integration section below.&lt;/p&gt;
&lt;h2&gt;Upgrading?&lt;/h2&gt;
&lt;p&gt;If you're upgrading from v9.0 or v9.1 to v9.2, simply replace the existing files. You'll also have to run the&amp;nbsp;&lt;span&gt;PopForums4.xto4.2.sql&lt;/span&gt; SQL script against your existing database. That script can be found in the database project.&lt;/p&gt;
&lt;h2&gt;Installation&lt;/h2&gt;
&lt;p&gt;POP Forums tries to make installation as low-friction as possible. Here&amp;rsquo;s how to do it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download the latest source code from CodePlex. Build it, if necessary. &lt;/li&gt;&lt;li&gt;The PopForums.Web project has various folders that you&amp;rsquo;d expect in an MVC project:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226033"&gt;&lt;img title="projectexplorer" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226034" border="0" alt="projectexplorer" width="200" height="244" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
Also keep in mind that the /bin folder will contain several assemblies, including PopForums.dll, PopForums.Data.SqlSingleWebServer.dll, Ninject.dll and whatever the name of the Web project is. In our case, it&amp;rsquo;s PopForums.Web.dll.
&lt;/li&gt;&lt;li&gt;Web.config will require a section declaration for popForums, as well as a connection string. The default looks like this:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226035"&gt;&lt;img title="webconfig" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226036" border="0" alt="webconfig" width="652" height="174" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
The main purpose of the popForums section is to choose a connection string. &lt;/li&gt;&lt;li&gt;Also in web.config, set a new base page type for Razor views: &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div style="color:black; background-color:white"&gt;
&lt;pre&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;system.web.webPages.razor&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
  &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;host&lt;/span&gt; &lt;span style="color:red"&gt;factoryType&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:blue"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;pages&lt;/span&gt; &lt;span style="color:red"&gt;pageBaseType&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;PopForums.Web.PopForumsRazorViewPage&lt;/span&gt;&lt;span style="color:black"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;
      &lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515"&gt;namespaces&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt; ...&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Attempt to run the app either locally, or in IIS, and go to the URL /Forums to see an error page. It will fail either because the database isn&amp;rsquo;t set up, or because it can&amp;rsquo;t connect to it.
&lt;/li&gt;&lt;li&gt;Point the browser to /Forums/Setup now, and if your connection string is correct, you should see this page:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226037"&gt;&lt;img title="setupscreen" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226038" border="0" alt="setupscreen" width="488" height="379" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;br&gt;
Here&amp;rsquo;s what each field does: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Forum title:&lt;/strong&gt; This is what your forum will be called at the root, in an h1 tag. You can edit this (and everything else) later.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP Server:&lt;/strong&gt; The host name of the server you&amp;rsquo;ll connect to for sending e-mail. Enabling this functionality on your server is beyond the scope of this document.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Port:&lt;/strong&gt; Typically 25, though some services (like Gmail) use others.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;From e-mail address:&lt;/strong&gt; When a user receives e-mail from the forum, it will be &amp;ldquo;from&amp;rdquo; this address.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Use SSL:&lt;/strong&gt; Check if your server uses or requires SSL. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Use ESMTP for credentials:&lt;/strong&gt; Check this box if you have to authenticate with your server. Checking this makes the two boxes below it editable.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP User:&lt;/strong&gt; User name (often the e-mail address) to authenticate with. Not editable unless the &amp;ldquo;Use ESMTP&amp;rdquo; box is checked.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;SMTP Password:&lt;/strong&gt; Password to authenticate with. Not editable unless the &amp;ldquo;Use ESMTP&amp;rdquo; box is checked.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Time zone&lt;/strong&gt; and &lt;strong&gt;Use daylight saving&lt;/strong&gt;: Determines how your forum should handle time. This will also be the time adjustment your admin account will use. Both can be changed later.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Display name:&lt;/strong&gt; How you want your name to appear in the forum.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;E-mail:&lt;/strong&gt; The e-mail address you&amp;rsquo;ll use to login with. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Password:&lt;/strong&gt; The password you&amp;rsquo;ll use to login with. &lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;li&gt;If you typed everything you need correctly, you should see a happy result, otherwise you&amp;rsquo;ll see a stack trace and exception. Here&amp;rsquo;s the happy face:
&lt;br&gt;
&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226039"&gt;&lt;img title="setupsuccess" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226040" border="0" alt="setupsuccess" width="409" height="100" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;From here, you can follow the link to the admin home page and add categories and forums. You&amp;rsquo;ll be logged in as the user you created, and that account will be part of the Admin and Moderator roles. Once you&amp;rsquo;ve added some forums, you can go to
 /Forums to start posting. &lt;/li&gt;&lt;li&gt;If you want to test your e-mail setup, go to /Forums/Account/Forgot and enter your e-mail address. Failures are also logged in the error log, which is found in the admin area.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226041"&gt;&lt;img title="adminhome" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226042" border="0" alt="adminhome" width="623" height="695" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Integration&lt;/h2&gt;
&lt;p&gt;Aside from the entry in web.config, POP Forums requires only a few lines of code to get it working in your app. These can be found in global.asax.cs:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226043"&gt;&lt;img title="globalasax" src="http://www.codeplex.com/download?ProjectName=popforums&amp;DownloadId=226044" border="0" alt="globalasax" width="813" height="274" style="padding-left:0px; padding-right:0px; display:inline; padding-top:0px; border-width:0px"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The comments in this file generally explain what&amp;rsquo;s going on. The first designates the Ninject module to set up all of the data repositories. Next, you can choose to call one of two static methods on PopForums.Web.PopForumsActiviation, which will apply
 a global filter to MVC actions in order to set up the IPrincipal object in the request as a PopForums.Models.User. Use the second variety if you want it to apply to all of your app. Then the dependency resolver is set to use a simple implementation of the
 interface for use with Ninject. Finally, we call the RegisterRoutes() method that comes in the stock MVC global.asax.&lt;/p&gt;
&lt;p&gt;So what&amp;rsquo;s going on under the covers? Take a look at PopForums.Web.PopForumsActiviation, and you&amp;rsquo;ll see that it uses the PreApplicationStartMethod attribute to call an initialization method when the app starts. This sets up the Ninject kernel
 (you might know it as a container in other DI frameworks) and fires up an HttpModule to host three recurring services (session management, mailer and search indexing).&lt;/p&gt;
&lt;p&gt;The SetUserAttribute() method (and its global variation) install plumbing that in some way mimics the way we&amp;rsquo;d use an HttpModule back in the day, to set the user on the HttpContext for every request using a forum action method (or all app action methods,
 in the global variation). Check PopForums.Web.PopForumsUserAttribute for a deeper dive, but basically it checks for a forms authentication cookie, and if found, tries to put the user object on the HttpContext for use around the app, complete with roles. It&amp;rsquo;s
 also the point at which session information is maintained, updating user records with a new time stamp and making the user appear &amp;ldquo;online&amp;rdquo; on the forum home page.&lt;/p&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jeffyjones</author><pubDate>Tue, 24 Jan 2012 05:00:57 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20120124050057A</guid></item><item><title>Updated Wiki: Home</title><link>http://popforums.codeplex.com/wikipage?version=24</link><description>
&lt;div class="wikidoc"&gt;
&lt;h1&gt;Project Description&lt;/h1&gt;
POP Forums v9 is a forum app for ASP.NET MVC used as the core for several sites maintained by the author. It is not a science project, but a long-term commitment to great community.
&lt;br&gt;
&lt;br&gt;
The project goals of v9 are: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;Use the database schema from v8.x with as few changes as possible. &lt;/li&gt;&lt;li&gt;Use ASP.NET MVC instead of Webforms. &lt;/li&gt;&lt;li&gt;Make the project open source under Ms-PL. &lt;/li&gt;&lt;li&gt;Be the best ASP.NET-based forum. &lt;/li&gt;&lt;li&gt;Not duplicate UBB's 1998 UI for the Nth time. &lt;/li&gt;&lt;/ul&gt;
&lt;br&gt;
More information: &lt;br&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/wikipage?title=FAQ&amp;referringTitle=Home"&gt;FAQ&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="/wikipage?title=POP Forums Version History&amp;referringTitle=Home"&gt;POP Forums Version History&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Live&amp;nbsp;&lt;a href="http://popforums.com/Forums" target="_blank"&gt;demo&lt;/a&gt;&amp;nbsp;(new location)
&lt;/li&gt;&lt;li&gt;Follow more on &lt;a href="http://weblogs.asp.net/Jeff/" target="_blank"&gt;Jeff's blog&lt;/a&gt;.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Setup:&lt;/p&gt;
&lt;p&gt;To set it up, check the installation instructions in the &lt;a href="http://popforums.codeplex.com/documentation"&gt;
documentation&lt;/a&gt; section.&lt;/p&gt;
&lt;h2&gt;Update: 1/23/12&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://popforums.codeplex.com/releases/view/78876"&gt;Check out the new release: v9.2.0!&lt;/a&gt; This new version includes localization capability and the scoring game, as well as a few fixes.&lt;/p&gt;
&lt;p&gt;Do you speak English and another language? We want to make POP Forums globally useful. Starting with v9.2, the app is easily localized. We have volunteers translating to Dutch and German, and we'd love help for additional languages. Drop Jeff an e-mail to
&lt;a href="mailto:jeff@popw.com"&gt;jeff@popw.com&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;Note that our demo forum has moved. You can find that here:&amp;nbsp;&lt;a href="http://popforums.com/Forums"&gt;http://popforums.com/Forums&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</description><author>jeffyjones</author><pubDate>Tue, 24 Jan 2012 04:56:34 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120124045634A</guid></item></channel></rss>
