Installing POP Forums

Keep in mind that this is an early beta, and we haven't thought out the setup requirements. Since the primary audience is developers, the manual nature of this is probably not that foreign to ASP.NET developers.

System requirements

You'll need the following installed to use POP Forums in your Web app:

  • Optional for integration to your app: Visual Studio 2008 or Visual Web Developer 2008 Express Edition. Note that VWD (last I checked) can't compile the class library, so you'll need to use the compiled version as-is.
  • .NET Framework v3.5
  • SQL Server 2005 or above. Not yet tested on Express version.
  • A Windows Web server (obviously).
  • Some basic understanding of how to use ASP.NET.

Extracting the files

Extract the downloaded file. Inside you'll find two folders. "PopForums" is the class library project, while "PopForums.UI" is the actual app for your site. You don't need to know anything about the class library project if you just want to get up and running. you'll also find a file called PopForums.sql in the zip. We'll get to that in a moment.

Inside the UI folder, there are several subfolders. Here's what they do:

  • /App_Code
    • PopForums - This folder has UI specific components not implemented in the class library
  • /App_Themes - Has some of the basic graphic goodies for POP Forums in the Default folder. This has been arranged so we can do skinning at some future point in time.
  • /Bin - Here you'll find the PopForums assembly and symbol files.
  • /ForumAdmin - Contains the pages for the admin portion of the app. You can rename this to something else, though you'll have to change the name in the location portion of web.config (described below)
  • /Forums - Where all the action is. You can't easily rename this because the UI references it quite a bit, in part due to some URL rewriting.

web.config

Your web.config file will need to have the bit and pieces that make the AJAX framework available. Visual Studio 2008 generates these pieces automatically, but if you need to add them, use our included web.config as a guide.

Your web.config will also need the parts that apply directly to POP Forums. Again, see the included web.config. These parts are (with their paths):

  • configuration/configSections/section name="popForums"
    <section name="popForums" type="PopForums.Configuration.PopForumsSection, PopForums"/>
  • configuration/popForums (if you built an alternate data provider, you'd specify it here)
    <popForums defaultProvider="SqlPopForumsProvider">
        <providers>
            <add name="SqlPopForumsProvider" type="PopForums.Data.SqlPopForumsProvider, PopForums" connectionStringName="PopForums"/>
        </providers>
    </popForums>

  • configuration/connectionStrings (put the appropriate connection string here)
    <add name="PopForums" connectionString="server=localhost;Database=popforums8;Trusted_Connection=True;"/>
  • configuration/system.web/httpHandlers (this handles the URL rewrites for topic lists and threads)
    <add path="Forums/*/*.aspx" verb="*" type="PopForums.UI.HttpHandlers.PageFactory" />
  • configuration/system.web/httpModules (this maintains the background processes, checks user roles and logs unhandled exceptions)
    <add name="PopForums.UI.HttpModules.Services" type="PopForums.UI.HttpModules.Services"/>
  • configuration/system.web/pages/controls (these provide access to the class library and app_code controls)
    <add assembly="App_Code" namespace="PopForums.UI" tagPrefix="PopForums"/>
    <add assembly="PopForums" namespace="PopForums.UI" tagPrefix="PopForums"/>
    <add assembly="PopForums" namespace="PopForums.UI.Data" tagPrefix="PopForums"/>
  • configuration (this keeps non-admins out of your admin area
    <location path="forumadmin">
        <system.web>
          <authorization>
            <allow roles="Admin" />
                <deny users="*" />
            </authorization>
        </system.web>
    </location>

Initial settings, admin account

You'll need to comment out that last web.config part that restricts access to the admin area, just long enough to set up some initial settings and give your own account admin status.

  • Comment out the location forumadmin section in web.config.
  • Load /ForumAdmin/Default.aspx in your browser.
  • Navigate through the top group of settings pages. The only one that is likely critical to change is the e-mail page.
  • Load /Forums/Default.aspx, and click the register link.
  • Create an account for yourself. If your e-mail settings were correct from the first step, you'll get a confirmation e-mail to validate the account. If not, the page will display the e-mail error. Click the link that says "confirm an existing account" (this is located at /Forums/Confirm.aspx) and you can retry using the box that sends another confirmation code by e-mail. Adjust the settings if you need to to make the e-mail work.
  • Once you've registered, use /ForumAdmin/EditUser.aspx to edit your account and set it as a moderator and admin.
  • Uncomment the web.config section for location forumadmin so non-admin users can't get to it.
  • Set up categories (optional) and forums, and you're ready to roll!