﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>InstantASP Support Center</title><generator>InstantKB.NET 2.0.6</generator><description>InstantASP Support Center</description><link>http://kb.instantasp.co.uk/</link><webMaster>support@instantasp.co.uk</webMaster><lastBuildDate>Sun, 14 Mar 2010 16:23:49 GMT</lastBuildDate><ttl>20</ttl><item><title>Upgrading from InstantForum.NET 4.1.4 to InstantForum.NET 2010 RC</title><link>http://kb.instantasp.co.uk/Goto11839.aspx</link><description>This article details the steps necessary o upgrade from InstantForum.NET 4.1.4 to the latest InstantForum.NET 2010 Release Candidate. If your eligable you can download the InstantForum.NET 2010 release candidate from...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://my.instantasp.co.uk/MyLicenses.aspx"&gt;http://my.instantasp.co.uk/MyLicenses.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You'll need to click the small ZIP icon next to the release candidate listing to begin the download. Once you've downloaded the ZIP file for this example please extract the contents of the ZIP file to your computers desktop. &lt;br /&gt;&lt;br /&gt;Once you'ev extracted the files to your desktop before you begin the database upgrade please ensure you create a backup your InstantForum.NET 4.1.4 database. &lt;br /&gt;&lt;br /&gt;The database upgrade script may take a couple of minutes to complete depending on the amount of data you have within your existing database. If a power or network failure occurs whilst running the upgrade script against the database it may not be possible to restore your data. For this reason we would strongly suggest creating a backup of your database before attempting to run our upgrade script.&lt;br /&gt;&lt;br /&gt;We would also suggest performing any upgrade locally or within a staging environment to familiarize yourself with the process. We would not suggest applying the upgrade directly into production without first testing the upgrade process locally.&lt;p&gt;The basic steps to upgrade are listed below...&lt;/p&gt;&lt;p&gt;&lt;strong&gt; 1.&lt;/strong&gt; Copy the InstantForum42 folder to your c:\inetpub\wwwroot\ folder&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Ensure the InstantForum42 folder is marked as a web application within IIS&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; Make a backup of your existing InstantForum.NET 4.1.4 database&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; Run the 4.1.4 to 2010 upgrade script against your restored backup. &lt;/p&gt;&lt;p&gt;The script is located at located at c:\inetpub\wwwroot\InstantForum42\DatabaseScripts\UpgradeScripts\414_to_2010.sql&lt;/p&gt;&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; Update the "web.config" file within the 2010 install directory to point to your upgraded database. The default connection string is shown below...&lt;/p&gt;&lt;p&gt;&lt;span class="Code"&gt;&amp;lt;add key="InstantASP_ConnectionString" value="server=localhost;trusted_connection=true;database=InstantForum2010"/&amp;gt;   &lt;/span&gt;   &lt;br /&gt;You may need to update this to something like...&lt;/p&gt;&lt;p&gt;&lt;span class="Code"&gt;&amp;lt;add key="InstantASP_ConnectionString" value="server=YOURSQLSERVERIP; uid=YOURSQLUSERNAME; pwd=YOURSQLPASSWORD; database=InstantForum2010"/&amp;gt;&lt;/span&gt;      &lt;br /&gt;&lt;strong&gt;6.&lt;/strong&gt; Reapply any customizations you may have to the updated 2010 Classic Skin.&lt;/p&gt;&lt;p class="Header"&gt;Important Considerartion&lt;/p&gt;&lt;p&gt;&lt;strong&gt;MasterTemplate.ascx no longer exists.&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;If you've previously customized the MasterTemplate.ascx you will now need to use the Skins\[YOURSKINNAME]\MasterPage.Master file to wrap your existing web site design around InstantForum.NET. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;InstantForum.NNET 2010 will no longer work under .NET 1.1.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If your still running InstantForum.NET under a .NET 1.1 application pool you'll need to update this for InstantForum.NET 2010 to use a .NET 2.0 or above application pool. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Run InstantForum.NET 2010 under a Classic .NET Application Pool&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;If your installing 2010 on a Vista, Windows 7 or Windows Server 2008 OS please ensure you configure the web site or web application within IIS for InstantForum.NET 2010 to use a Classic .NET Application Pool. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;That's It!&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;We hope you enjoy the 2010 update. Should you have any feedback please email me directly on &lt;a href="mailto:ryan@instantasp.co.uk"&gt;ryan@instantasp.co.uk&lt;/a&gt;, leave a comment below or post your comments / questions within our &lt;a href="http://community.instantasp.co.uk/" class="ApplyClass"&gt;community forums&lt;/a&gt;. &lt;/p&gt;</description><pubDate>Wed, 03 Mar 2010 13:10:35 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Add YouTube video embedding support for InstantForum.NET </title><link>http://kb.instantasp.co.uk/Goto11836.aspx</link><description>This article shows users of InstantForum.NET 4.1.4 or earlier how to allow community members to easily embed YouTube videos within forum posts. &lt;br /&gt;&lt;br /&gt;With the built-in support for YouTube videos in the forthcoming InstantForum.NET 4.2 update we wanted to share some code we created with existing 4.1.4 users. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;An Example&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Lets say you wanted to share one of our videos within a post...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=MS8hPKeRY4Y"&gt;http://www.youtube.com/watch?v=MS8hPKeRY4Y&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If your using InstantForum.NET 4.1.4 or earlier uou can add an IFCode tag to embed this video directly within posts. &lt;br /&gt;&lt;br /&gt;For example a nice way to embed this would be...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;[YouTube]&lt;/strong&gt;http://www.youtube.com/watch?v=MS8hPKeRY4Y&lt;strong&gt;[/YouTube]&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;When posted this would be translated via our IFCode feature and would display within posts as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img alt="" style="width: 582px; height: 417px;" src="http://kb.instantasp.co.uk/Uploads/Images/YouTubeVideo.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Adding the YouTube IFCode&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;For further information on how to use IFCode please see...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.instantasp.co.uk/InstantForum/managingifcode.html"&gt;http://docs.instantasp.co.uk/InstantForum/managingifcode.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To provide support for this you will need to add a new IFCode for 4.1.4. You should login as an administrator for your forum and navigate to the Admin CP. Within the navigation on the left locate the Add IFCode option. When adding a new IFCode use the following information...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Friendly Name&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;YouTube&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tag Example&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;[YouTube][/YouTube]&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Actual code to insert&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;[YouTube][/YouTube]&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Search Pattern&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;\[YouTube\](.*?)youtube.com/watch\?v=(.*?)\[\/YouTube\]&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Replace Pattern&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;lt;object width="425" height="344"&amp;gt;&lt;br /&gt;&amp;lt;param name="movie" value="http://www.youtube.com/v/$2&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&amp;gt;&lt;br /&gt;&amp;lt;/param&amp;gt;&amp;lt;param name="allowFullScreen" value="true"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;lt;param name="allowscriptaccess" value="always"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&amp;lt;embed src="http://www.youtube.com/v/$2&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&amp;gt;&amp;lt;/embed&amp;gt;&lt;br /&gt;&amp;lt;/object&amp;gt;&lt;/p&gt;&lt;strong&gt;That's It!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Save our new IFCode and this will be accessible when adding new posts within InstantForum.NET 4.1.4. As indicated above this has been greatly improved with the forthcoming 4.2 update and we now have a dialog which allows you to add YouTube URLs directly from within the editor.&lt;br /&gt;&lt;br /&gt;As always if you have any questions please don't hesitate to leave a comment below or &lt;a href="http://www.instantasp.co.uk/Contact/" class="ApplyClass"&gt;contact us&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;We would welcome suggestions for other video services you would like to see supported. For exmaple Ustream etc. </description><pubDate>Tue, 27 Oct 2009 15:04:39 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Using InstantKB.NET 2.0 within an IIS7 Integrated Application Pool</title><link>http://kb.instantasp.co.uk/Goto11835.aspx</link><description>By default InstantKB.NET 2.0 is provided with a web.config file designed to work with all versions of IIS. &lt;br /&gt;&lt;br /&gt;If your using InstantKB.NET within IIS6 (Vista / Windows 7) or IIS7 (Windows Server 2008) you can use InstantKB.NET 2.0 out-the-box however you wioll need to run InstantKB.NET 2.0 within a "Classic .NET Application Pool". If you attempt to run InstantKB.NET 2.0 within an integrated application pool you'll receive the error message below...&lt;br /&gt;&lt;br /&gt;&lt;img alt="" style="width: 464px; height: 537px;" src="http://kb.instantasp.co.uk/Uploads/Images/IntegratedError.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Resolution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you wish to use InstantKB.NET 2.0 within an "Integrated" application pool you should download the web.config file below and replace your current web.config file with this new web.config file. The attached web.config below ensures InstantKB.NET 2.0 will work within "Integrated" application pools. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; The web.config below will only work with InstantKB.NET 2.0.6 or above. &lt;br /&gt;&lt;br /&gt;Should you have any questions please don't hesitate to leave a comment below or &lt;a href="http://www.instantasp.co.uk/Contact" class="ApplyClass"&gt;contact us&lt;/a&gt;.&lt;br /&gt;</description><pubDate>Wed, 21 Oct 2009 12:16:06 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Using the InstantKB.NET API to query &amp; display articles</title><link>http://kb.instantasp.co.uk/Goto11833.aspx</link><description>We seem to be getting more and more email's from customers looking to work with the InstantKB.NET API from within there own ASP.NET web sites To address these questions i've created this article which shows how to bind a collection of InstantKB.NET articles to a standard ASP.NET gridview. This example provides paging &amp;amp; basic sorting features.  &lt;br /&gt;&lt;br /&gt;Whilst this is quite a simple example it does demonstrates some important aspects to consider when using our API from your own web application. The InstantKB.NET API allows you to programatically control every aspect of your InstantKB.NET data through code. Our assemblies can be referenced from any .NET project (C# or VB.NET) to take advantqage of our methods.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Scenario&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;One common scenario we see are customers looking to display articles on there own web sites. While you can already display articles via our &lt;a href="http://kb.instantasp.co.uk/Knowledgebase/Consume-a-InstantKB.NET-or-InstantForum.NET-RSS-Feed"&gt;RSS feeds&lt;/a&gt; this does incur some network overhead. Taking advantage of our API to query &amp;amp; display articles offers greater flexibility &amp;amp; much better performance. &lt;br /&gt;&lt;br /&gt;Whilst this is only a simple use of our API it does demonstrate how you would reference our assemblies from within your Visual Studio.NET projects. &lt;br /&gt;&lt;br /&gt;Once we have the basics working we'll add some simple search options to demonstrate how to can query the InstantKB.NET articles via our API to return results matching specific search criteria. For example on your web site you may wish to display all articles with a high priority or specific status. &lt;br /&gt;&lt;br /&gt;We'll also take things a step further and demonstrate how to programatically add articles using our API through a simple web form.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Lets get started&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you wish to follow the steps within this article you will need a copy of Visual Studio.NET 2005 or 2008. To help with our scenario we'll create a basic ASP.NET Web Site to serve as a test bed to implement our code. The source code for this example can be found at the bottom of this page. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;1. Create a new web site&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt; We'll quickly create a web site we can use to test our code.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/1.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/1.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Select a standard ASP.NET web site...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/2.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/2.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once created you'll be presented with a blank web site as shown below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/3.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/3.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;2. Adding references to the InstantKB.NET Assemblies&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To take advantage of our API you will need to reference our assemblies from your Visual Studio.NET solution. To add a reference to our assemblies simply right click on your project and go to "Add Reference" as shown below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/4.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 460px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/4.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You will need to browse to the InstantKB.NET installation folder and locate the "InstantASP.InstantKB.UI.dll" file within the "\bin" directory...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/5.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/5.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Adding this single assembly as a reference to your project will bring all other dependencies into your solution as shown below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/6.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/6.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Great. Now you've added references you'll just need to add a few settings to your root web site web.config file. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;2. Update your web.config&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You will need to modify your web sites web.config file to include the InstantKB.NET database connection string and virtual path...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/7.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 665px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/7.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Application settings&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In order for our assemblies to know which database to communicate with &amp;amp; which directly to search within for the Pages.config &amp;amp; URLRewrite.config file you will need to add the following application settings to your web.config file...&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&amp;lt;appSettings&amp;gt;&lt;br /&gt;    &amp;lt;add key="InstantASP_ConnectionString"     &lt;br /&gt;    value="Server=localhost;trusted_connection=true;database=InstantKB205;"/&amp;gt;&lt;br /&gt;    &amp;lt;add key="InstantASP_VirtualPath" value="/InstantKB20"/&amp;gt;&lt;br /&gt;&amp;lt;/appSettings&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Forms Authentication&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In order to take advantage of our built in role based security when querqueryingp; displaying articles you will need to add the following to your web.config file...&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&amp;lt;authentication mode="Forms"&amp;gt;&lt;br /&gt;    &amp;lt;forms name="InstantASP" loginUrl="Logon.aspx" &lt;br /&gt;    protection="All" slidingExpiration="true" path="/"/&amp;gt;&lt;br /&gt;&amp;lt;/authentication&amp;gt;&lt;/span&gt;&lt;br /&gt;You will need to add the following HTTP Module...&lt;br /&gt;&lt;br /&gt;&lt;p class="Code"&gt;&amp;lt;httpModules&amp;gt;&lt;br /&gt;    &amp;lt;!-- required to populate System.Web.HttpContext.Current.User --&amp;gt;&lt;br /&gt;    &amp;lt;add type="InstantASP.Common.HttpModule.SecurityModule, &lt;br /&gt;    InstantASP.Common" name="SecurityModule"/&amp;gt;&lt;br /&gt;&amp;lt;/httpModules&amp;gt;&lt;/p&gt;&lt;strong class="Header"&gt;4. Copy your InstantKB.NET folder into your web site&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Certain methods within our API require access to the configuration files provided with InstantKB.NET. For example if you wish to use our API to build up a dynamic URL to an article you will need to call methods within our API that depend on our Pages.config file. This file is a simple XML file that defines all the file names used within InstantKB.NET. This allows you to easily change the name of files to better suite your requirements.&lt;br /&gt;&lt;br /&gt;Because of this however when using our API from outside of InstantKB.NET you will need to let our assemblies know where to find the various configuration Files such as Pages.config, URLRewrite.config. Todthis imply add a copy of InstantKB.NET to your web site and ensure the InstantASP_VirtualPath setting within your root web.config is present and using the correct virtual path to your InstantKB.NET folder.&lt;br /&gt;&lt;br /&gt;If you don't want to install full copy of InstantKB.NET under your web site you can simply copy the Pages.config and URLRewrite.config files into the root of your InstantKB20 folder. Add the InstantKB20 folder (you can rename this) to your web site...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/8.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 403px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/8.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ensure the following Application setting is present in your root web.config file...&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&amp;lt;appSettings&amp;gt;&lt;br /&gt;    &amp;lt;add key="InstantASP_VirtualPath" value="/InstantKB20"/&amp;gt;&lt;br /&gt;&amp;lt;/appSettings&amp;gt;&lt;/span&gt; &lt;br /&gt;The value for this setting much match the name of your InstantKB.NET folder.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;5. Start Using our API within your web site / Vistual Studio.NET project&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Now you've added the asseassemblyerences and necessary web.config settings you can start using the methods within our API from your own web site. In this example we'll be showing how to bind articles to a grdiview and provide basic options to query the results.&lt;br /&gt;&lt;br /&gt;Lets add a gridview to our ASP.NET web form. Double-check the defualt.aspx file and select the "Design" Mode as shown below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/9.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 665px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/9.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Open your control toolbox on the left of the design surface and locate the GridView control...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/10.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/10.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Drag the GridView control into the designer. This should create a basic control as shown below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/11.gif" class="ApplyClass" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 665px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/11.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. Wire-up the GridView to show InstantKB.NET Articles&lt;br /&gt;&lt;br /&gt;Now we have a GridView control to work with the next step is to add some code within the Page_Load event to bind our articles to the GridView. You can do this with some simply code such as...&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: vb;"&gt;Partial Class _Default    Inherits System.Web.UI.Page#Region "Private VAraiables"Private m_User As InstantASP.InstantKB.Components.UserPrivate m_SearchEventArgs As InstantASP.InstantKB.Components.SearchEventArgs#End Region#Region "Public Properties"Public Property SearchEventArgs() As InstantASP.InstantKB.Components.SearchEventArgs    Get        If m_SearchEventArgs Is Nothing Then            m_SearchEventArgs = New InstantASP.InstantKB.Components.SearchEventArgs            m_SearchEventArgs.UserID = CurrentUser.UserID         End If        Return m_SearchEventArgs    End Get    Set(ByVal value As InstantASP.InstantKB.Components.SearchEventArgs)        m_SearchEventArgs = value    End SetEnd PropertyPublic ReadOnly Property CurrentUser() As InstantASP.InstantKB.Components.User    Get        If m_User Is Nothing Then            m_User = GetUser()        End If        Return m_User    End GetEnd Property#End Region#Region "Page Events"Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)    If Not Page.IsPostBack Then        ' bind data        BindData(GridView1.PageIndex, GridView1.PageSize, SearchEventArgs)    End If    MyBase.OnLoad(e)End Sub#End Region#Region "Private Methods"Private Sub BindData(ByVal intPageIndex As Int32, ByVal intPageSize As Int32, _ByVal SearchEventArgs As InstantASP.InstantKB.Components.SearchEventArgs)    ' setup gridview with current page index    GridView1.PageIndex = intPageIndex    GridView1.PageSize = intPageSize    ' build SQL statements based on search event args object    Dim strPopulateSQL As String = _    InstantASP.InstantKB.Business.Search.SQLPopulate(SearchEventArgs)    Dim strCountSQL As String = _    InstantASP.InstantKB.Business.Search.SQLCount(SearchEventArgs)    Dim strFulltextSQL As String = _    InstantASP.InstantKB.Business.Search.SQLFullTextMaxRank(SearchEventArgs)    ' return articles matching the search options &amp;amp; only within the page range    Dim ArticleCollection As InstantASP.InstantKB.Collections.ArticleCollection = _    InstantASP.InstantKB.Business.Articles.SelectArticlesPaged( _    intPageIndex, intPageSize, strPopulateSQL, strCountSQL, True, strFulltextSQL)    If Not ArticleCollection Is Nothing Then        GridView1.Visible = True        GridView1.DataSource = ArticleCollection        GridView1.DataBind()    Else        GridView1.Visible = False    End IfEnd Sub' -------------------------------------' helpers' -------------------------------------' get InstantKB.NET user objectPrivate Function GetUser() As InstantASP.InstantKB.Components.User    Dim User As InstantASP.InstantKB.Components.User = Nothing    If System.Web.HttpContext.Current.User.Identity.IsAuthenticated Then        User = InstantASP.InstantKB.Business.User.SelectUser( _        System.Web.HttpContext.Current.User.Identity.Name)    Else        User = New InstantASP.InstantKB.Components.AnonymousUser    End If    Return UserEnd FunctionPrivate Function GetCulture() As String    If CurrentUser.Culture &amp;lt;&amp;gt; "" Then        Return CurrentUser.Culture    End If    Return InstantASP.Common.Application.Settings.Instance().CultureEnd Function  #End RegionEnd Class &lt;/pre&gt;&lt;br /&gt;You'll notice we simply call our BindData method to obtain a collection of articles and bind these to our GridView. The SearchEventsArgs property allows you to filter results based on specific search criteria. You'll notice we populate the UserID property of the SearchEventArgs object when we initialize this object within the property. This UserID is required for role based security to work correctly and ensure only articles belonging to your member groups are displayed. &lt;br /&gt;&lt;br /&gt;We have two basic private helper methods to return the current authenticated user &amp;amp; the current culture for the application. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;7. Running the Sample&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;After implementing this code, if you build your solution (CTRL+F5) you should see something like...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/12.gif" class="ApplyClass" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/12.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;This indicates the InstantKB.NET article collection was returned and bound to your GridView control. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;8. Adding additional search capabilities&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Lets extend this example and add some basic search functionality. This will demonstrate how the InstantASP.InstantKB.Componanent.SearchEventArgs object can be used to filter and display different results based on search input.&lt;/p&gt;&lt;p&gt;We'll add a basic keyword search &amp;amp; three drop down lists. The first drop down list will contain a list of tabs and allow us to filter results by tab. The second drop down list will contain a list of status' from within InstantKB.NET and allow us to search by status &amp;amp; the third will contain a list of priorities and will allow us to filter articles by priority.&lt;/p&gt;&lt;p&gt;To get start open your Default.aspx file again within Design View. Expand your control toolbox and drag a textbox, button &amp;amp; three drop down lists onto your page designer as shown below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/13.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/13.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now we have our controls we'll need to modify the code-behind for our Default.aspx page. Within the solution explorer locate the "Default.aspx.vb" file. Open this and modify as shown below...&lt;/p&gt;&lt;pre class="brush: vb;"&gt;Partial Class _Default    Inherits System.Web.UI.Page#Region "Private VAraiables"Private m_User As InstantASP.InstantKB.Components.UserPrivate m_SearchEventArgs As InstantASP.InstantKB.Components.SearchEventArgs#End Region#Region "Public Properties"Public Property SearchEventArgs() As InstantASP.InstantKB.Components.SearchEventArgs    Get        If m_SearchEventArgs Is Nothing Then            m_SearchEventArgs = New InstantASP.InstantKB.Components.SearchEventArgs            m_SearchEventArgs.UserID = CurrentUser.UserID         End If        Return m_SearchEventArgs    End Get    Set(ByVal value As InstantASP.InstantKB.Components.SearchEventArgs)        m_SearchEventArgs = value    End SetEnd PropertyPublic ReadOnly Property CurrentUser() As InstantASP.InstantKB.Components.User    Get        If m_User Is Nothing Then            m_User = GetUser()        End If        Return m_User    End GetEnd Property#End Region#Region "Page Events"Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)    If Not Page.IsPostBack Then        ' populate tab drop down list        PopulateTabsDropDown()        ' populate status drop down list        PopulateStatusDropDown()        ' populate priority drop down list        PopulatePriorityDropDown()        ' bind data        BindData(GridView1.PageIndex, GridView1.PageSize, SearchEventArgs)    End If    MyBase.OnLoad(e)End Sub#End Region#Region "Private Methods"Private Sub BindData(ByVal intPageIndex As Int32, ByVal intPageSize As Int32, _ByVal SearchEventArgs As InstantASP.InstantKB.Components.SearchEventArgs)    GridView1.PageIndex = intPageIndex    GridView1.PageSize = intPageSize    ' build SQL statements based on search event args object    Dim strPopulateSQL As String = _    InstantASP.InstantKB.Business.Search.SQLPopulate(SearchEventArgs)    Dim strCountSQL As String = _    InstantASP.InstantKB.Business.Search.SQLCount(SearchEventArgs)    Dim strFulltextSQL As String = _    InstantASP.InstantKB.Business.Search.SQLFullTextMaxRank(SearchEventArgs)    ' return articles matching the search options &amp;amp; only within the page range    Dim ArticleCollection As InstantASP.InstantKB.Collections.ArticleCollection = _    InstantASP.InstantKB.Business.Articles.SelectArticlesPaged( _    intPageIndex, intPageSize, strPopulateSQL, strCountSQL, True, strFulltextSQL)    If Not ArticleCollection Is Nothing Then        GridView1.Visible = True        GridView1.DataSource = ArticleCollection        GridView1.DataBind()    Else        GridView1.Visible = False    End IfEnd SubPrivate Sub PopulateTabsDropDown()    ' get tab collection - pass userid for role based security    Dim TabCollection As InstantASP.InstantKB.Collections.TabCollection = _    InstantASP.InstantKB.Business.Tabs.SelectTabs(CurrentUser.UserID)    ' ensure we have a tab collection    If Not TabCollection Is Nothing Then        ' add empty item        DropDownList1.Items.Add("-")        ' get current culture        Dim strCulture As String = GetCulture()        ' enumerate through tabs        For intCount As Int32 = 0 To TabCollection.Count - 1            ' get tab            Dim Tab As InstantASP.InstantKB.Components.Tab = TabCollection(intCount)            ' get tab text            Dim strTabTExt As String = Tab.TabText(strCulture)            ' add list item            DropDownList1.Items.Add(New ListItem(strTabTExt, Tab.TabID.ToString()))        Next    End IfEnd SubPrivate Sub PopulateStatusDropDown()    ' get status collection    Dim StatusCollection As InstantASP.InstantKB.Collections.StatusCollection = _    InstantASP.InstantKB.Business.Status.SelectStatuses()    ' get tab collection - pass userid for role based security    Dim TabCollection As InstantASP.InstantKB.Collections.TabCollection = _    InstantASP.InstantKB.Business.Tabs.SelectTabs(CurrentUser.UserID)    ' ensure we have a tab collection    If Not TabCollection Is Nothing Then        ' add empty item        DropDownList2.Items.Add("-")        ' get current culture        Dim strCulture As String = GetCulture()        ' enumerate through tabs        For intCount As Int32 = 0 To TabCollection.Count - 1            ' get tab            Dim Tab As InstantASP.InstantKB.Components.Tab = TabCollection(intCount)            ' get tab text            Dim strTabTExt As String = Tab.TabText(strCulture)            ' get status collection for tab            Dim TabStatusCollection As InstantASP.InstantKB.Collections.StatusCollection = _            StatusCollection.FilterByTabID(Tab.TabID)            If Not TabStatusCollection Is Nothing Then                For intCount2 As Int32 = 0 To TabStatusCollection.Count - 1                    ' get status                    Dim Status As InstantASP.InstantKB.Components.Status = _                    TabStatusCollection.Item(intCount2)                    ' add list item                    DropDownList2.Items.Add(New ListItem( _                    strTabTExt + " - " + Status.Name, Status.StatusID.ToString()))                Next            End If        Next    End IfEnd SubPrivate Sub PopulatePriorityDropDown()    ' get prioirty collection    Dim PriorityCollection As InstantASP.InstantKB.Collections.PriorityCollection = _    InstantASP.InstantKB.Business.Priorities.SelectPriorities()    ' get tab collection - pass userid for role based security    Dim TabCollection As InstantASP.InstantKB.Collections.TabCollection = _    InstantASP.InstantKB.Business.Tabs.SelectTabs(CurrentUser.UserID)    ' ensure we have a tab collection    If Not TabCollection Is Nothing Then        ' add empty item        DropDownList3.Items.Add("-")        ' get current culture        Dim strCulture As String = GetCulture()        ' enumerate through tabs        For intCount As Int32 = 0 To TabCollection.Count - 1            ' get tab            Dim Tab As InstantASP.InstantKB.Components.Tab = TabCollection(intCount)            ' get tab text            Dim strTabTExt As String = Tab.TabText(strCulture)            ' get status collection for tab            Dim TabPriorityCollection As InstantASP.InstantKB.Collections.PriorityCollection = _            PriorityCollection.FilterByTabID(Tab.TabID)            If Not TabPriorityCollection Is Nothing Then                For intCount2 As Int32 = 0 To TabPriorityCollection.Count - 1                    ' get priority                    Dim Priority As InstantASP.InstantKB.Components.Priority = _                    TabPriorityCollection.Item(intCount2)                    ' add list item                    DropDownList3.Items.Add(New ListItem( _                    strTabTExt + " - " + Priority.Name, Priority.PriorityID.ToString()))                Next            End If        Next    End IfEnd Sub' -------------------------------------' helpers' -------------------------------------' get InstantKB.NET user objectPrivate Function GetUser() As InstantASP.InstantKB.Components.User    Dim User As InstantASP.InstantKB.Components.User = Nothing    If System.Web.HttpContext.Current.User.Identity.IsAuthenticated Then        User = InstantASP.InstantKB.Business.User.SelectUser( _        System.Web.HttpContext.Current.User.Identity.Name)    Else        User = New InstantASP.InstantKB.Components.AnonymousUser    End If    Return UserEnd FunctionPrivate Function GetCulture() As String    If CurrentUser.Culture &amp;lt;&amp;gt; "" Then        Return CurrentUser.Culture    End If    Return InstantASP.Common.Application.Settings.Instance().CultureEnd FunctionPrivate Sub BuildSearchEventArgsFromControls()    SearchEventArgs.Keywords = TextBox1.Text    If IsNumeric(DropDownList1.SelectedValue) Then        SearchEventArgs.TabID = CType(DropDownList1.SelectedValue, Int32)    End If    If IsNumeric(DropDownList2.SelectedValue) Then        SearchEventArgs.StatusID = CType(DropDownList2.SelectedValue, Int32)    End If    If IsNumeric(DropDownList3.SelectedValue) Then        SearchEventArgs.PriorityID = CType(DropDownList3.SelectedValue, Int32)    End IfEnd Sub#End Region#Region "Control Events"Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, _ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged    ' setup search options    BuildSearchEventArgsFromControls()    ' rebind data    BindData(GridView1.PageIndex, GridView1.PageSize, SearchEventArgs)End SubProtected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, _ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged    ' setup search options    BuildSearchEventArgsFromControls()    ' rebind data    BindData(GridView1.PageIndex, GridView1.PageSize, SearchEventArgs)End SubProtected Sub DropDownList3_SelectedIndexChanged(ByVal sender As Object, _ByVal e As System.EventArgs) Handles DropDownList3.SelectedIndexChanged    ' setup search options    BuildSearchEventArgsFromControls()    ' rebind data    BindData(GridView1.PageIndex, GridView1.PageSize, SearchEventArgs)End SubProtected Sub Button1_Click(ByVal sender As Object, _ByVal e As System.EventArgs) Handles Button1.Click    ' setup search options    BuildSearchEventArgsFromControls()    ' rebind data    BindData(GridView1.PageIndex, GridView1.PageSize, SearchEventArgs)End SubProtected Sub GridView1_PageIndexChanging(ByVal sender As Object, _ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging    BindData(e.NewPageIndex, GridView1.PageSize, SearchEventArgs)End Sub#End RegionEnd Class&lt;/pre&gt;&lt;br /&gt;After implementing the above code if you run the project (CTRL+F5) you'll notice we have basic search options pre-populated with the tabs, status' &amp;amp; priorities from within your InstantKB.NET database allowing you to select articles matching specific search critiria...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Uploads/Images/kb20api/14.gif" target="_blank"&gt;&lt;img alt="" style="width: 605px; height: 500px;" src="http://kb.instantasp.co.uk/Uploads/Images/kb20api/14.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The code for this is very similar to our first example however we've added additional code to populate the various drop down lists &amp;amp; setup the SearchEventArgs object before passing this object to the pages BingData method. The SearchEventArgs objects contains many properties you can use to filter results by different critiria.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;That's It&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I hope this article has been helpful. You can download the source code shown here below. As always should you have any questions please don't hesitate to &lt;a href="http://www.instantasp.co.uk/Contact/"&gt;contact us&lt;/a&gt; or leave your commetns below.&lt;br /&gt;</description><pubDate>Mon, 14 Sep 2009 16:30:50 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantKB.NET 2.0.5 to 2.0.6</title><link>http://kb.instantasp.co.uk/Goto11817.aspx</link><description>&lt;p&gt;This article details the steps necessary to update an existing InstantKB.NET 2.0.6 installation to the InstantKB.NET 2.0.6 release. You can also find information in this article on the additions, updates &amp;amp; fixes included within 2.0.6.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;2.0.6 Improvements &lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Export PDF&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Improved PDF export option. Now supports formatting (underline, bold, italics, bulleted lists), images, links &amp;amp; PDF properties...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment49.aspx" class="ApplyClass" target="_blank"&gt;&lt;img alt="" style="margin-right: 6px;" src="http://kb.instantasp.co.uk/Uploads/Images/PDF1Small.gif" /&gt;&lt;/a&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment50.aspx" target="_blank"&gt;&lt;img alt="" style="margin-left: 0px;" src="http://kb.instantasp.co.uk/Uploads/Images/PDF2Small.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To take advantage of the new PDF export option you will need to run InstantKB.NET in full trust. You can do this by modifying the following line within the web.config...&lt;/p&gt;&lt;p class="Code"&gt;&amp;lt;trust level ="Full"/&amp;gt;&lt;/p&gt;&lt;p&gt;If your not able to run InstantKB.NET in full trust (for example your on a shared server) please add the line below to the web.config and this will ensure InstantKB.NET falls back onto the medium trust PDF parser. This does not produce as good results as the full trust parser however it will ensure you can at least export a basic PDF without any exceptions.&lt;/p&gt;&lt;p&gt;Add the following application setting to your "web.config" file if your running InstantKB.NET in medium trust to ensure the PDF export feature works...&lt;/p&gt;&lt;p class="Code"&gt;&amp;lt;add key="InstantASP_MediumTrust" value="True"/&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;New Skin&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;We've updated the default "Classic" skin to bring this more inline with the forthcoming InstantForum.NET 4.2 update. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment51.aspx" class="ApplyClass" target="_blank"&gt;&lt;img alt="" style="margin-right: 2px;" src="http://kb.instantasp.co.uk/Uploads/Images/206small1.gif" /&gt;&lt;/a&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment52.aspx" target="_blank"&gt;&lt;img alt="" style="margin-left: 0px; margin-right: 2px;" src="http://kb.instantasp.co.uk/Uploads/Images/206small2.gif" /&gt;&lt;/a&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment53.aspx" target="_blank"&gt;&lt;img alt="" style="margin-left: 0px;" src="http://kb.instantasp.co.uk/Uploads/Images/206small3.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you still prefer the older skin you can still use this by selecting the "ClassicOld" skin as your default skin within the application settings.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Improved Search UI&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Made some nice improvements to search...&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/InstantKB206Search.gif" /&gt;&lt;br /&gt;&lt;br /&gt;2.0.6 Important Changes&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;The Visual Studio.NET solution has been updated to 2008 by default&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The Visual Studio.NET solution has been updated to Visual Studio.NET 2008 by default and you won't be able to open the 2.0.6 solution file in Visual Studio.NET 2005. InstantKB.NET 2.0.6 will of course still work with either the .NET 2.0 or 3.5 frameworks so this should not affect production installations.&lt;/p&gt;&lt;p&gt;Our forthcoming InstantForum.NET 4.2 update requires at minimum the .NET 3.5 SP1 framework. This is because we use some of the AJAX features that where introduced with .NET 3.5 SP1 update (things like JSON serialization &amp;amp; the history control). These are not supported in ASP.NET AJAX 1.0. Extensions &lt;/p&gt;&lt;p&gt;We want to start using these features within InstantKB.NET and as such as of InstantKB.NET 2.1 we will be moving to .NET 3.5. &lt;br /&gt;&lt;strong class="Header"&gt;&lt;br /&gt;2.0.6 Fixes&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Fixed rendering issue with WYSIWYG editor in IE8 on add / edit article pages &lt;/li&gt;    &lt;li&gt;Staff &amp;amp; Admin CP Notepads now both use AJAX &lt;/li&gt;    &lt;li&gt;Fixed issue with German / Umlaut characters when adding categories to the tree-view &lt;/li&gt;    &lt;li&gt;Consolidated R.a.d Controls into our own skinning system (no need for a separate folder) &lt;/li&gt;    &lt;li&gt;Reports will now work in a medium trust ASP.NET hosting environments &lt;/li&gt;    &lt;li&gt;Accessibility &amp;amp; SEO improvements to the various dynamic menus used throughout InstantKB.NET &lt;/li&gt;    &lt;li&gt;Fixed issue with some login &amp;amp; search redirects if you have the "Search Engine Friendly URLs" option enabled &lt;/li&gt;    &lt;li&gt;Fixed issue sorting secondary categories if they are added to a datagrid view &lt;/li&gt;    &lt;li&gt;Fixed a number of pages which were not strict W3C XHTML &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;------------------------------------------------&lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;How to upgrade from 2.0.5 to 2.0.6&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Download InstantKB.NET 2.0.6&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Download the 2.0.6 update from your &lt;a href="http://my.instantasp.co.uk/MyLicenses.aspx"&gt;My.InstantASP area&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;If your an existing 2.x customer the 2.0.6 download will be available automatically on your My Licenses page at &lt;a href="http://my.instantasp.co.uk/MyLicenses.aspx" target="_blank"&gt;http://my.instantasp.co.uk/MyLicenses.aspx&lt;/a&gt;. Download the 2.0.6 update and extract the contents of the zip file to your desktop. This will create a new folder on your desktop called InstantKB205DEV or InstantKB205EUL depending on your license.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Update your existing 2.0.5 files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The quickest way to update is to simply copy the entire contents of the "InstantKB20" folder (&lt;strong&gt;excluding web.config file - see changes below&lt;/strong&gt;) again to your current InstantKB.NET installation. This will replace all existing 2.0.5 files. If you choose to replace all files you may wish to skip the Skin\Classic\MasterPage.master file to preserve any changes to your existing master page. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Replacing only the updated files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;If you've customized / modified a number of InstantKB.NET files you may wish to simply copy only the updated files into your installation. You can find a list below of all updated files within the 2.0.6 release. There are no new files with this update. You'll need to ensure you update the existing files with the latest versions from the 2.0.6 download.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;3. Update your existing 2.0.5 database&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;No database changes are required to move from 2.0.5 to 2.0.6.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Updated InstantKB.NET 2.0.6 Files&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following files have been updated with the 2.0.6 update. If you wish to only apply the updated files you should copy the files from the InstantKB.NET 2.0.6 download listed below into your existing 2.0.5 installation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Web.config&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;You will need to add the following HTTP handlers to your web.config...&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&amp;lt;httpHandlers&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- required telerik httphandlers --&amp;gt; &lt;br /&gt;&amp;lt;add verb="*" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.Upload.RadUploadProgressHandler, Telerik.Web.UI"/&amp;gt;&lt;br /&gt;&amp;lt;add verb="*" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4"&amp;gt;&amp;lt;/add&amp;gt;&lt;br /&gt;&amp;lt;add verb="*" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4"&amp;gt;&amp;lt;/add&amp;gt; &lt;br /&gt;&amp;lt;add verb="*" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler, Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4" validate="false"/&amp;gt;&lt;br /&gt;&amp;lt;add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI" validate="false"/&amp;gt;&lt;br /&gt;&amp;lt;add verb="*" validate="false" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI"/&amp;gt;&lt;br /&gt;&amp;lt;!-- /required telerik httphandlers --&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/httpHandlers&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Updated Assemblies&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following assemblies will need updating...&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;InstantASP.Common.dll &lt;/li&gt;    &lt;li&gt;InstantASP.Common.Configuration.dll &lt;/li&gt;    &lt;li&gt;InstantASP.Common.Data.dll &lt;/li&gt;    &lt;li&gt;InstantASP.Common.UI.dll &lt;/li&gt;    &lt;li&gt;InstantASP.InstantKB.dll &lt;/li&gt;    &lt;li&gt;InstantASP.InstantKB.Data.dll &lt;/li&gt;    &lt;li&gt;InstantASP.InstantKB.UI.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;New Assemblies&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;You will need to add the new Telerik.Web.UI.dll to your existing 2.0.5 installation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Old Assemblies &lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;You can safely delete the following assemblies once upgraded to 2.0.6...&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;RadCalendar.Net2.dll &lt;/li&gt;    &lt;li&gt;RadChart.Net2.dll &lt;/li&gt;    &lt;li&gt;RadEditor.Net2.dll &lt;/li&gt;    &lt;li&gt;RadInput.Net2.dll &lt;/li&gt;    &lt;li&gt;RadSpell.NET2.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Root Web File Changes&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;The following files within the root of your InstantKB.NET installation will need updating...&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;\ExportPDF.aspx &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Root Web Folder Changes&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The "JavaScript" folder within the root of the InstantKB.NET web site has been renamed to "js".&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Root Web Updated Folder&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You should delete your existing "RadControls" folder within the root of your InstantKB.NET 2.0.x installation and replace this with the RadControls folder within the root of the InstantKB20 folder provided within InstantKB.NET 2.0.6. &lt;br /&gt;&lt;br /&gt;The updated RadControls folder within the web site root with 2.0.6 should now only contain a single child folder called "Editor". This folders contains the various configuration &amp;amp; toolbar files for the editor used within InstantKB.NET. The skins for the editor have now been moved into each skin folder (see below).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;New Skin Folder&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="color: #c0504d;"&gt;IMPORTANT:&lt;/span&gt;&lt;/strong&gt; You will need to copy the "RadControls" folder from any of the InstantKB.NET 2.0.6 skins (\Skins\Classic\RadControls) into your previous InstantKB.NET 2.0.x skin(s). This is shown below...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/206NewSkinFolder.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Skin Files Updates&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;If you've created your own skin for InstantKB.NET you will need to copy the following files into your skin folder. If you've customized the CSS for your skin we would suggest using a tool like WinMerge to see the changes we've introduced and apply these to your CSS.&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;\Skins\Classic\Admin\admindefault.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\admineditfieldtemplate.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\admineditworkflowstep.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\admininsertfieldtemplate.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\adminmanagefieldtemplates.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminappversion.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\admingettingstarted.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\admininsertupdatemember.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminleftpane.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminleftpaneonlinestaff.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminnotepad.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminsettingsdatabasetables.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewfieldtemplates.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewreport.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewviews.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewworkflownextsteps.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewworkflownotifications.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewworkflowpermissions.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewworkflows.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Admin\Controls\adminviewworkflowstepwizard.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\addarticlecomments.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\footeroptions.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\mainnavigation.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\usercpeditsettings.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\usercpeditsignature.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\usercpnotepad.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\viewarticles.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\viewglossary.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\viewsearchoptions.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Controls\viewtab.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\exportpdf.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffinsertupdatearticleattachments.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffinsertupdatearticlerelatedlinks.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffinsertupdatearticletags.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffinsertupdatecomment.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffinsertupdateglossaryterm.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffinsertupdatetroubleshooterstep.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffleftpane.ascx &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Staff\Controls\staffnotepad.ascx &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;CSS Files&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;\Skin\Classic\Styles\InstantASP.Common.UI.Admin.css &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Styles\InstantASP.Common.UI.css &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Styles\InstantASP.InstantKB.UI.css &lt;/li&gt;    &lt;li&gt;\Skin\Classic\Styles\RadEditorCssClasses.xml &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;New Skin Image Filers&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;\Skins\Classic\Images\PanelBarFooterBG.gif &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Images\PanelBarFooterLeft.gif &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Images\PanelBarFooterRight.gif &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Images\PanelBarHeaderBG.gif &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Images\PanelBarHeaderLeft.gif &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Images\PanelBarHeaderRight.gif &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Images\PanelBar_SubHeaderBG.gif &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;JavaScript Files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The following JavaScript files will require updating...&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;\js\InstantASP_Common.js &lt;/li&gt;    &lt;li&gt;\js\InstantASPTreeView.js &lt;/li&gt;    &lt;li&gt;\js\IInstantKB.js &lt;/li&gt;&lt;/ul&gt;&lt;p&gt; You can delete \js\InstantASPTransitions.js as of InstantKB.NET 2.0.6.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Language Pack Files&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;To accomodate for the new strings within 2.0.6 you will need to replace your Respirces.xml file.&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;\Globalization\en-US\Resources.xml &lt;/li&gt;    &lt;li&gt;\Globalization\en-US\Strings.js &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong class="Header"&gt;Database Changes&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;No changes required.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;That's It!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Once you've updated the files listed above and updated your database you should visit your existing InstantKB.NET installation. If everything was successful you should be able to continue using your knowledgebase as before. As always if you have any questions or run into any problems during the upgrade don't hesitate to leave your comments below, &lt;a href="http://my.instantasp.co.uk/MyTickets.aspx"&gt;open a support ticket&lt;/a&gt; or &lt;a href="http://www.instantasp.co.uk/Contact/"&gt;contact us&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 10 Aug 2009 11:56:31 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Integrated Authentication with the InstantKB.NET Active Directory Module</title><link>http://kb.instantasp.co.uk/Goto11814.aspx</link><description>One of the queries we most often receive from customers/users of our Active Directory Module, is "How can I bypass the login step altogether and use my Active Directory/Windows Credentials to authenticate to the system". This is certainly a feature we spent alot of time on in the development of our LDAP module, and this article will hopefully shed some light on this.&lt;br /&gt;&lt;br /&gt;&lt;font class="Header"&gt;Client Configuration&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Firstly, you should note that all clients must have their browsers configured to enable integrated windows authentication, without this, your browser will not send your existing credentials to the server for validation. To enable this in Internet Explorer, simply go to &lt;br /&gt;&lt;br /&gt;Tools -&gt; Internet Options -&gt; Advanced&lt;br /&gt;&lt;br /&gt;and ensure the option in the "Security" area of the tree 'Enable Integrated Windows Authentication' is checked.&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/IEActiveDirectory.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;font class="Header" face="Trebuchet MS" color="#3c71a6"&gt;Server Configuration&lt;/font&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You will find a page added to the KB by the LDAP module "WinLogin.aspx", which handles all seamless logins, this page takes the passed windows credentials and feeds them into the LDAP module, which then processes authentication and uses several verification/safety steps to ensure that the system is not compromised.&lt;br /&gt;&lt;br /&gt;It is Vital that any client attempting this, is already authenticated to the relevant active directory domain, if they are not, then you will need to trigger this at the server level. Ways to do this vary between IIS 5.0, 6.0 and 7.0, the most common is to set your IIS Security settings to require Windows Authentication to access WinLogin.aspx.&lt;br /&gt;&lt;br /&gt;If you wish to be automatically logged in if you are authenticated, you will need to make this page your default page, however, in this case, any users non-authenticated (if you have correctly configured windows authentication on this file) will receive an HTTP 403.2 Error 'Read Access Denied', or a 401.3 Access forbidden area. as such you will need to access the custom errors tab of the website within IIS as illustrated:&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/CustomErrors.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class="Header"&gt;Alternate Windows Integrated Access Strategies&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;Alternatively, you can have a sub0domain or some other method, which points towards WinLogin.aspx deliberately, exclusively for your Pre-Authenticated users, and everyone else may use the existing login/authentication system.&lt;br /&gt;&lt;br /&gt;We reccomend for security reasons, that ONLY internal users use the WinLogin method, and that all external users use the provided authentication form, which may or may not authenticate via Active directory as per your specified configuration.&lt;br /&gt;&lt;br /&gt;&lt;font class="Header"&gt;Further Reading for Advanced Administrators&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;The most complex configuration to run, is one with complete seamless windows authentication, and forms authentication, side by side within the same environment, this is made difficult because of the architecture of IIS and was chief among our considerations in the development of the Active Directory Module, &lt;br /&gt;&lt;br /&gt;The related links below may be of use to you when configuring windows authentication with your installation of the AD Module.&lt;br /&gt;&lt;br /&gt;Should you have any questions please don't hesitate to post your comment below or &lt;a href="http://www.instantasp.co.uk/Support/"&gt;contact us&lt;/a&gt;.</description><pubDate>Wed, 13 May 2009 14:49:25 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>InstantForum.NET Language Packs</title><link>http://kb.instantasp.co.uk/Goto11812.aspx</link><description>&lt;p&gt;We've attached below the various community developed language packs available for InstantForum.NET.&lt;/p&gt;&lt;p&gt;Currently language packs are available for German (de-DE), French Canadian (fr-CA), Romanian (ro-RO and Swedish (se-SE).&lt;br /&gt;&lt;br /&gt;Please remember these additional language packs are community developed and as such we can't guarantee the quality or accuracy of these language packs.&lt;br /&gt;&lt;br /&gt;For instructions on how to apply language packs to InstantForum.NET please see...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://docs.instantasp.co.uk/InstantForum/creatingalanguagepack.html" target="_blank"&gt;http://docs.instantasp.co.uk/InstantForum/creatingalanguagepack.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you have a language pack for InstantForum.NET or indeed any updates to our existing language packs and would like to make your work available here please email me directly on &lt;a href="mailto:ryan@instantasp.co.uk"&gt;ryan@instantasp.co.uk&lt;/a&gt; or post a comment below. &lt;/p&gt;</description><pubDate>Tue, 12 May 2009 13:13:11 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Conditionally displaying localized forums using a custom query-string parameter within InstantForum.NET</title><link>http://kb.instantasp.co.uk/Goto11810.aspx</link><description>This article shows how to use a single InstantForum.NET installation to provide multi-lingual versions of your forums.&lt;br /&gt;&lt;br /&gt;For this example to work you need to ensure your forum names are structured and have a consistent naming convention based on the language they will target and the name of the culture querystring passed into the forum. This example will look for the string passed into the Culture querystring within your forum titles and only display those that contain matching text.&lt;br /&gt;&lt;br /&gt;For example if you have an existing web site and which to provide a link to both an English and French Canadian version of your forums you could use two links as shown below...&lt;br /&gt;&lt;br /&gt;http://forum.domain.com/?Culture=en-US &lt;br /&gt;http://forum.domain.com/?Culture=fr-CA&lt;br /&gt;&lt;br /&gt;Depending on which link you clicked the forum would attempt to filter forums based on the culture and also default to the language pack for that culture if available within the Globalization folder.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="Header"&gt;&lt;b&gt;1. Persist the culture querystring into a client side cookie&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/strong&gt;Open InstantASP.InstantForum.UI\MasterPages\MasterPage.vb. Modify the AddParsedSubObjects method as shown below.&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;Protected Overrides Sub AddParsedSubObject(ByVal obj As Object)&lt;br /&gt;&lt;br /&gt;&lt;font style="BACKGROUND-COLOR: #ffff80" size="+0"&gt;    ' check for culture querystring&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;    If System.Web.HttpContext.Current.Request.QueryString("Culture") &amp;lt;&gt; "" Then&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;/font&gt;&lt;font style="BACKGROUND-COLOR: #ffff80" size="+0"&gt;         InstantASP.Common.HttpUtility.Cookies.SetCookie("forumCulture", _&lt;br /&gt;         System.Web.HttpContext.Current.Request.QueryString("Culture"))&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;    End If&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;    If TypeOf obj Is InstantASP.InstantForum.UI.Controls.Content Then&lt;br /&gt;         Me.ArrListContents.Add(obj)&lt;br /&gt;    Else&lt;br /&gt;         Me.DefaultControl.Controls.Add(DirectCast(obj, System.Web.UI.Control))&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;This will save the value of the "Culture" querystring to a client side cookie. We will be using this cookie to determine which language pack to default to and also which forums we should remove from the collection to display only forums for that culture.&lt;strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Header"&gt;&lt;b&gt;2. Set the default Language Pack&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/strong&gt;If a language pack exists that matches your Culture querystring parameter you can modify the forum to use this language pack by default.&lt;br /&gt;&lt;br /&gt;Open InstantASP.InstantForum\HttpContext\ForumContext.vb. Locate the "GetCurrentCulture" property and modify as shown below...&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&lt;strong&gt;Private ReadOnly Property GetCurrentCulture() As String&lt;br /&gt;    Get&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;font style="BACKGROUND-COLOR: #ffff80"&gt;&lt;span style="BACKGROUND-COLOR: rgb(255,255,0)"&gt;&lt;strong&gt;   &lt;/strong&gt;&lt;font style="BACKGROUND-COLOR: #ffff80"&gt;&lt;strong&gt; Dim CultureCookie As System.Web.HttpCookie = _&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;    InstantASP.Common.HttpUtility.Cookies.GetCookie("forumCulture")&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;strong&gt;&lt;font style="BACKGROUND-COLOR: #ffff80"&gt;    If Not CultureCookie Is Nothing Then&lt;br /&gt;         If System.IO.Directory.Exists(InstallPath + _&lt;br /&gt;         InstantASP.InstantForum.Globals.Paths.GlobalizationDirectory + _&lt;br /&gt;         "\" + CultureCookie.Value) Then&lt;br /&gt;              Return CultureCookie.Value&lt;br /&gt;         End If&lt;br /&gt;    End If&lt;/font&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;strong&gt;    If System.Web.HttpContext.Current.Request.IsAuthenticated Then&lt;br /&gt;         If GetCurrentUser.Culture &amp;lt;&gt; "" Then&lt;br /&gt;              Return GetCurrentUser.Culture&lt;br /&gt;         Else&lt;br /&gt;              Return CurrentSharedSettings.Culture&lt;br /&gt;         End If&lt;br /&gt;    Else&lt;br /&gt;         Return CurrentSharedSettings.Culture&lt;br /&gt;    End If&lt;br /&gt;    End Get&lt;br /&gt;End Property&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Header"&gt;3. Filter forums based on the culture cookie&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;You can use the value within the culture cookie to build a new forum collection containing only the forums for the current culture. This allows you to hide your French Canadian forums for your English visitors and visa-versa.&lt;br /&gt;&lt;br /&gt;You will need to open \InstantASP.InstantForum.UI\Controls\ViewForumGroups.vb and modify the BindData method as shown below...&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&lt;strong&gt;Private Sub BindData()&lt;br /&gt;&lt;br /&gt;    ' we don't have a forum, display index&lt;br /&gt;     If Forum Is Nothing Then&lt;br /&gt;         .. removed code here to make this sample more readable&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;font style="BACKGROUND-COLOR: #ffff80"&gt;&lt;strong&gt;   &lt;/strong&gt;&lt;font style="BACKGROUND-COLOR: #ffff80"&gt;&lt;strong&gt; Dim CultureCookie As System.Web.HttpCookie = _&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;    InstantASP.Common.HttpUtility.Cookies.GetCookie("forumCulture")&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;strong&gt;&lt;font style="BACKGROUND-COLOR: #ffff80"&gt;    Dim FilterdForumCollection As InstantASP.InstantForum.Collections.ForumCollection = Nothing&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;    If Not CultureCookie Is Nothing Then&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;         FilterdForumCollection = New InstantASP.InstantForum.Collections.ForumCollection&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;         For i As Int32 = 0 To ForumCollection.Count - 1&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;              Dim Forum As InstantASP.InstantForum.Components.Forum = ForumCollection.Item(i)&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;              ' add forum groups that contain our culture within the forum name &lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;              ' to the new filterdforumcollection, this only filters forum groups &lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;              If Forum.Name.ToLower.IndexOf(CultureCookie.Value.ToLower()) &gt; -1 Then&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;                   FilterdForumCollection.Add(Forum)&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;              End If&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;         Next&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;    End If&lt;/font&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;&lt;strong&gt;    ' do we have a collection?&lt;br /&gt;    If ForumCollection.Count &gt; 0 Then&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font style="BACKGROUND-COLOR: #ffff80"&gt;         ' bind group forum collection to repeater&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;         If Not FilterdForumCollection Is Nothing Then&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;              ctlForumGroups.DataSource = FilterdForumCollection&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;         Else&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;              ctlForumGroups.DataSource = ForumCollection&lt;br style="BACKGROUND-COLOR: rgb(255,255,0)" /&gt;         End If&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;         ' bind data to repeater&lt;br /&gt;         ctlForumGroups.DataBind()&lt;br /&gt;&lt;br /&gt;    Else ' hide the control&lt;br /&gt;&lt;br /&gt;         ' disable controls&lt;br /&gt;         Me.Visible = False&lt;br /&gt;&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;End Sub&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;This will fiilter forum groups and only display those groups which contain the string contained within the Culture querystring / cookie within the group name. For example if you link to your forums with the culture http://forum.comain.com/?Culture=fr-CA only forum groups which contain "fr-CA" will be displayed. Other forum groups will be hidden. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="Header"&gt;That's It&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Don't forget once you've made the changes above you will need to rebuild the InstantForum.NET solution. Whilst there are improvements that can be made to this sample it shows the basic steps to control the default culture of your forums automatically using a querystring parameter. I hope this was helpful and would welcome any comments or suggestions below.&lt;br /&gt;</description><pubDate>Tue, 05 May 2009 11:42:54 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantKB.NET 2.0.4 to 2.0.5</title><link>http://kb.instantasp.co.uk/Goto11808.aspx</link><description>&lt;p&gt;This article details the steps necessary to update an existing InstantKB.NET 2.0.4 installation to the InstantKB.NET 2.0.5 release. You can also find information in this article on the additions, updates &amp;amp; fixes included within 2.0.5.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;2.0.5 Additions &amp;amp; Updates&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;New Additional Skin&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt; This skin has been designed to demonstrate some of the ways you can visually customize InstantKB.NET. This new skin can be used as a basis for further customizations This also provides a simple alternative way to navigate &amp;amp; search your knowledge.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt; &lt;a href="/Attachment26.aspx" target="_blank"&gt;&lt;img src="/Uploads/Images/Bloggish1.gif" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt; &lt;a href="/Attachment27.aspx" target="_blank"&gt;&lt;img src="/Uploads/Images/Bloggish2.gif" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt; &lt;a href="/Attachment28.aspx" target="_blank"&gt;&lt;img src="/Uploads/Images/Bloggish3.gif" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;You can view the new skin within our online demo at &lt;a href="http://demos.instantasp.co.uk/InstantKB20/" target="_blank"&gt;http://demos.instantasp.co.uk/InstantKB20/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Search multiple tabs and / or categories&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;We received lots of requests for this feature. You can now use the AJAX enabled tree-view control to select (using checkboxes) specific tabs and / or categories to search. You can now easily show all results from any specific tabs and / or categories of interest. &lt;br /&gt;&lt;br /&gt;As with all other results within InstantKB.NET the live RSS feed can be used to subscribe to results for specific tabs or categories.You can now create a single RSS feed to easily subscribe to all tabs &amp;amp; categories to stay informed of new content.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;img src="/Uploads/Images/NewSearchOptions.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Search by Type&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;We've also added a new drop down list below the keywords field within 2.0.5 as shown above to allow you to search for content by type. This again allows you to also subscribe to RSS feeds for any content types. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Improved Quick Edit Options&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;With InstantKB.NET 2.0.5 the front-end quick edit options have been enhanced for staff members to provide further options...&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/QuickEditOptions.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sort User Comments&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;You can now sort comments within InstantKB.NET by date ascending or descending or votes. The order you choose to sort by will be persisted within a cookie. This allow users to customize how user comments should appear....&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/SortComments.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Improved User Comment Rating&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;We've revised the rating system for user submitted comments. It was not clear in the previous system how many up votes a comment had received. The new system will hopefully also encourages further user participation as it's much more obvious you can rate comments and should allow visitors to find helpful information quickly by being able to see at a glance helpful comments. &lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/RateComment.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Global Tag Delete&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Administrators will now see a small (x) hyperlink next to each tag within the tag cloud. This allows you to now easily delete tags globally within InstantKB.NET. This will delete the tag from all content within InstantKB.NET.&lt;br /&gt;&lt;strong class="Header"&gt;&lt;br /&gt;2.0.5 Fixes&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Fixed issue with duplicate uploads appearing if you choose to save attachments to the file system.&lt;/li&gt;&lt;li&gt;Fixed issue when deleting uploads within custom fileupload fields. &lt;/li&gt;&lt;li&gt;Fixed issue which allowed administrators to change the content type of the default tabs.&lt;/li&gt;&lt;li&gt;Fixed issue with "Login Landing Page" defined within the application settings not being used.&lt;/li&gt;&lt;li&gt;Fixed textbox overlay issue wjem  editing long category names within the tree=view control&lt;/li&gt;&lt;li&gt;InstantKB.NET  will now default to the Classic skin if a skin folder is deleted without the database being updated.&lt;/li&gt;&lt;li&gt;Fixed issue with staff notepad permissions not applying correctly.&lt;/li&gt;&lt;li&gt;Fixed issue with secondary categories not always being selected correctly.&lt;/li&gt;&lt;li&gt;Fixed issue  with first comment not appearing immediately after posting.&lt;/li&gt;&lt;li&gt;Fixed issue with comment rating cache not clearing correctly. Comment ratings should now be updated immediately.&lt;/li&gt;&lt;li&gt;Optimized core CSS files to reduce unnessercary CSS attributes&lt;/li&gt;&lt;li&gt;Fixed issue which prevented Staff CP from loading if no staff permission set exists.&lt;/li&gt;&lt;li&gt;Fixed JavaScript error which occasionally occurred when rating articles using the AJAX based rating control.&lt;/li&gt;&lt;li&gt;Fixed issue with plus (+) character being removed from tags.&lt;/li&gt;&lt;li&gt;Fixed issue with search generating exception if your search term contains only ignored search terms..&lt;/li&gt;&lt;li&gt;Fixed issue with tag tooltips rendering invalid XHTML.&lt;/li&gt;&lt;li&gt;Fixed issue with user comments not showing correct rating.&lt;/li&gt;&lt;li&gt;Fixed issue with member list not sorting by last login date by default.&lt;/li&gt;&lt;li&gt;Fixed invalid XHTML attributes within user control panel.&lt;/li&gt;&lt;li&gt;Fixed issue with article breadcrumb link not working correctly.&lt;/li&gt;&lt;li&gt;Backloaded code to support the InstantKB.NET Active Directory Module.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;------------------------------------------------&lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;How to upgrade from 2.0.4 to 2.0.5&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Download InstantKB.NET 2.0.5&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Download the 2.0.5 update from your &lt;a href="http://my.instantasp.co.uk/MyLicenses.aspx"&gt;My.InstantASP area&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;If your an existing 2.x customer the 2.0.5 download will be available automatically on your My Licenses page at &lt;a href="http://my.instantasp.co.uk/MyLicenses.aspx" target="_blank"&gt;http://my.instantasp.co.uk/MyLicenses.aspx&lt;/a&gt;. Download the 2.0.5 update and extract the contents of the zip file to your desktop. This will create a new folder on your desktop called InstantKB205DEV or InstantKB205EUL depending on your license.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Update your existing 2.0.4 files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The quickest way to update is to simply copy the entire contents of the "InstantKB20" folder (&lt;strong&gt;excluding web.config file&lt;/strong&gt;) again to your current InstantKB.NET installation. This will replace all existing 2.0.4 files. If you choose to replace all files you may wish to skip the web.config and Skin\Classic\MasterPage.master file to preserve your database connection string and any visual customization's. If you own a single server license or are behind a firewall and received a file based license you should ensure you have a backup of your "\Bin\InstantASP_Licenses.config" file to restore this once the update is complete.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Replacing only the updated files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;If you've customized / modified a number of InstantKB.NET files you may wish to simply copy only the updated files into your installation. You can find a list below of all updated files within the 2.0.5 release. There are no new files with this update. You'll need to ensure you update the existing files with the latest versions from the 2.0.5 download.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;3. Update your existing 2.0.4 database&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Once you've updated your files you'll need to run a script against your InstantKB.NET SQL Server database to upgrade the database to version  2.0.5. There are To update your database you'll need to first connect to your database within SQL Server Management Studio or Enterprise Manager. &lt;br /&gt;&lt;br /&gt;Once connected you'll need to open the "&lt;strong&gt;InstantKB20\DatabaseScripts\UpgradeScripts\2.0.4_to_2.0.5.sql&lt;/strong&gt;" file and execute this SQL file against your InstantKB.NET 2.0.4 database. You can also find the upgrade script attached to at the bottom of this article.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Updated InstantKB.NET 2.0.5 Files&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following files have been updated with the 2.0.5 update. If you wish to only apply the updated files you should copy the files from the InstantKB.NET 2.0.5 download listed below into your existing 2.0.4 installation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Assemblies&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;All assemblies will need updating...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;InstantASP.Common.dll&lt;/li&gt;&lt;li&gt;InstantASP.Common.Configuration.dll&lt;/li&gt;&lt;li&gt;InstantASP.Common.Data.dll&lt;/li&gt;&lt;li&gt;InstantASP.Common.UI.dll&lt;/li&gt;&lt;li&gt;InstantASP.InstantKB.dll&lt;/li&gt;&lt;li&gt;InstantASP.InstantKB.Data.dll&lt;/li&gt;&lt;li&gt;InstantASP.InstantKB.UI.dll&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Skin Files&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You will need to update the following skin files. You will need to copy these files from the 2.0.5 release into all existing 2.0.4 skins...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;\Skins\Classic\Admin\Controls\AdminInsertUpdateTab.ascx&lt;/li&gt;&lt;li&gt;\Skins\Classic\Admin\Controls\AdminInsertUpdateStaffPermissionset.ascx&lt;/li&gt;&lt;li&gt;\Skins\Classic\Controls\Header.ascx&lt;/li&gt;&lt;li&gt;\Skins\Classic\Controls\ViewSearchOptions.ascx&lt;/li&gt;&lt;li&gt;\Skins\Classic\Controls\ViewArticleComments.ascx&lt;/li&gt;&lt;li&gt;\Skins\Classic\Controls\TreeView.ascx&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;CSS Files&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;The following CSS files have been updated with 2.0.5. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;\Skins\Classic\Styles\InstantASP.Common.UI.Admin.css&lt;/li&gt;&lt;li&gt;\Skins\Classic\Styles\InstantASP.Common.UI.css&lt;/li&gt;&lt;li&gt;\Skins\Classic\Styles\InstantASP.InstantKB.UI.css&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;JavaScript Files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The following JavaScript files will require updating...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;\JavaScript\InstantASP_Common.js&lt;/li&gt;&lt;li&gt;\JavaScript \InstantASPTreeView.js&lt;/li&gt;&lt;li&gt;\JavaScript \InstantASPTransitions.js&lt;/li&gt;&lt;li&gt;\JavaScript\IInstantKB.js&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Language Pack Files&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;To accomodate for the new strings within 2.0.5 you will need to replace your Respirces.xml file.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;\Globalization\en-US\Resources.xml&lt;/li&gt;&lt;li&gt;\Globalization\en-US\Strings.js&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong class="Header"&gt;Database Changes&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Stored Procedures&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following stored procedures have been updated with the 2.0.5 update. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;ikb_sp_InsertAttachment&lt;/li&gt;&lt;li&gt;ikb_sp_InsertArticleCommentRating&lt;/li&gt;&lt;li&gt;ikb_sp_InsertArticleRating&lt;/li&gt;&lt;li&gt;ikb_sp_SelectArticleComments&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The following stored procedures have been added with InstantKB.NET 2.0.5...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;iasp_sp_DeleteTag&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;New Table Columns&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;InstantKB_Attachments.DisplayFileName - nvarchar(255)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;You can find a script to update your existing InstanKB.NET 2.0.4 stored procedures attached below. You can also find this script within the InstantKB.NET 2.0.5 download at "\InstantKB20\DatabaseSCripts\UpgradeScripts\2.0.4_to_2.0.5.sql".&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;That's It!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Once you've updated the files listed above and updated your database you should visit your existing InstantKB.NET installation. If everything was successful you should be able to continue using your knowledgebase as before. As always if you have any questions or run into any problems during the upgrade don't hesitate to leave your comments below, &lt;a href="http://my.instantasp.co.uk/MyTickets.aspx"&gt;open a support ticket&lt;/a&gt; or &lt;a href="http://www.instantasp.co.uk/Contact/"&gt;contact us&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Mon, 27 Apr 2009 16:58:39 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantKB.NET 1.3 to 2.0</title><link>http://kb.instantasp.co.uk/Goto11809.aspx</link><description>&lt;p&gt;This document details the steps to upgrade an existing InstantKJB.NET 1.3 installation to the latest InstantKB.NET 2.0 release.&lt;br /&gt;&lt;br /&gt;We've broke the upgrade process ito four simple steps...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Install a fresh instance of &lt;b&gt;InstantKB.NET&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You should download and install the latest InstantKB.NET 2.0 release. You can find further information on how to download &amp;amp; install the update can be found in the link below...&lt;br /&gt;&lt;br /&gt;&lt;a href="/Documentation/Installing-InstantKB.NET"&gt;http://kb.instantasp.co.uk/Documentation/Installing-InstantKB.NET&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You should follow the steps detailed in this article to install a fresh instance of InstantKB.NET 2.0. Please ensure you read the &lt;a href="/Documentation/InstantKB.NET-Installation-Requirements"&gt;system / installation requirements&lt;/a&gt; for InstantKB.NET 2.0. There are two key installation requirements...&lt;/p&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;InstantKB.NET 2.0 now requires the .NET framework 2.0 or above. &lt;/li&gt;&lt;li&gt;InstantKB.NET 2.0 now requires the Microsoft AJAX Extensions.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;strong&gt;2. Upgrade your existing &lt;b&gt;InstantKB.NET&lt;/b&gt; &lt;b&gt;1.3&lt;/b&gt; database&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Important:&lt;/font&gt;&lt;/strong&gt; Before running the upgrade script please ensure you have a backup of your existing &lt;b&gt;InstantKB.NET&lt;/b&gt; &lt;b&gt;1.3&lt;/b&gt; database. Our upgrade script should execute successfully however if you have a network or power failure whilst executing this script it could potentially corrupt your database. We cannot be held responsible for any loss of data if you experience any problems during the update. We would strongly recommend you backup your existing InstantKB.NET 1.3 database first.&lt;br /&gt;&lt;strong&gt;---------------------------------------------------------&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Once you've successfully installed a fresh instance of InstantKB.NET 2.&lt;strong&gt;0&lt;/strong&gt; the next step is to migrate your existing InstantKB.NET 1.3 database to the latest InstantKB.NET 2.0 schema. To upgrade your existing InstantKB.NET 1.3 database you'll need to connect to your InstantKB.NET 1.3 database within SQL Server 2000 Enterprise Manager or SQL Server 2006 Management Studio. &lt;br /&gt;&lt;br /&gt;Once connected to your InstantKB.NET 1.3 database you should execute the "&lt;strong&gt;InstantKB20\DatabaseScripts\UpgradeScripts\&lt;b&gt;1.3&lt;/b&gt;_to_2.0.sql&lt;/strong&gt;" file as shown below.&lt;br /&gt;&lt;br /&gt;You can also find the 1.3_to_2.0.sql script attached at the bottom of this article.&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/13_to_20SQL1.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Ensure your InstantKB.NET 1.3 database is selected as shown above and click the "&lt;strong&gt;Execute&lt;/strong&gt;" button to update your database....&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/13_to_20SQL2.gif" /&gt;&lt;br /&gt;&lt;br /&gt;The warning messages within the results pane are perfectly normal and can safely be ignored. Once you've executed the upgrade script if you refresh your existing InstantKB.NET 1.3 database you should see a number of new database tables as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/13_to_20SQL3.gif" /&gt;&lt;br /&gt;&lt;br /&gt;That's it. Your database is now updated. The next step is to update the connection string used within your fresh &lt;b&gt;InstantKB.NET&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; installation to point towards your updated 1.3 database.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;/strong&gt;You should execute the following scripts against your &lt;b&gt;1.3&lt;/b&gt; database to ensure the schema is fully upto date.&lt;br /&gt;&lt;br /&gt;[InstallDir]\DatabaseScripts\UpgradeScripts\...&lt;br /&gt;&lt;br /&gt;1.3_to_2,0.0.sql&lt;br /&gt;2.0.0_to_2.0.1.sql&lt;br /&gt;2.0.1_to_2.0.2.sql&lt;br /&gt;2.0.2_to_2.0.3.sql&lt;br /&gt;2.0.3_to_2.0.4.sql&lt;br /&gt;2.0.4_to_2.0.5.sql&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Update the &lt;b&gt;InstantKB.NET&lt;/b&gt; &lt;b&gt;2.0&lt;/b&gt; connection string&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Now your InstantKb.NET 1.3 database has been updated to the 2.0 schema you can update the database connection string within the InstantKB.NET 2.0 web.config file to point towards your updated database.&lt;br /&gt;&lt;br /&gt;To update the connection string open the "&lt;strong&gt;InstantKB20\web.config&lt;/strong&gt;" file within NotePad or similar ASCII editor. Locate the InstantASP_ConnectionString setting. The default setting is shown below...&lt;br /&gt;&lt;br /&gt;&amp;lt;add key="InstantASP_ConnectionString" value="server=localhost;trusted_connection=true;database=InstantKB20;"/&gt;&lt;br /&gt;You should update this connection string to point towards your updated InstantKB.NET 1.3 database. For more information on connection string please see "&lt;a href="/Documentation/InstantKB.NET-connection-string-key-application-settings"&gt;InstantKB.NET connection string &amp;amp; key application settings&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you connect to SQL using SQL Server authentication you'll need to update the connection string to include the username and password for the SQL Server user account you used when connecting to run the update script. You can modify the connection string to use a SQL Server username &amp;amp; password as shown below...&lt;br /&gt;&lt;br /&gt;&lt;font class="Code"&gt;add key="InstantASP_ConnectionString" &lt;br /&gt;value="SERVER=localhost;UID=username;PWD=password;DATABASE=InstantKB20;"/&gt;&lt;/font&gt;&lt;br /&gt;&lt;strong&gt;&lt;strong&gt;4. Copy over the "Attachments" folder from &lt;b&gt;InstantKB.NET&lt;/b&gt; &lt;b&gt;1.3&lt;/b&gt; to &lt;b&gt;2.0&lt;/b&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;To ensure all your attachments and image uploads from InstantKB.NET 1.3 continue to work correctly within InstantKB.NET 2.0 simply copy the "Attachments" folder &amp;amp; all it's contents from the root of your existing InstantKB.NET 1.3 installation into the root of your fresh InstantKB.NET 2.0 installation. This is shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="/Uploads/Images/CopyAttachments.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class="Header"&gt;That's It!&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;The update should now be complete. You should now attempt to connect to your fresh InstantKB.NET 2.0 installation via a web browser. If everything was successful you should see a skelaton InstantKB.NET 2.0 installation with all your exiting InstantKB.NET 1.3 articles, categories, users etc. &lt;br /&gt;&lt;br /&gt;You can login using your existing email address &amp;amp; password. To access the administrator &amp;amp; staff control panels you'll need to login using your existing InstantKB.NET 1.3 login credentials.&lt;br /&gt;&lt;br /&gt;For further information on to help you get started with InstantKB.NET 2.0 please see "&lt;a href="/Videos/Getting-started-with-InstantKB.NET-2.0-Episode-1"&gt;Getting started with InstantKB.NET 2.0&lt;/a&gt;" or "&lt;a href="/Documentation/Testing-your-InstantKB.NET-installation"&gt;Testing your InstantKB.NET 2.0 installation&lt;/a&gt;". If you have any questions with regard to upgrading please hesitate to leave a comment below, &lt;a href="http://community.instantasp.co.uk/Forum81-1.aspx"&gt;post within our community forums&lt;/a&gt;, &lt;a href="http://my.instantasp.co.uk/MyTickets.aspx"&gt;open a support ticket&lt;/a&gt; or &lt;a href="http://www.instantasp.co.uk/Contact/"&gt;contact us&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;</description><pubDate>Mon, 27 Apr 2009 16:50:43 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 4.1.2 to 4.1.3</title><link>http://kb.instantasp.co.uk/Goto11807.aspx</link><description>This document details the steps to take when updating from an existing InstantForum.NET 4.1.2 installation to the updated InstantForum.NET 4.1.3 release.&lt;br /&gt;&lt;br /&gt;We would not suggest you upgrade directly into production. You should test your upgrade procedure locally first and either upload your local changes to production or upgrade production once you're comfortable upgrading locally and following these steps. Inevitably some downtime may occur whilst uploading the various updated files to a production environment.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Upgrade Instructions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To begin upgrading to InstantForum.NET 4.1.3 please follow the steps below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Install a fresh copy of InstantForum.NET 4.1.3&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Install a fresh instance of InstantForum.NET 4.1.3 on the same computer as your existing 4.1.2 installation. You can choose to install the 4.1.3 release &lt;a href="/Documentation/Installing-InstantForum.NET-Step-1-Installing-The-Files"&gt;&lt;font color="#800080"&gt;manually&lt;/font&gt;&lt;/a&gt; or by using the automated &lt;a href="/Documentation/InstantForum.NET-InstallShield-Installation"&gt;&lt;font color="#800080"&gt;InstallShield wizard&lt;/font&gt;&lt;/a&gt;. You don't need to install a local working copy if you're looking to simply upload the updated files into production. If this is the case simply download the zipped version (not the MSI installation wizard) from your &lt;a href="http://my.instantasp.co.uk/mylicenses.aspx" target="_blank"&gt;&lt;font color="#800080"&gt;My.InstantASP account&lt;/font&gt;&lt;/a&gt; and apply the updates below.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Apply New InstantForum.NET 4.1.3 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A new JavaScript file has been introduced with InstantForum.NET 4.1.3. You will need to copy the file listed below from the fresh InstantForum.NET 4.1.3 installation into the corresponding location within your existing InstantForum.NET 4.1.2 installation.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\JavaScript\InstantASPCommon.js&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;3. Update existing InstantForum.NET 4.1.2 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;IMPORTANT:&lt;/font&gt;&lt;/b&gt; In order to quickly upgrade we would suggest you overwrite all your existing 4.1.2 skin directories with the latest version of each skin from the InstantForum.NET 4.1.3 installation. This is to accommodate the many cascading style sheet changes introduced with InstantForum.NET 4.1.3. If you have made any changes to existing skins we would suggest you read the "Update Custom Skins" section below.&lt;br /&gt;&lt;br /&gt;Because of the style sheet changes you will need to copy each of the skin directories from the latest InstantForum.NET 4.1.3 installation and overwrite the skin directories within your existing InstantForum.NET 4.1.2 install. You should copy the directories below. When prompted choose to overwrite all existing 4.1.2 files. Please ensure you make a backup if necessary before overwriting any existing files or folders.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Skins\Classic\ &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\LiquidViolet\ &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;You should drag and drop the skin directories from the fresh InstantForum.NET 4.1.3 installation and replace your existing InstantForum.NET 4.1.2 skin directories. This is shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/v412_to_413img1.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Once you've replaced each skin directory and added the new InstantASPCommon.js file, you will need to replace the Globals.js JavaScript file within your existing InstantForum.NET 4.1.2 installation with the latest version of from the fresh 4.1.3 release. Globals.js is located within the JavaScript directory as shown below...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\JavaScript\Globals.js &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Update Custom Skins&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In order to update a custom skin we would suggest taking one of our default skins and re-applying any CSS changes and/or image changes. If you have made any changes to existing skin user controls we would suggest you ensure a back-up is available, apply the 4.1.3 update and then restore any changes using your back-up as a guide.&lt;br /&gt;&lt;br /&gt;A number of CSS class names have changed within the 4.1.3 release and it should be easier to start over with a fresh default skin as a base and use a backup of your existing skin as a reference to reapply your changes. We've provided below a list of CSS class names that have changed and the corresponding new name for each. Using the information below you could copy modified CSS code within your customized skin style sheet into the new 4.1.3 style sheets.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;BottomHeaderCell&lt;/b&gt; CSS class name has changed to &lt;b&gt;CommonNavigation_InnerTableFooterCSS&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsHeader&lt;/b&gt; CSS class name has changed to &lt;b&gt;PanelBar_Header&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsGroupHeader&lt;/b&gt; CSS class name has changed to &lt;b&gt;PanelBar_SubHeader&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsBackGroundTable&lt;/b&gt; CSS class name has changed to &lt;b&gt;PanelBar_OuterTable&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsBackGroundTableLight&lt;/b&gt; CSS class name has changed to &lt;b&gt;CommonNavigation_OuterTableCSS&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsBody1&lt;/b&gt; CSS class name has changed to &lt;b&gt;TableCell_Light&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsBody1RoundedTableHeader&lt;/b&gt; CSS class name has changed to &lt;b&gt;TableCell_Light_RoundedTableHeader&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsBody2&lt;/b&gt; CSS class name has changed to &lt;b&gt;TableCell_Dark&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;ForumsBody2RoundedTableHeader&lt;/b&gt; CSS class name has changed to &lt;b&gt;TableCell_Dark_RoundedTableHeader&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;GroupFooter&lt;/b&gt; CSS class name has changed to &lt;b&gt;PanelBar_Footer&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;HeaderButton&lt;/b&gt; CSS class name has changed to &lt;b&gt;PanelBar_HeaderButton&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;HeaderTxt&lt;/b&gt; CSS class name has changed to &lt;b&gt;PanelBar_HeaderTxt&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;PagingText&lt;/b&gt; CSS class name has changed to &lt;b&gt;PagingControl_Text&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;PagingTextDisabled&lt;/b&gt; CSS class name has changed to &lt;b&gt;PagingControl_TextDisabled&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;SummaryTableBackGroundTable&lt;/b&gt; CSS class name has changed to &lt;b&gt;SummaryTable_BackGround&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;SummaryTableHeader&lt;/b&gt; CSS class name has changed to &lt;b&gt;SummaryTable_Header&lt;/b&gt; and now lives within InstantASP.Common.UI.css.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Assemblies&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Once you've successfully completed the steps above please ensure you copy the latest version of the assemblies listed below from the fresh InstantForum.NET 4.1.3 installation into your existing 4.1.2 bin directory.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;InstantASP.Common.Configuration.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.Licensing.dll &lt;/li&gt;&lt;li&gt;InstantForum.dll &lt;/li&gt;&lt;li&gt;RadSpell.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Database Changes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;No changes are required for this release&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;That's it! You should now have a fully functional 4.1.3 update.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you do have any problems during the upgrade process please don't hesitate to contact &lt;a href="http://www.instantasp.co.uk/Support/"&gt;&lt;font color="#800080"&gt;technical support&lt;/font&gt;&lt;/a&gt; or post your questions within our &lt;a href="http://community.instantasp.co.uk/" target="_blank"&gt;&lt;font color="#0066cc"&gt;community forums&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Resolved Defects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We have not compiled a list of resolved defects for this release. A number of very minor items have been resolved within this release however this release is primarily a maintenance release to ensure full application compatibility with the .NET v2.0.50727 RTM framework release. &lt;/p&gt;</description><pubDate>Sat, 25 Apr 2009 14:21:17 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 4.1.1 to 4.1.2</title><link>http://kb.instantasp.co.uk/Goto11806.aspx</link><description>This document details the steps to take when updating from an existing InstantForum.NET 4.1.1 installation to the updated InstantForum.NET 4.1.2 release.&lt;br /&gt;&lt;br /&gt;We would not suggest you upgrade directly into production. You should test your upgrade procedure locally first and either upload your local changes to production or upgrade production once you're comfortable upgrading locally and following these steps. Inevitably some downtime may occur whilst uploading the various updated files to a production environment.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Uograde Instructions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To begin upgrading to InstantForum.NET 4.1.2 please follow the steps below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Install a fresh copy InstantForum.NET 4.1.2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Install a fresh instance of InstantForum.NET 4.1.2 on the same computer as your existing 4.1.1 installation. You can choose to install the 4.1.2 release &lt;a href="/Documentation/InstantForum.NET-InstallShield-Installation"&gt;&lt;font color="#800080"&gt;manually&lt;/font&gt;&lt;/a&gt; or by using the automated &lt;a href="/Documentation/InstantForum.NET-InstallShield-Installation"&gt;&lt;font color="#800080"&gt;InstallShield wizard&lt;/font&gt;&lt;/a&gt;. You don't need to install a local working copy if you're looking to simply upload the updated files into production. If this is the case simply download the zipped version (not the MSI installation wizard) from your &lt;a href="http://my.instantasp.co.uk/mylicenses.aspx" target="_blank"&gt;&lt;font color="#800080"&gt;My.InstantASP account&lt;/font&gt;&lt;/a&gt; and apply the updated files into production.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Update the existing InstantForum.NET 4.1.1 Database&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A few stored procedures have been updated to resolved identified issues with 4.1.1. To update your existing database run the [INSTALLDIR]\DatabaseScripts\UgradeScripts\4.1.1_to_4.1.2.sql script within Microsoft&amp;#169; Query Analyzer or similar against your existing InstantForum.NET 4.1.1 database. This will update the necessary stored procedures.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Update the existing InstantForum.NET 4.1.1 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The files listed below will need to be updated within your existing InstantForum.NET 4.1.1 installation. These files have been updated with the 4.1.2 release. You will need to copy the latest version of each file from the fresh 4.1.2 installation directory into your existing 4.1.1 installation. Please remember when updating skin files you will need to copy the latest version of each file into all skin directories.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuration Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Globalization\en-US\Resources.xml &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;User Controls&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\NotePad.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\PermissionSets.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\SearchResultsPostView.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\SearchResultsTopicView.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ViewEvent.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ViewPrivateMessage.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ViewPrivateMessages.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ViewTopic.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ViewTopics.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ViewWhosOn.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\EditAttachments.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\ForumSubscriptions.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\TopicSubscriptions.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\UserInfo.ascx &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Assemblies&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once you've replaced all the files listed above with the latest 4.1.2 copies please ensure you copy the latest version of the assemblies listed below into your existing 4.1.1 bin directory.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;InstantASP.Common.Configuration.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.Licensing.dll &lt;/li&gt;&lt;li&gt;InstantForum.dll &lt;/li&gt;&lt;li&gt;RadSpell.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;JavaScript Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Replace the JavaScript file listed below with the latest version from the 4.1.2 release.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\JavaScript\Globals.js &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Cascading Style Sheet&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The following class element should be added to all existing skin style sheets. Your skin style sheet can be found at [INSTALLDIR]\Skins\[SKINNAME]\Style\Style.css.&lt;/p&gt;&lt;pre class="Code"&gt;.ForumGroupHeaderText	{	font-family: Verdana, Arial, Tahoma;	font-size: 8pt;	color: #FFFFFF;	font-weight: bold;	}&lt;br /&gt;&lt;/pre&gt;Please remember if you have several skins the above class element will need to be added to each cascading style sheet within all skins. You can find the new class element listed above within the [INSTALLDIR]\Skins\Classic\Style\Style.css CSS file provided with InstantForum.NET 4.1.2.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Add New 4.1.2 skin to existing installation (Optional)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;With InstantForum.NET 4.1.2 a new skin is provided. You can choose to add this skin to your existing InstantForum.NET 4.1.1 installation by copying the LiquidViolet directory from within the 4.1.2 skins directory into your updated 4.1.1 skin folder. The new 4.1.2 skin is called Liquid Violet and is designed to offer a simpler user interface within the forum. It's not required you include the new Liquid Violet skin within your existing 4.1.1 installation.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;That's it! You should now have a fully functional 4.1.2 update.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you do have any problems during the upgrade process please don't hesitate to contact &lt;a href="http://www.instantasp.co.uk/Support/"&gt;&lt;font color="#800080"&gt;technical support&lt;/font&gt;&lt;/a&gt; or post your questions within our &lt;a href="http://community.instantasp.co.uk/" target="_blank"&gt;&lt;font color="#0066cc"&gt;community forums&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Resolved Defects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A complete list of defects resolved within this release can be &lt;a href="http://downloads.instantasp.co.uk/instantforum412/instantforum412resolveddefects.pdf" target="_blank"&gt;&lt;font color="#0066cc"&gt;found here&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Complete List Of Changes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you would like to obtain a complete line by line list of changes between InstantForum.NET 4.1.1 and InstantForum.NET 4.1.2 please &lt;a href="http://www.instantasp.co.uk/Support/"&gt;&lt;font color="#800080"&gt;contact us&lt;/font&gt;&lt;/a&gt; we have reports available. </description><pubDate>Sat, 25 Apr 2009 14:10:16 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 4.1.0 to 4.1.1</title><link>http://kb.instantasp.co.uk/Goto11805.aspx</link><description>This document details the steps to take when updating from an existing InstantForum.NET 4.1.0 installation to the updated InstantForum.NET 4.1.1 release.&lt;br /&gt;&lt;br /&gt;We would not suggest you upgrade directly into production. You should test your upgrade procedure locally first and either upload your local changes to production or upgrade production once you're comfortable upgrading locally and following these steps. Inevitably some downtime may occur whilst uploading the various updated files to a production environment.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Upgrade Instructions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To begin upgrading to InstantForum.NET 4.1.1 please follow the steps below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Install a fresh copy InstantForum.NET 4.1.1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Install a fresh instance of InstantForum.NET 4.1.1 on the same computer as your existing 4.1.0 installation. You can choose to install the 4.1.1 release &lt;a href="/Documentation/Installing-InstantForum.NET-Step-1-Installing-The-Files"&gt;&lt;font color="#800080"&gt;manually&lt;/font&gt;&lt;/a&gt; or by using the automated &lt;a href="/Documentation/InstantForum.NET-InstallShield-Installation"&gt;&lt;font color="#800080"&gt;InstallShield wizard&lt;/font&gt;&lt;/a&gt;. You don't need to install a local working copy if you're looking to simply upload the updated files into production. If this is the case simply download the zipped version (not the MSI installation wizard) from your &lt;a href="http://my.instantasp.co.uk/mylicenses.aspx" target="_blank"&gt;&lt;font color="#800080"&gt;My.InstantASP account&lt;/font&gt;&lt;/a&gt; and apply the updated files into production.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Update the existing InstantForum.NET 4.1.0 Database&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A few stored procedures have been updated to further improve performance with 4.1.1. To update your existing database run the [INSTALLDIR]\DatabaseScripts\UgradeScripts\4.1.0_to_4.1.1.sql script within Microsoft&amp;#169; Query Analyzer or similar against your existing InstantForum.NET 4.1.0 database. This will update the necessary stored procedures.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Update the existing InstantForum.NET 4.1.0 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;.NET Assemblies (DLL Files)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Please ensure you copy the latest version of the assemblies listed below into your existing 4.1.0 bin directory. This will ensure your using the latest 4.1.1 assemblies.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;InstantASP.Common.Configuration.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.Licensing.dll &lt;/li&gt;&lt;li&gt;InstantForum.dll &lt;/li&gt;&lt;li&gt;RadSpell.dll&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;ASPX Pages&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Miscellaneous.aspx&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;No ASCX user controls have been modified from the 4.1.0 release to the 4.1.1 release.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Tthat's it! You should now have a fully functional 4.1.1 update.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you do have any problems during the upgrade process please don't hesitate to contact &lt;a href="http://www.instantasp.co.uk/Support/"&gt;&lt;font color="#800080"&gt;technical support&lt;/font&gt;&lt;/a&gt; or post your questions within our &lt;a href="http://community.instantasp.co.uk/" target="_blank"&gt;&lt;font color="#0066cc"&gt;community forums&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Resolved Defects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A complete list of defects resolved within this release can be &lt;a href="http://downloads.instantasp.co.uk/instantforum411/instantforum411resolveddefects.pdf" target="_blank"&gt;&lt;font color="#0066cc"&gt;found here&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Complete List Of Changes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you would like to obtain a complete line by line list of changes between InstantForum.NET 4.1.0 and InstantForum.NET 4.1.1 please &lt;a href="http://docs.instantasp.co.uk/InstantForum/technicalsupport.html"&gt;&lt;font color="#800080"&gt;contact us&lt;/font&gt;&lt;/a&gt; we have reports available. &lt;/p&gt;</description><pubDate>Sat, 25 Apr 2009 13:46:41 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 4.0 to 4.1</title><link>http://kb.instantasp.co.uk/Goto11804.aspx</link><description>This document details the steps to take when updating from an existing InstantForum.NET 4.0.0 installation to the updated InstantForum.NET 4.1.0 release.&lt;br /&gt;&lt;br /&gt;We would not suggest you upgrade directly into production. You should test your upgrade procedure locally first and either upload your local changes to production or upgrade production once you're comfortable upgrading locally and following these steps. Inevitably some downtime may occur whilst uploading the various updated files to a production environment.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Upgrade Instructions&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;To begin upgrading to InstantForum.NET 4.1.0 please follow the steps below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Install a fresh copy InstantForum.NET 4.1.0&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Install a fresh instance of InstantForum.NET 4.1.0 on the same computer as your existing 4.0.0 installation. You can choose to install the 4.1.0 release &lt;a href="/Documentation/Installing-InstantForum.NET-Step-1-Installing-The-Files"&gt;&lt;font color="#800080"&gt;manually&lt;/font&gt;&lt;/a&gt; or by using the automated &lt;a href="/Documentation/InstantForum.NET-InstallShield-Installation"&gt;&lt;font color="#800080"&gt;InstallShield wizard&lt;/font&gt;&lt;/a&gt;. You don't need to install a local working copy if you're looking to simply upload the updated files into production. If this is the case simply download the zipped version (not the MSI installation wizard) from your &lt;a href="http://my.instantasp.co.uk/mylicenses.aspx" target="_blank"&gt;&lt;font color="#800080"&gt;My.InstantASP account&lt;/font&gt;&lt;/a&gt; and apply the updated files into procduction.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Update the existing InstantForum.NET 4.0.0 Database&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A few stored procedures have been updated to resolved identified issues with 4.0.0. To update your existing database run the [INSTALLDIR]\DatabaseScripts\UgradeScripts\4.0_to_4.1.sql script within Microsoft&amp;#169; Query Analyzer or similar against your existing InstantForum.NET 4.0.0 database. This will update the necessary stored procedures.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Update the existing InstantForum.NET 4.0.0 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The files listed below will need to be updated within your existing InstantForum.NET 4.0.0 installation. These files have been updated with the 4.1.0 release. You will need to copy the latest version of each file from the fresh 4.1.0 installation directory into your existing 4.0.0 installation. Please remember when updating skin files you will need to copy the latest version of each file into all skin directories.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuration Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Pages.config &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Globalization\en-US\Resources.xml &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;ASPX Pages&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\AjaxFunctions.aspx &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;ASCX User Controls&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\AjaxFunctions.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\EditRegistrationDetails.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\LogonControl.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\PostControl.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\RegistrationForm.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\SearchOptions.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\SearchResultsTopicView.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ViewTopics.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Admin\AdminEditUserDetails.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Admin\AdminSettingsGeneral.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Admin\Controls\AdminQuickLinks.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Admin\Controls\AdminViewModerator.ascx &lt;/li&gt;&lt;/ul&gt;Once you've replace each of the these files you should replace the entire admin directory within the root of your installation as detailed below.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Admin Directory&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;font color="#ff0000"&gt;&lt;b&gt;IMPORTANT:&lt;/b&gt;&lt;/font&gt; Copy the entire contents of the latest 4.1.0 [INSTALLDIR]\Admin\ directory over the top of your existing 4.0.0 [INSTALLDIR]\Admin\ directory. All ASPX files within the root admin directory have been updated. Remember this is the admin directory within the root of your installation containing all the .ASPX files, NOT the admin directory within a skin folder containing the .ASCX controls.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;.NET Assemblies (DLL Files)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once you've replaced all the files listed above with the latest 4.1.0 copies please ensure you copy the latest version of the assemblies listed below into your existing 4.0.0 bin directory.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;InstantASP.Common.Configuration.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.Licensing.dll &lt;/li&gt;&lt;li&gt;InstantForum.dll &lt;/li&gt;&lt;li&gt;RadSpell.dll &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Cascading Style Sheet (CSS)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The follow class elements should be added to all existing skin style sheets. Your skin style sheet can be found at [INSTALLDIR]\Skins\[SKINNAME]\Style\Style.css. These new CSS elements control the new auto-complete username textbox functionality introduced within 4.1.0.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;.AutoCompleteDivLayer, .AutoCompleteDivLayerSelected	{		font-family: Verdana, Arial, Tahoma;		font-size: 10pt;		color: #1F5080;		background-color: white;	}		.AutoCompleteDivLayer {background-color: #ffffff;}.AutoCompleteDivLayerSelected {background-color: #316AC5; color: #ffffff; cursor: pointer;}&lt;/pre&gt;Please remember if you have several skins the above class elements will need to be added to each style sheet within all skins.&lt;br /&gt;&lt;br /&gt;You can find the new class elements listed above at the top of the [INSTALLDIR]\Skins\Classic\Style\Style.css CSS file provided with InstantForum.NET 4.1.0.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Update the existing InstantForum.NET Web.Config File (Optional)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A new application setting has been added to the Web.Config file. This is shown below. If your running InstantForum.NET within a sub directory of a IIS web application you may find this setting useful. Alternatively if you already have InstantForum.NET installed and your having no issues you can safely ignore this new setting. We would suggest you add the however just to ensure your Web.config file remains up to date going forward.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;If you install InstantForum.NET within a sub-folder of a IIS web application you will&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;need to provide the full virtual path from the root of your web application to the&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;forum installation below, For example if you install the forum to a web application&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;located at c:\test\ but you wanted to add the forum to c:\test\forums\myforum\&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt;--&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;you would modify the setting below to read "forums/myforum" This indicates the&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;virtual path from the web application root, if you don't install the forum to the&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;root of a web application please ensure you move the bin directory and this web.config&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt;  --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;to your web applications root directory, typically you can leave this blank, it is only&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;required if you don't install InstantForum.NET within the root of a IIS web application&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_VirtualPath"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;=""&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;b class="Header"&gt;That's it! You should now have a fully functional 4.1.0 update.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you do have any questions or problems during the upgrade process please don't hesitate to post your comments bleow, contact &lt;a href="http://www.instantasp.co.uk/Support/"&gt;&lt;font color="#800080"&gt;technical support&lt;/font&gt;&lt;/a&gt; or post your questions within our &lt;a href="http://community.instantasp.co.uk/" target="_blank"&gt;&lt;font color="#800080"&gt;community forums&lt;/font&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Resolved Defects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A complete list of defects resolved within this release can be &lt;a href="http://downloads.instantasp.co.uk/instantforum41/instantforum41resolveddefects.pdf" target="_blank"&gt;&lt;font color="#0066cc"&gt;found here&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Complete List Of Changes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you would like to obtain a complete line by line list of changes between InstantForum.NET 4.0.0 and InstantForum.NET 4.1.0 please &lt;a href="http://www.instantasp.co.uk/Support/"&gt;&lt;font color="#800080"&gt;contact us&lt;/font&gt;&lt;/a&gt; we have reports available. </description><pubDate>Sat, 25 Apr 2009 13:30:48 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 3.4 to 4.0</title><link>http://kb.instantasp.co.uk/Goto11803.aspx</link><description>Before updating please ensure your aware of the &lt;a href="http://docs.instantasp.co.uk/InstantForum/v34tov40breakingchanges.html"&gt;breaking changes&lt;/a&gt; that will be introduced when upgrading to the 4.0.0 release. &lt;br /&gt;&lt;br /&gt;Upgrading typically takes around 20-30 minutes. For this example we will assume your existing InstantForum.NET v3.4 installation is located at &lt;i&gt;C:\inetpub\wwwroot\InstantForum34\&lt;/i&gt; and the new InstantForum.NET 4.0.0 installation will be installed to &lt;i&gt;C:\inetpub\wwwroot\InstantForum40\&lt;/i&gt;. If you have previously installed v3.4 to a different location or you will be installing 4.0.0 to a different location simply substitute the examples used within this guide with your installation directories.&lt;br /&gt;&lt;br /&gt;We would not suggest you upgrade directly into production. You should test your upgrade procedure locally first and either upload your local changes to production or upgrade production once you're comfortable upgrading locally. Inevitably some downtime will occur whilst updating within a production environment.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Upgrade Instructions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To begin upgrading to InstantForum.NET 4.0.0 please follow the steps below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Install InstantForum.NET 4.0.0&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Install a fresh instance of InstantForum.NET 4.0.0 on the same computer as your existing v3.4 installation. You can choose to install the 4.0.0 release &lt;a href="/Documentation/Installing-InstantForum.NET-Step-1-Installing-The-Files"&gt;manually&lt;/a&gt; or by using the automated &lt;a href="/Documentation/InstantForum.NET-InstallShield-Installation"&gt;InstallShield wizard&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Migrate Your Existing Data&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once a fresh instance of InstantForum.NET 4.0.0 is successfully installed, the first step is to migrate your existing v3.4 database to the 4.0.0 schema.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;NOTE:&lt;/font&gt; All existing stored procedures have been rewritten for the 4.0.0 release and a number of new &lt;a href="http://docs.instantasp.co.uk/InstantForum/databasetables.html"&gt;tables&lt;/a&gt; have been introduced. All existing v3.4 stored procedures will be deleted. Because of the substantial schema changes we would strongly suggest you &lt;a href="/Documentation/Backing-Up-Your-InstantForum.NET-Database"&gt;back up your existing InstantForum.NET database&lt;/a&gt; before attempting to run the database migration script.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you have modified the v3.4 database schema from its default state you may experience errors when updating the database. For example if you have previously added custom foreign key constraints to the existing v3.4 tables or you've previously re-named a v3.4 database column. The upgrade script has been fully tested against several standard v3.4 database schemas.&lt;br /&gt;&lt;br /&gt;Once you made a successful backup of your existing v3.4 database you should open Microsoft&amp;#169; SQL Query Analyzer or similar to run the v3.4 to 4.0.0 migration script. &lt;br /&gt;&lt;br /&gt;To launch Microsoft&amp;#169; SQL Query Analyzer click &lt;b&gt;Start&lt;/b&gt;, click &lt;b&gt;Run&lt;/b&gt; and enter "&lt;b&gt;isqlw&lt;/b&gt;" without the quotes. You will need to connect to your existing InstantForum.NET v3.4 database. You will find the connection information for your v3.4 database within the v3.4 web.config file located at &lt;i&gt;C:\inetpub\wwwroot\InstantForum34\web.config&lt;/i&gt;. Once you've connected to your existing v3.4 database you should be presented with a screen similar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/query1.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Notice how we have the existing InstantForum.NET v3.4 database selected. Once successfully connected to your v3.4 database you will need to open the v3.4 to 4.0.0 migration script within Query Analyzer.&lt;br /&gt;&lt;br /&gt;To open the migration script click &lt;b&gt;File&lt;/b&gt;, click &lt;b&gt;Open&lt;/b&gt; and navigate to your InstantForum.NET 4.0.0 installation folder. Typically &lt;i&gt;C:\inetpub\wwwroot\InstantForum40\&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The migration script to update the v3.4 database to the 4.0.0 required schema can be found at &lt;i&gt;C:\inetpub\wwwroot\InstantForum40\DatabaseScripts\UgradeScripts\3.4_to_4.0.sql&lt;/i&gt;. Open the &lt;i&gt;C:\inetpub\wwwroot\InstantForum40\DatabaseScripts\UgradeScripts\3.4_to_4.0.sql&lt;/i&gt; file within Microsoft&amp;#169; Query Analyzer as below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/query2.gif" /&gt;&lt;br /&gt;&lt;br /&gt;The highlighted toolbar buttons should be used to test &amp;amp; execute the script against your existing v3.4 database. We would suggest you click the Parse Query &lt;img src="http://docs.instantasp.co.uk/InstantForum/bluetick.gif" /&gt; button first to ensure the script will not generate any errors. If the script is parsed successfully you will receive the following message...&lt;br /&gt;&lt;br /&gt;&lt;pre class="Code"&gt;The command(s) completed successfully.&lt;/pre&gt;Once the script has parsed successfully you should click the Execute Query &lt;img src="http://docs.instantasp.co.uk/InstantForum/greenarrow.gif" /&gt; button to run the script against your v3.4 database. The script may take several minutes to complete depending on your network connection to the SQL Server and the size of your database. &lt;br /&gt;&lt;br /&gt;Once the migration script has executed successfully against your v3.4 database you'll be presented with a screen similar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/query3.gif" /&gt;&lt;br /&gt;&lt;br /&gt;A number of messages will be displayed within the results area. You should review these messages for any errors that may have occurred whilst running the migration script.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The following messages generated by the database migration script can be safely ignored...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="Code"&gt;Caution: Changing any part of an object name could break scripts and stored procedures.&lt;/pre&gt;&lt;pre class="Code"&gt;Cannot add rows to sysdepends for the current stored procedure because it depends on the missing object.&lt;/pre&gt;&lt;b&gt;The following messages generated by the database migration script should be reviewed...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You should check if you receive any errors messages indicated as red text within the results window after running the migration script. For example a message similar to below indicates a genuine problem occurred. &lt;br /&gt;&lt;br /&gt;&lt;pre class="Code"&gt;Server: Msg 2714, Level 16, State 6, Line 4&lt;/pre&gt;If you receive red error messages after you've run the InstantForum.NET v3.4 to 4.0.0 migration script you should &lt;a href="http://docs.instantasp.co.uk/InstantForum/technicalsupport.html"&gt;contact technical support&lt;/a&gt;. If you did not receive any red error messages when updating the v3.4 schema it's safe to assume all v3.4 data has now been migrated over to the 4.0.0 format. If you visit your database you will notice a number of new 4.0.0 &lt;a href="http://docs.instantasp.co.uk/InstantForum/databasetables.html"&gt;tables&lt;/a&gt; and stored procedures. This indicates your database has updated successfully.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3. Replacing v3.4 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;NOTE:&lt;/font&gt; We would suggest you backup your existing InstantForum.NET v3.4 installation folder before updating so you can re-apply any changes you may have made to v3.4 once you've successfully updated to 4.0.0. If you have not made any changes we would still suggest creating a backup of your installation folder before continuing. Updating will require you delete all the existing v3.4 installation files. Because all existing files will need to be deleted if you've previously modified any files these changes will be lost. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To begin updating your files to the latest 4.0.0 release you should delete all files and directories within your v3.4 installation directory &lt;b&gt;except the attachments directory&lt;/b&gt;. Once you've removed all existing v3.4 files and folders (excluding the attachments directory) your v3.4 installation folder should look similar to...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/attachments.gif" /&gt;&lt;br /&gt;&lt;br /&gt;You should now copy all the new 4.0.0 files into your existing v3.4 directory as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/drawnewfiles.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4. Updating the Web.Config&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once all files are copied into the v3.4 directory you will need to configure the database connection string within the new &lt;a href="http://docs.instantasp.co.uk/InstantForum/editwebconfig.html"&gt;Web.Config&lt;/a&gt; file to point to your existing InstantForum.NET v3.4 database.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5. Test the Update&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once you've updated the database connection string within the &lt;a href="/Documentation/Understanding-the-InstantForum.NET-Web.config-file"&gt;Web.Config&lt;/a&gt; file you should request your existing v3.4 installation within your web browser. If everything has updated successfully you should see your existing v3.4 data running within the 4.0.0 framework. This will appear similar to below:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/freshupgrade.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Notice how the forum last post information is not populated. You will need to rebuild &amp;amp; resynchronize your forums, topics &amp;amp; members after the update. &lt;br /&gt;&lt;br /&gt;To rebuild your forums you will need to login using your existing v3.4 administrator account and access the admin control panel. From within the admin control panel you will need to expand the &lt;b&gt;Maintenance&lt;/b&gt; options within the left navigation and click &lt;b&gt;Synchronize &amp;amp; Rebuild&lt;/b&gt; as below:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/rebuild.gif" /&gt;&lt;br /&gt;&lt;br /&gt;You should rebuild and recount all forums, topics, member posts &amp;amp; private messages. Once the forum has rebuilt this everything should be ready to go with your 4.0.0 upgrade.&lt;br /&gt;&lt;br /&gt;You may wish to now re-apply any changes you may have previously performed to the new 4.0.0 code base.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;That's it! You should now have a fully functional 4.0.0 update.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you do have any problems during the upgrade process please don't hesitate to post your comments bleow, contact &lt;a href="http://www.instantasp.co.uk/Support/"&gt;technical support&lt;/a&gt; or post your questions within our &lt;a href="http://community.instantasp.co.uk/" target="_blank"&gt;community forums&lt;/a&gt;. </description><pubDate>Sat, 25 Apr 2009 13:05:42 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 4.1.3 to 4.1.4</title><link>http://kb.instantasp.co.uk/Goto11802.aspx</link><description>This document details the steps to take when updating from an existing InstantForum.NET 4.1.3 installation to the updated InstantForum.NET 4.1.4 release.&lt;br /&gt;&lt;br /&gt;We would not suggest you upgrade directly into production. You should test your upgrade procedure locally first and either upload your local changes to production or upgrade production once you're comfortable upgrading locally and following these steps. Inevitably some downtime may occur whilst uploading the various updated files to a production environment.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Upgrade Instructions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To begin upgrading to InstantForum.NET 4.1.4 please follow the steps below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Install a fresh copy of InstantForum.NET 4.1.4&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Install a fresh instance of InstantForum.NET 4.1.4 on the same computer as your existing 4.1.3 installation. You can choose to install the 4.1.4 release &lt;a href="/Documentation/Installing-InstantForum.NET-Step-1-Installing-The-Files"&gt;&lt;font color="#800080"&gt;manually&lt;/font&gt;&lt;/a&gt; or by using the automated &lt;a href="/Documentation/InstantForum.NET-InstallShield-Installation"&gt;&lt;font color="#800080"&gt;InstallShield wizard&lt;/font&gt;&lt;/a&gt;. You don't need to install a local working copy if you're looking to simply upload the updated files into production. If this is the case simply download the zipped version (not the MSI installation wizard) from your &lt;a href="http://my.instantasp.co.uk/mylicenses.aspx" target="_blank"&gt;&lt;font color="#800080"&gt;My.InstantASP account&lt;/font&gt;&lt;/a&gt; and apply the updates below.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Apply New InstantForum.NET 4.1.4 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A few new files have been introduced with 4.1.4 to accomodate the new central moderation pages. You will need to copy the file listed below from the fresh InstantForum.NET 4.1.4 installation into the corresponding location within your existing InstantForum.NET 4.1.3 installation. You will need to copy the files into all existing skins.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Moderation.aspx&lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Moderation.ascx&lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ModerationSearchOptions.ascx&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;3. Update existing InstantForum.NET 4.1.3 Files&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The following files have been updated with 4.1.4. You will need to replace any existing 4.1.3 versions of the files below with the latest 4.1.4 versions. You will need to copy the files into all existing skins.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Admin\AdminEditUserRoles.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Admin\AdminSettingsOptimization.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Admin\AdminNavigation.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\MainNavigation.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\SearchResultsPostView.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\SearchOptions.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Skins\[SKINNAME]\Controls\ControlPanelHeader.ascx &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Globalization\en-US\Resources.xml &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Configuration\CacheDurations.xml &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\Pages.config &lt;/li&gt;&lt;li&gt;[INSTALLDIR]\URLRewrite.config&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If you have not made any changes to the default skins you can simply replace the entire skin directory with the same 4.1.4 skin directory. If you have made changes to an existing skin for example to modify the master page template you may wish to simply replace the files listed above to ensure changes to other skin files are maintained.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Updated Assemblies&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once you've successfully updated the files above please ensure you copy the latest version of the assemblies listed below from the fresh InstantForum.NET 4.1.4 installation into your existing 4.1.3 bin directory.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;InstantASP.Common.Configuration.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.dll &lt;/li&gt;&lt;li&gt;InstantASP.Common.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.Data.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.dll &lt;/li&gt;&lt;li&gt;InstantASP.InstantForum.UI.dll &lt;/li&gt;&lt;li&gt;InstantASP.Licensing.dll &lt;/li&gt;&lt;li&gt;InstantForum.dll &lt;/li&gt;&lt;li&gt;RadSpell.dll&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;4. Database Changes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A number of stored procedures have been updated with this release to address some scaliability issues. The updated stored procedures are listed below...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;iasp_sp_SelectUserData &lt;/li&gt;&lt;li&gt;if_sp_SelectAttachment &lt;/li&gt;&lt;li&gt;if_sp_SelectForumsRead &lt;/li&gt;&lt;li&gt;if_sp_SelectTopicsRead &lt;/li&gt;&lt;li&gt;if_sp_InsertWhosOn &lt;/li&gt;&lt;li&gt;if_sp_SelectForums &lt;/li&gt;&lt;li&gt;if_sp_SelectForthComingEvents &lt;/li&gt;&lt;li&gt;if_sp_SelectCalendarEvents &lt;/li&gt;&lt;li&gt;if_sp_SelectRssFeeds&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A new stored procedure has also been added...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;iasp_sp_SelectUserRoles&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To update your database schema to reflect these changes you will need to connect to your database within Microsoft Query Anaylzer or similar querying tool and execute the following .SQL file against your existing 4.1.3 database...&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[INSTALLDIR]\DatabaseScripts\UgradeScripts\4.1.3_to_4.1.4.sql&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;This script will add the single new stored procedure and update the others listed above. If your not sure how to execute the .SQL upgrade script against your existing database within Microsoft Query Anaylzer we detail how to connect to your database, then open and execute .SQL files within our &lt;a href="/Documentation/Installing-InstantForum.NET-Step-2-Creating-Your-Database"&gt;&lt;font color="#800080"&gt;manual installation guide&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;That's it! You should now have a fully functional 4.1.4 update.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you do have any problems during the upgrade process please don't hesitate to contact &lt;a href="http://www.instantasp.co.uk/Support/"&gt;&lt;font color="#800080"&gt;technical support&lt;/font&gt;&lt;/a&gt; or post your questions within our &lt;a href="http://support.instantasp.co.uk/" target="_blank"&gt;&lt;font color="#0066cc"&gt;community forums&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Resolved Defects&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Please refer to our &lt;a href="http://support.instantasp.co.uk/" target="_blank"&gt;&lt;font color="#0066cc"&gt;community forums&lt;/font&gt;&lt;/a&gt; for a list of resolved defects within this release. &lt;/p&gt;</description><pubDate>Sat, 25 Apr 2009 12:11:01 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Setting up full text search within InstantForum.NET</title><link>http://kb.instantasp.co.uk/Goto11801.aspx</link><description>InstantForum.NET provides support for the Microsoft&amp;#169; SQL Server Full-Text service. The SQL Server full-text indexing service when enabled provides advanced word or phrase searching including proximity searches, inflectional matches (drive = drove) and relevance ranking of results (how close the words are and quantity of matches). Enabling the full-text search service can also dramatically improve the performance of the forum search engine for very busy forums. If you have close to or over 75,000 posts we would suggest you consider enabling the full-text service as detailed within this document.&lt;br /&gt;&lt;br /&gt;If you need to ask your hosting company to setup your full-text catalog you should instruct them to add the following database columns to your full-text catalog...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;InstantForum_Topics.Title &lt;/li&gt;&lt;li&gt;InstantForum_Topics.Description &lt;/li&gt;&lt;li&gt;InstantForum_Messages.Message&lt;/li&gt;&lt;/ul&gt;Unique primary keys already exist within both the InstantForum_Topics and InstantForum_Messages so creating the indexes should simply be a case of selecting the columns and word breaker language. Additionally you may wish to provide your hosting company with a copy of this document if they require further information on enabling the full-text service for InstantForum.NET.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Ensuring the Full-Text option is installed&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SQL Server's full-text indexing is installed as a separate component feature through your SQL Server setup disk. This component is required in order for full-text searches to work. You can select the Full-Text Search service when prompted to select components during your SQL Server installation. This can also be added to an existing installation if required.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext1.gif" /&gt;&lt;br /&gt;&lt;br /&gt;To determine if you have the full-text feature installed you should right click the small SQL Server icon within the task bar next to the date and time. This will pop up a context menu you will need to view the option that reads "Current service on [machinename]..." as below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext2.gif" /&gt;&lt;br /&gt;&lt;br /&gt;You will need the Microsoft Search feature installed for the full-text option to be available within Enterprise Manager. You should also ensure the Microsoft Search service (MSSearch) is set to auto-start each time your operating system restarts. If your not sure if you have full-text indexing installed or would like information how to enable and install this feature you should follow the instructions within the links below.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnntpro01/html/ntp0111.asp" target="_blank"&gt;Implementing the Full-Text Search Service in SQL Server&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eggheadcafe.com/articles/20010422.asp" target="_blank"&gt;SQL Server 2000 Full-Text Search Service&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Once your sure you have the full-text indexing service installed and enabled the next step is to create the full-text indexes within your InstantForum.NET database on both the InstantForum_Topics table and InstantForum_Messages table.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Creating Your Indexes&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;InstantForum.NET requires at a very minimum the following columns be included within your full-text catalog...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;InstantForum_Topics.Title &lt;/li&gt;&lt;li&gt;InstantForum_Topics.Description &lt;/li&gt;&lt;li&gt;InstantForum_Messages.Message&lt;/li&gt;&lt;/ul&gt;To add these columns to a full-text category please follow the steps detailed below.&lt;br /&gt;&lt;br /&gt;Connect to your database within SQL Server Enterprise Manager as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext3.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Right click the &lt;b&gt;InstantForum_Topics&lt;/b&gt; table, click &lt;b&gt;Full-Text Index Table&lt;/b&gt;, click &lt;b&gt;Define Full-Text Indexing on Table&lt;/b&gt; as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext4.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This will bring up the SQL Server Full-Text Indexing Wizard as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext5.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This is simply a splash screen. Click &lt;b&gt;Next&lt;/b&gt;, a screen similar to be below will be displayed...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext6.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Leave this as default and click &lt;b&gt;Next&lt;/b&gt;, you will now have to choose the columns from the InstantForum_Topics table to include within the full-text index...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext7.gif" /&gt;&lt;br /&gt;&lt;br /&gt;As highlighted above you should check the "Title" and "Description" field, also notice how we choose the Word Breaker Language. For more information on full-text Word Breakers and Stemmers please refer to the link below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/wbrscenario_8p2f.asp" target="_Blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/wbrscenario_8p2f.asp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/wbrscenario_3u2c.asp" target="_Blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/wbrscenario_3u2c.asp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click &lt;b&gt;Next&lt;/b&gt;, you will see a screen similar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext8.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Here you will either need to create a new full-text catalog or choose to add the indexes to an existing catalog. For the purpose of this demonstration will are creating a new catalog called "MyNewCatalog" as highlighted above. You can name the catalog anything you like, once you've named the catalog click &lt;b&gt;Next&lt;/b&gt;, a screen similar to below will be displayed...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext9.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This screen allows you to set schedules for when your full-text catalog should be re-indexed. For the moment we won't be creating a schedule, more information on schedules can be found towards the bottom of this guide. For the moment don't change anything and click &lt;b&gt;Next&lt;/b&gt;, a summary screen similar to below will be displayed...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext10.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Click &lt;b&gt;Finish&lt;/b&gt;, SQL server will now apply the full-text indexes to your InstantForum_Topics table &amp;amp; create the full-text catalog as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext11.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Once this is complete click &lt;b&gt;OK&lt;/b&gt;, that's it for the InstantForum_Topics table. You will now need to repeat this process with a few small changes to the InstantForum_Messages table as detailed below...&lt;br /&gt;&lt;br /&gt;Right click the &lt;b&gt;InstantForum_Messages&lt;/b&gt; table, click &lt;b&gt;Full-Text Index Table&lt;/b&gt;, click &lt;b&gt;Define Full-Text Indexing on Table&lt;/b&gt; as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext12.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This will bring up the SQL Server Full-Text Indexing Wizard as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext13.gif" /&gt;&lt;br /&gt;&lt;br /&gt;As before this is simply a splash screen. Click &lt;b&gt;Next&lt;/b&gt;, a screen similar to be below will be displayed...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext14.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Leave this as default and click &lt;b&gt;Next&lt;/b&gt;, you will now have to choose the columns from the InstantForum_Messages table to include within the full-text index...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext15.gif" /&gt;&lt;br /&gt;&lt;br /&gt;As highlighted above you should check the "Message" field and select your word breaker, language click &lt;b&gt;Next&lt;/b&gt;, you will see a screen similar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext16.gif" /&gt;&lt;br /&gt;&lt;br /&gt;As we have previously created a full-text catalog when we added the indexes to the InstantForum_Topics table you will simply need to select your existing catalog as highlighted above. With your catalog selected click &lt;b&gt;Next&lt;/b&gt;, a screen similar to below will be displayed...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext17.gif" /&gt;&lt;br /&gt;&lt;br /&gt;As before simply skip this screen, click &lt;b&gt;Next&lt;/b&gt;, a summary screen as below will be displayed...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext18.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Click &lt;b&gt;Finish&lt;/b&gt;, SQL server will now apply the full-text indexes to your InstantForum_Messages as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext19.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Once this is complete click &lt;b&gt;OK&lt;/b&gt;, both tables now have the correct indexes required by InstantForum.NET. The next step is to actually populate your catalog with the data from the selected columns.&lt;br /&gt;&lt;br /&gt;Click the &lt;b&gt;Full-Text Catalogs&lt;/b&gt; node within Enterprise Manager; right click your catalog and select &lt;b&gt;Start Full Population&lt;/b&gt;. Enterprise Manager will inform you indexing has started. Simply click &lt;b&gt;OK&lt;/b&gt;, this process is shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext20.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Population may take some time depending on the size of your database. The status column within the Full-Text Catalog view displays the status of the catalog. This will read idle once the catalog has successfully populated as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext21.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Enable Full-Text Search within InstantForum.NET&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now that you've created and populated the catalog you should test this by enabling full-text within the forum administration area. You will need to login as an administrator and visit the &lt;b&gt;Manage Settings &amp;raquo; Forum Settings&lt;/b&gt; page within the administration area and update the "Search Method" option as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext22.gif" /&gt;&lt;br /&gt;&lt;br /&gt;You will have the option to use CONTAINSTABLE type searches or FREETEXTTABLE type searches. The CONTAINSTABLE and FREETEXTTABLE functions are used to specify full-text queries that return relevance rankings for each row. These functions are very similar but used differently from the full-text predicates, CONTAINS and FREETEXT.&lt;br /&gt;&lt;br /&gt;CONTAINSTABLE can also be used with prefix terms (webserv*), proximity terms ("ASP" NEAR "DHTML"), generation (word form) terms, and weighted terms [Link_Description, ISABOUT("ASP" weight (.8), DHTML weight(.4)]&lt;br /&gt;&lt;br /&gt;When FREETEXTTABLE is used, the full-text query engine internally "word-breaks" the freetext_string into a number of search terms and assigns each term a weight and then finds the matches.&lt;br /&gt;&lt;br /&gt;CONTAINSTABLE offers faster performance than FREETEXTTABLE. A FREETEXTTABLE search will return more results because it is a fuzzy search, whereas CONTAINSTABLE is a strict search. So by default, a search using the Contains predicate on rows containing the word book will only match with book; however, a search on the word book using the FreeText predicates would return rows contains the words book, books, booking, booker, and booked. FreeText is considered to be a more natural way of searching, but its performance can be up to an order of magnitude slower than using Contains, especially for larger tables. Google, for instance, uses Contains.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Updating the Full-Text Catalog&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Full-Text catalogs are not automatically updated. If you add a new post but your catalog has not updated this post will not appear within the search results. You will need to create a schedule for your catalog to ensure it's updated on a regular basis. There are two different ways you can update the catalog, by scheduled (full or incremental) populations or by tracking. &lt;br /&gt;&lt;br /&gt;Use change tracking with the background update index option when CPU and memory are available, the value of an up-to-date index is high, and immediate propagation can keep up with the rate of changes. &lt;br /&gt;&lt;br /&gt;Use change tracking with scheduled propagation when CPU and memory can be used at scheduled times, disk space for storing changes is available, and changes between the scheduled times are not so significant that the propagation takes longer than a full rebuild. Use a full rebuild when a large percentage of records change or are added at once. If a large percentage of records change over an extended period of time, consider using change tracking with scheduled or background update index.&lt;br /&gt;&lt;br /&gt;Use an incremental rebuild when a large number, but not a large percentage, of documents change at one time. If a large number of records change over an extended period of time, consider using change tracking with scheduled or background update index.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Full and incremental population:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Start sql server agent by going to Management under the server, right clicking on SQL Server agent and selecting start. To ensure this keeps running, go to SQL Server agent-Properties-Advanced and select restart sql server and restart sql server agent if it stops unexpectedly.&lt;br /&gt;&lt;br /&gt;If you are using incremental population, all tables that apply must have a column of data type TimeStamp. SQL Server sets a TimeStamp column to an 8-byte integer value that's guaranteed to be unique within a database and greater than any previously assigned value. It is automatically updated whenever you insert or update a row.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Change Tracking:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Right click on the table, go to full-text index table, and select 'Change Tracking' and 'Update Index in Background'. If both of these are selected then any time a change is made in the table SQL Server will automatically update the index. There is no need for SQL Server agent in this kind of tracking.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Creating the Schedule&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Right click your catalog and select &lt;b&gt;Schedules&lt;/b&gt; as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext23.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This will display the catalog scheduling dialog as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext24.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Click the highlighted &lt;b&gt;New Catalog Schedule&lt;/b&gt; button. This will display a dialog simlar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/fulltext25.gif" /&gt;&lt;br /&gt;&lt;br /&gt;You can see we have named our catalog and choose a full-population every 1 day at 12 midnight, however if you have a very busy forum with lots of data you may with to consider an incremental population every couple of hours. The type of population and how often your catalog is updated depends on a number of factors. If your not sure use a full-population every 1 day during low traffic hours.&lt;br /&gt;&lt;br /&gt;Click &lt;b&gt;OK&lt;/b&gt; once you've creating the schedule, and then click &lt;b&gt;OK&lt;/b&gt; again to exit the catalog scheduling dialog.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;That's It! the SQL Server full-text service should now be fully functional.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you have any questions regarding the full-text feature please don't hesitate to contact &lt;a href="http://www.instantasp.co.uk/Support/"&gt;technical support&lt;/a&gt; or post your questions within our &lt;a href="http://community.instantasp.co.uk/" target="_blank"&gt;community forums&lt;/a&gt;. </description><pubDate>Sat, 25 Apr 2009 11:59:46 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Working with InstantForum.NET &amp; Visual Studio.NET</title><link>http://kb.instantasp.co.uk/Goto11800.aspx</link><description>If you have Microsoft&amp;#169; Visual Studio.NET&amp;#8482; 2003 (or higher) you can begin working with the InstantForum.NET projects right away. The main InstantForum.NET Visual Studio.NET solution file can be found within the root of the InstantForum.NET installation as shown below. The available files may vary depending on your InstantForum.NET license.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/solutionfile.gif" /&gt;&lt;br /&gt;&lt;br /&gt;An IIS Web Application called "InstantForum40" is required to open the default InstantForum.NET solution file. The IIS "InstantForum40" Web Application is created by default if the installation is performed using the &lt;a href="http://docs.instantasp.co.uk/InstantForum/installshield.html"&gt;&lt;font color="#800080"&gt;InstallShield wizard&lt;/font&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you've chosen to &lt;a href="http://docs.instantasp.co.uk/InstantForum/manualinstallation.html"&gt;&lt;font color="#800080"&gt;manually install&lt;/font&gt;&lt;/a&gt; InstantForum.NET you will need to ensure you've created the IIS Web Application called "InstantForum40". The image below shows how to identify if the application has been created successfully. If you wish to call the web application a different name you will need to update the Visual Studio.NET solution file provided with the forum as detailed within the "Changing the Default Web Application Name" section below. &lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/iis.gif" /&gt;&lt;br /&gt;&lt;br /&gt;The highlighted icon indicates that InstantForum40 is running as a IIS web application and not simply a virtual directory. The application name should be displayed as highlighted. If this is not the case you will need to click the create button as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/iisnotapp.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Click &lt;b&gt;Create&lt;/b&gt; to make the InstantForum40 directory a IIS Web Application. Click &lt;b&gt;Apply&lt;/b&gt;, click &lt;b&gt;OK&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Once you're sure the InstantForum40 IIS Web Application exists simply click the &lt;b&gt;InstantForum.sln&lt;/b&gt; file within the root of the installation. This will load the required projects into a single solution.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Changing the Default Web Application Name&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You can use an alternative name for your IIS Web Application if desired. If you do and you wish to still use the provided solution file you will need to edit the solution file to accommodate your custom IIS Web Application name. To do this simply open the InstantForum.sln file within notepad or similar. Replace the following... http://localhost/InstantForum40/InstantForum.vbproj&lt;br /&gt;&lt;br /&gt;With....&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"http://localhost/[YOURIISWEBAPPLICATIONNAME]/InstantForum.vbproj"&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;Where [YOURIISWEBAPPLICATIONNAME] is the name you've choose for your IIS Web Application. Save the InstantForum.sln file and double click to open the solution within Visual Studio.NET&amp;#8482;. This should now attempt to load your named IIS web application. </description><pubDate>Fri, 24 Apr 2009 02:24:39 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Understanding the InstantForum.NET SearchEngineSpiders.config file</title><link>http://kb.instantasp.co.uk/Goto11799.aspx</link><description>The SearchEngineSpiders.config file within the configuration directory contains a editable list of search engine spiders recognized by the the forum. If a search engine spider is indexing your board and the spider is specified within this list the spider will be identified within the Who's On page.&lt;br /&gt;&lt;br /&gt;The SearchEngineSpiders.config file is a simple XML formatted document containing a list of HTTP_USER_AGENT tags spiders use to identify themselves and the equivalent text to display for that spider within the forum.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Identifying Bots&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The best method to identify and accommodate popular bots visiting your board is to look at your raw log files. Just like browsers search engine spiders use the HTTP_USER_AGENT header to transmit their identity. The HTTP_USER_AGENT header is used by InstantForum.NET to identify spiders. For example say upon looking at your logs you identified the following entry as a search engine spider...&lt;br /&gt;&lt;br /&gt;FAST-WebCrawler/2.2.6 (crawler@fast.no; http://www.fast.no/faq/faqfastwebsearch/faqfastwebcrawler.html)&lt;br /&gt;&lt;br /&gt;To accommodate for this bot you could create the following XML element within the SearchEngineSpiders.config file...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spiders&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spider&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; Agent&lt;span style="COLOR: #0000ff"&gt;="FAST-WebCrawler"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;FastWeb&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spider&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spiders&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;The above example performs a partial match of the HTTP_USER_AGENT tag; a partial match is useful if you don't wish to maintain the SearchEngineSpiders.config file each time a search engine slightly revising the HTTP_USER_AGENT tag. You can also provide a full match as shown below however maintaining full matches can become very time-consuming...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spiders&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spider&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; Agent&lt;span style="COLOR: #0000ff"&gt;="FAST-WebCrawler/2.2.6 (&lt;a href="mailto:crawler@fast.no"&gt;crawler@fast.no&lt;/a&gt;;&lt;br /&gt;        &lt;a href="http://www.fast.no/faq/faqfastwebsearch/faqfastwebcrawler.html)%22%3EFastWeb%3C/Spider%3E%3C/Spiders"&gt;http://www.fast.no/faq/faqfastwebsearch/faqfastwebcrawler.html)"&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;FastWeb&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spider&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;Spiders&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;FastWeb&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;A number of popular search engines are provided within the SearchEngineSpiders.config file by default.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Excluding Bots&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You can stop bots from crawling your board using the robots.txt file. To learn about the robots.txt file please see the links below... &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.searchengineworld.com/robots/robots_tutorial.htm" target="_blank"&gt;&lt;font color="#0066cc"&gt;http://www.searchengineworld.com/robots/robots_tutorial.htm&lt;/font&gt;&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://linuxreviews.org/webdesign/searchengines/" target="_blank"&gt;&lt;font color="#0066cc"&gt;http://linuxreviews.org/webdesign/searchengines/&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Fri, 24 Apr 2009 02:20:10 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Understanding the InstantForum.NET URLRewrite.config file</title><link>http://kb.instantasp.co.uk/Goto11798.aspx</link><description>The XML based URLRewrite.config file can be found within the installation directory.&lt;br /&gt;&lt;br /&gt;This is typically located at C:\Inetpub\wwwroot\InstantForum40\URLRewrite.config. This file defines URL rewriting rules used by the forum to dynamically rewrite the requested URL based on the search and replace patterns defined within the URLRewrite.config file.&lt;br /&gt;&lt;br /&gt;You can use regular expressions to search for a URL pattern to replace. For example if you have a page called MyCustomDetails.aspx and you wanted to pass an integer querystring value into this page whilst taking advantaging of URL rewriting you would define a new rule similar to the following within the URLRewrite.config file...&lt;br /&gt;&lt;br /&gt;&amp;lt;Rule Value="MyCustomDetails([0-9]+).aspx"&gt;MyCustomDetails.aspx?MyQueryString=$1&amp;lt;/Rule&gt;&lt;br /&gt;&lt;br /&gt;This will tell the InstantForum.NET application to actually request MyCustomDetails.aspx?MyQueryString=[SOMEINTVALUE] when you enter MyCustomDetails[SOMEINTVALUE].aspx within the browsers address bar. The XML Value attribute is what is actually search for and the InnerText within the XML element is what should be used to replace a matched search pattern.&lt;br /&gt;&lt;br /&gt;The above example uses regular expressions ([0-9]+) to search for any integer querystring value. Typically a database record identity. You could replace this to search for specific text or other numeric patterns if desired.&lt;br /&gt;&lt;br /&gt;Note the parentheses within the search pattern "MyCustomDetails([0-9]+).aspx", any match within the parentheses can be replaced by corresponding $1, $2 etc within your replace pattern. In this case MyCustomDetails.aspx?MyQueryString=$1. </description><pubDate>Fri, 24 Apr 2009 02:04:30 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Understanding the InstantForum.NET Pages.config file</title><link>http://kb.instantasp.co.uk/Goto11797.aspx</link><description>The XML based Pages.config file can be found within the installation directory.&lt;br /&gt;&lt;br /&gt;This is typically located at C:\Inetpub\wwwroot\InstantForum40\Pages.config. Responsible for defining all forum directory and file names. This assists with providing a central location to easily manage directory and filenames. For example if you wanted to change the name of the Members.aspx page you would simply rename the file, update it's reference within the Pages.config, define the &lt;font color="#0066cc"&gt;URL Rewriting rule&lt;/font&gt; and the links will be updated globally throughout the forum.&lt;br /&gt;&lt;br /&gt;The &lt;a href="/Documentation/Understanding-the-InstantForum.NET-Web.config-file"&gt;&lt;font color="#800080"&gt;Web.Config&lt;/font&gt; file&lt;/a&gt; contains a reference to the Pages.Config file. You can rename or move the default Pages.config file however if you do please ensure you remember to update the InstantASP_PageData application setting contained within the Web.Config file to point to your custom Pages.Config file.</description><pubDate>Fri, 24 Apr 2009 02:02:01 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Understanding the InstantForum.NET CacheDurations.config file</title><link>http://kb.instantasp.co.uk/Goto11796.aspx</link><description>The XML based CacheDurations.config file can be found within the Configuration directory within the installation root.&lt;br /&gt;&lt;br /&gt;This is typically located at C:\Inetpub\wwwroot\InstantForum40\Configuration\CacheDurations.config. This file assists with determining how long data should be held within the application cache before being requested again from the database.&lt;br /&gt;&lt;br /&gt;If you have a very busy site and you would like to reduce your database overhead you can increase the values within this file to hold data within the cache for longer periods of time. If data is updated an attempt is made to refresh the cache with the updated data even if the cache duration as not expired. Similar if you have a very quiet site you may wish to decrease cache durations to ensure the cache is more frequently refreshed from the database.&lt;br /&gt;&lt;br /&gt;Typically these values will not need to be changed however developers looking for a little more control may find this file useful.</description><pubDate>Fri, 24 Apr 2009 01:59:46 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Understanding the InstantForum.NET Web.config file</title><link>http://kb.instantasp.co.uk/Goto11795.aspx</link><description>The Web.config file within the installation directory contains key application settings that may require updating before a v4.0 installation will function. The Web.Config file can be modified using any standard ASCII editor such as NotePad. Do NOT edit the web.config file with a WYSIWYG editor such as MS Word&amp;#8482;. An overview of each key Web.Config element is provided below. &lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Application Settings&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The &amp;lt;appSettings&gt; element of the web.config file is used to stored key application settings. The database connection string application setting is dependent upon the environment, for instance, this will change as you move your forum from a testing and staging server into production.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;appSettings&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;The data provider to use for the application.&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Providers include SqlClient, OLEDB, ODBC, Oracle, Currently only SqlClient is supported.&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_DataProvider"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="SqlClient"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;b&gt;VERY IMPORTANT!&lt;/b&gt; &lt;/span&gt;&lt;font color="#008200"&gt;The connection string to the data provider&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Please refer to "&lt;a href="/Documentation/Installing-InstantForum.NET-Step-4-Editing-The-Web.Config"&gt;&lt;font color="#800080"&gt;Step 4 : Editing The Web.Config&lt;/font&gt;&lt;/a&gt;" section of the user guide for more information&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_ConnectionString"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="server=localhost; Trusted_Connection=true; &lt;br /&gt;database=InstantForumLive2;"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;						&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;The name of the owner for database objects&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_DatabaseOwner"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="dbo"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Virtual path to location of the XML based configuation file defining file and folder names&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_PageData"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="Pages.config"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Interval in milliseconds to poll the InstantASP_Sessions table and remove any expired data&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Example 300000 milliseconds polls the InstantASP_Sessions table every 5 mins and removes expired session data&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;The default value is to poll for expired data every 1 minute i.e. every 60000 milliseconds&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_SessionCleanUpInterval"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="60000"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Interval in milliseconds to poll the InstantASP_Emails table and send any queued emails&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Example 300000 milliseconds polls the InstantASP_Emails table every 5 mins to send queued emails&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;The default value is to poll for emails every 1 minutes i.e. every 60000 milliseconds&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_EmailInterval"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="60000"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Determines which is method is used within the application to log any exceptions that may occur&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Possible event log options are: ToFile, ToEventLog Or ToEmail. To disable use None.&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;If you choose ToFile exceptions will be written to Exceptions.config within the installation root&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_ExceptionLogMethod"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="ToEmail"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;	&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Determines which email address is used to send exception notifications to if the above&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;InstantASP_ExceptionLogMethod setting is set to ToEmail.&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_ExceptionEmailAddress"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="errors@yourdomain.com"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Period in seconds allowed for queries before they timeout, if your performing a large&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;job such as deleting a forum containing thousands of posts and your receiving timeout&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;exception errors this value may need to be increased to allow the query to complete&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_CommandTimeout"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="120"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;			&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;Interval in milliseconds to poll the built in tasks such as deleting temporary attachments,&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;deleting search results and deleting read forum and topic information, the custom scheduled tasks&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;within the InstantASP_ScheduledTasks table are also polled at this interval&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_TaskInterval"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;="60000"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;If you install InstantForum.NET within a sub-folder of a IIS web application you will&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;need to provide the full virtual path from the root of your web application to the&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;forum installation below, For example if you install the forum to a web application&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;located at c:\test\ but you wanted to add the forum to c:\test\forums\myforum\&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt;--&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;you would modify the setting below to read "forums/myforum" This indicates the&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;virtual path from the web application root, if you don't install the forum to the&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;root of a web application please ensure you move the bin directory and this web.config&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt;  --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;to your web applications root directory, typically you can leave this blank, it is only&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008000"&gt;required if you don't install InstantForum.NET within the root of a IIS web application&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; key&lt;span style="COLOR: #0000ff"&gt;="InstantASP_VirtualPath"&lt;/span&gt; value&lt;span style="COLOR: #0000ff"&gt;=""&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;/span&gt;		&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;appSettings&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;&lt;b class="Header"&gt;HTTP Modules&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The &amp;lt;httpModules&gt; element of the web.config file configures the shared and forum specific HTTP modules. The HTTP modules defined all provide services like authentication and authorization, task management, email polling, exception handling and more. These modules are very important in order for InstantForum.NET to operate correctly. These should always be included within the web.config like so...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;system.web&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#ff0000"&gt;&lt;b&gt;VERY IMPORTANT! &lt;/b&gt;&lt;/font&gt;&lt;font color="#008200"&gt;Required HttpModules&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;These must be included in your web.config for the application to function correctly.&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;httpModules&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;HttpModule used to manage user authentication&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; type&lt;span style="COLOR: #0000ff"&gt;="InstantASP.Common.HttpModule.SecurityModule, InstantASP.Common"&lt;/span&gt; name&lt;span style="COLOR: #0000ff"&gt;="SecurityModule"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;HttpModule used to perform dynamic URL rewriting&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; type&lt;span style="COLOR: #0000ff"&gt;="InstantASP.Common.HttpModule.RewriterModule, InstantASP.Common"&lt;/span&gt; name&lt;span style="COLOR: #0000ff"&gt;="RewriterModule"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;HttpModule used to manage general tasks within all InstantASP applications&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; type&lt;span style="COLOR: #0000ff"&gt;="InstantASP.Common.HttpModule.ServiceModule, InstantASP.Common"&lt;/span&gt; name&lt;span style="COLOR: #0000ff"&gt;="ServiceModule"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;HttpModule used to manage application generated emails&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; type&lt;span style="COLOR: #0000ff"&gt;="InstantASP.Common.HttpModule.EmailModule, InstantASP.Common"&lt;/span&gt; name&lt;span style="COLOR: #0000ff"&gt;="EmailModule"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;HttpModule used to monitor and handle any application exceptions&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; type&lt;span style="COLOR: #0000ff"&gt;="InstantASP.Common.HttpModule.ExceptionModule, InstantASP.Common"&lt;/span&gt; name&lt;span style="COLOR: #0000ff"&gt;="ExceptionModule"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;!--&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; &lt;/span&gt;&lt;font color="#008200"&gt;HttpModule used to manage scheduled tasks specific to InstantForum.NET&lt;/font&gt;&lt;span style="COLOR: #ff0000"&gt; --&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;add&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt; type&lt;span style="COLOR: #0000ff"&gt;="InstantASP.InstantForum.HttpModule.ForumModule, InstantASP.InstantForum"&lt;/span&gt; name&lt;span style="COLOR: #0000ff"&gt;="ForumModule"&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;/&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;httpModules&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: #800000"&gt;system.web&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;</description><pubDate>Fri, 24 Apr 2009 01:47:33 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Transfering Your InstantForum.NET Database</title><link>http://kb.instantasp.co.uk/Goto11793.aspx</link><description>Occasionally you may need to transfer your InstantForum.NET database between two SQL servers. This sections details the steps necessary to successfully copy your InstantForum.NET database &amp;amp; all contained data between two SQL servers.&lt;br /&gt;&lt;br /&gt;Before you begin to transfer you should ensure you've created a destination database that all the database objects &amp;amp; data will be copied to. If you already have an existing database you can safely use your existing database. All InstantForum.NET database objects have a unique naming convention. To begin transferring your database right click the &lt;b&gt;source database&lt;/b&gt; and select "&lt;b&gt;Export Data&lt;/b&gt;" as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/exportdata.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This will launch the Data Transformation Services (DTS) Import/Export Wizard as shown below. We will be using the DTS wizard to transfer our database objects &amp;amp; data between databases.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts1.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Click &lt;b&gt;Next&lt;/b&gt;, You will now be prompted for the connection details for the source database as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts2.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This information should be pre-populated with the connection details of your source database. If not select the source of the data. Fill in the following fields with the information necessary to access the data source: The Server containing the data, The Username and Password needed to access the data on the server, The Database containing the data. Click &lt;b&gt;Next&lt;/b&gt;, You will now need to specify a destination server as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts3.gif" /&gt;&lt;br /&gt;&lt;br /&gt;In the "Choose a destination" dialog box, complete the following fields with the information related to the destination of the data to be transferred:  The Username and Password needed to access the destination server, The Database into which the data will be transferred. You should select the database to copy all the tables and stored procedures to by selecting the database as shown above. &lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts4.gif" /&gt;&lt;br /&gt;&lt;br /&gt;You should select the bottom option highlighted, "Copy objects and data between SQL Server databases". This will ensure not only are your tables and stored procedures copied to the destination database but also the data contained within your tables. Click Next, You will now need setup various options that will be applied when transferring your database objects &amp;amp; data...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts5.gif" /&gt;&lt;br /&gt;&lt;br /&gt;If you wanted to selectively choose which forum tables and stored procedures to transfer you should uncheck the "Copy all objects" option and then click the "Select Objects" button. You can then choose the specific tables and stored procedures to copy. For the purpose of this demonstration we wish to copy all objects within the source database so we will leave the "Copy all objects" option checked.&lt;br /&gt;&lt;br /&gt;You should however uncheck the "Use default options" checkbox as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts6.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Once you uncheck the "Use default options" checkbox the "Options" button will become enabled, click the &lt;b&gt;Options&lt;/b&gt; button as shown above, you will be presented with a screen similar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts7.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Notice how the top three checkboxes and the Generate Script in Unicode check boxes are unchecked. You should ensure your copy options dialog box mirrors the exact settings used above. Click &lt;b&gt;OK&lt;/b&gt;, click &lt;b&gt;Next&lt;/b&gt;, you will be presented with a screen simlar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts8.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Leave all the options as default and click &lt;b&gt;Next&lt;/b&gt;, you will receive a final summary screen similar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts9.gif" /&gt;&lt;br /&gt;&lt;br /&gt;The highlighted area simply displays a summary of the transfer DTS is about to perform. You should double check this information and ensure you're happy. Clicking the &lt;b&gt;Next&lt;/b&gt; button will begin the transfer. Upon clicking next you'll receive a screen simlar to below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts10.gif" /&gt;&lt;br /&gt;&lt;br /&gt;This may take some time to complete depending on the size of your database and connection speed. If your database is very large this may never complete or cause you problems.&lt;br /&gt;&lt;br /&gt; this is the case you should transfer the largest InstantForum.NET database tables separately using the same method detailed here however selectively choosing the tables to by unchecking the "Copy all objects" option within the "Select Objects to Copy" wizard screen. The tables that will typically cause problems becuase of size are InstantForum_Attachments, InstantForum_Topics and InstantForum_Messages.&lt;br /&gt;&lt;br /&gt;Once the copy has completed you'll receive a prompt similar to the one shown below...&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.instantasp.co.uk/InstantForum/dts11.gif" /&gt;&lt;br /&gt;&lt;br /&gt;Click &lt;b&gt;OK&lt;/b&gt;, that's it. All your database tables, stored procedures and data should now be available on the destination server.&lt;br /&gt;&lt;br /&gt;As we did not copy over the users &amp;amp; roles associated with your objects (this typically causes problems) you will need to re-configure your SQL Server account information &amp;amp; permissions within the destiniation database. </description><pubDate>Fri, 24 Apr 2009 01:12:08 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Backing Up Your InstantForum.NET Database</title><link>http://kb.instantasp.co.uk/Goto11792.aspx</link><description>To perform a backup of your existing InstantForum.NET database you should connect to your database using Query Analyzer or similar tool. You can use the following T-SQL statements to perform a backup of your SQL Server database: &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b class="Header"&gt;Create a Back Up Device&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre class="Code"&gt;exec sp_addumpdevice 'DISK' , 'ForumBackUp' , 'C:\InstantForum.bak'&lt;/pre&gt;&lt;p&gt;&lt;b&gt;'DISK'&lt;/b&gt; : back up the database to your disk. You can also use 'TAPE' to back up to a tape drive.&lt;br /&gt;&lt;b&gt;'ForumBackUp'&lt;/b&gt; : the name of the backup, and it' s the name you will use in the backup statment later.&lt;br /&gt;&lt;b&gt;'C:\InstantForum.bak'&lt;/b&gt; : The physical path to the disk volume you are backing up to.&lt;br /&gt;&lt;br /&gt;&lt;b class="Header"&gt;Perform the Back Up&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;font class="Code"&gt;BACKUP DATABASE [DatabaseName] &lt;br /&gt;TO ForumBackUp &lt;br /&gt;WITH &lt;br /&gt;DESCRIPTION = 'InstantForum.bak' , &lt;br /&gt;STATS&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Backup will typically take less than 1 minute depending on the size of your database.&lt;br /&gt;&lt;br /&gt;For example to back an existing InstantForum.NET 4.1.4 database you would use something similar to the following:&lt;/p&gt;&lt;pre&gt;&lt;font class="Code"&gt;exec sp_addumpdevice 'DISK' , 'InstantForum414' , 'C:\InstantForum.bak' &lt;br /&gt;BACKUP DATABASE [InstantForum34] &lt;br /&gt;TO InstantForum414 &lt;br /&gt;WITH &lt;br /&gt;DESCRIPTION = 'InstantForum.bak' , &lt;br /&gt;STATS &lt;/font&gt;&lt;br /&gt;For further information on backing up and restoring SQL databases please refer to the links below... &lt;/pre&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/howtosql/ht_7_backpc_7cft.asp?frame=true" target="_blank"&gt;How to create a database backup&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/howtosql/ht_7_backpc_4zzt.asp" target="_blank"&gt;How to restore a database backup&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Fri, 24 Apr 2009 00:48:31 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item></channel></rss>