﻿<?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>Thu, 02 Sep 2010 15:28:32 GMT</lastBuildDate><ttl>20</ttl><item><title>A potentially dangerous Request.Form value was detected</title><link>http://kb.instantasp.co.uk/Goto11854.aspx</link><description>&lt;p&gt;When creating new articles within InstantKB.NET or posting new topics within InstantForum.NET you may receive the following error message. "A potentially dangerous Request.Form value was detected from the client".&lt;/p&gt;&lt;p&gt;This is a standard ASP.NET security feature called request validation. You can read more on this here…&lt;br /&gt;&lt;a href="http://www.asp.net/learn/whitepapers/request-validation"&gt;http://www.asp.net/learn/whitepapers/request-validation&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Whilst we do already set requestValidation to false by default within both the InstantForum.NET &amp;amp; InstantKB.NET web.config it could be you encounter this error if you've modified the web.config are are using an alternative web.config.&lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;Resolution&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;You need to disable requestValidation from within the web.config file. We provide our own protection for all user input against XSS or SQL injection attacks.&lt;/p&gt;&lt;p&gt;Please ensure the validateRequest attribute is present within your &amp;lt;pages/&amp;gt; element and is set to false…&lt;/p&gt;&lt;p class="Code"&gt;&amp;lt;pages &lt;span style="background-color: #ffff00;"&gt;validateRequest="false"&lt;/span&gt; /&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;span class="Header"&gt;ASP.NET 4.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For ASP.NET 4.0 installations you'll need to add the following to your web.config...&lt;/p&gt;&lt;p class="Code"&gt;&amp;lt;httpRuntime requestValidationMode="2.0" /&amp;gt; &lt;/p&gt;&lt;p&gt;See this &lt;a href="http://www.asp.net/learn/whitepapers/aspnet4/breaking-changes" class="ApplyClass"&gt;whitepaper&lt;/a&gt; for more information. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;That's It!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I hope this information helps. As always if you have any questions please don't hesitate to &lt;a href="http://www.instantasp.co.uk/Contact" class="ApplyClass"&gt;contact us&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Fri, 27 Aug 2010 14:49:16 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>How can I remove the Powered By / Copyright footer text?</title><link>http://kb.instantasp.co.uk/Goto11853.aspx</link><description>You can hide the Powered By InstantForum.NET or Powered By InstantKB.NET and / or the standard copyright message that is displayed at the bottom of each InstantForum.NET &amp;amp; InstantKB.NET page by modifying the "\Skins\{SkinName}\Controls\Footer.ascx" file.&lt;br /&gt; &lt;br /&gt;&lt;span class="Header"&gt;InstantForum.NET 2010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Modify this file as so…&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&amp;lt;div class="contentFooter" &lt;span style="background-color: #ffff00;"&gt;visible=”false” runat=”server”&lt;/span&gt;&amp;gt;&lt;br /&gt;                      &lt;br /&gt;    &amp;lt;InstantASP:HorizontalLine ID="HorizontalLine1" CssClass="contentFooterLine" Runat="Server"/&amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;InstantASP:Spacer runat="Server" /&amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;div class="SmallTxt" style="text-align: center; width: 100%;"&amp;gt;&lt;br /&gt;      &amp;lt;InstantASP:HyperLink runat="Server" id="hypCopyright" /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;      &amp;lt;InstantASP:Label id="lblRequestTime" Runat="server"/&amp;gt; &lt;br /&gt;      &amp;lt;InstantASP:Label id="lblDatabaseQueries" Runat="Server"/&amp;gt; &lt;br /&gt;      &amp;lt;InstantASP:Label id="lblCompression" runat="server"/&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;My changes are highlighted in yellow.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;InstantKB.NET 2.0.6&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Modify the file like so...&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span class="Code"&gt;&amp;lt;div class="contentFooter" &lt;span style="background-color: #ffff00;"&gt;visible=”false” runat=”server”&lt;/span&gt;&amp;gt;&lt;br /&gt;     &lt;br /&gt;    &amp;lt;InstantKB:FooterOptions id="ctlFooterOptions" Runat="Server"/&amp;gt;&lt;br /&gt;            &lt;br /&gt;    &amp;lt;InstantASP:HorizontalLine CssClass="contentFooterLine" Runat="Server"/&amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;InstantASP:Spacer runat="Server" /&amp;gt;&lt;br /&gt;    &lt;br /&gt;    &amp;lt;div class="SmallTxt" style="float: left; text-align: center; width: 100%;"&amp;gt;&lt;br /&gt;        &amp;lt;InstantASP:HyperLink id="hypCopyright" CssClass="SmlLinks" Runat="Server"/&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;        &amp;lt;InstantASP:Label id="lblRequestTime"  Runat="server"/&amp;gt; &lt;br /&gt;        &amp;lt;InstantASP:Label id="lblDatabaseQueries" Runat="Server"/&amp;gt; &lt;br /&gt;        &amp;lt;InstantASP:Label id="lblCompression" Runat="server"/&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;    &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;The changes&lt;/span&gt; are highlighted in yellow. &lt;br /&gt;&lt;br /&gt;I hope this information helps. If you have any questions please don't hesitate to &lt;a href="http://www.instantasp.co.uk/Contact/" class="ApplyClass"&gt;contact us&lt;/a&gt;. &lt;/p&gt;</description><pubDate>Fri, 27 Aug 2010 14:18:59 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>404 Error When Clicking Articles or Topics</title><link>http://kb.instantasp.co.uk/Goto11851.aspx</link><description>&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;When clicking on an article within InstantKB.NET or a topic within InstantForum.NET  you may receive a "404 Page Cannot Be Found" or a "The Resource cannot be found." message. &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;This typically occurs if the URL rewriting module is not configured correctly. &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;To resolve this please follow the steps below…&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;&lt;strong class="Header"&gt;Classic .NET Application Pools&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;ol style="list-style-type: decimal; font-style: normal; margin-top: 0in; unicode-bidi: embed; font-family: calibri; direction: ltr; margin-bottom: 0in; margin-left: 0.375in; font-size: 12pt; font-weight: normal;"&gt;    &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;" value="1"&gt;&lt;span style="font-style: normal; font-family: calibri; font-size: 12pt; font-weight: normal;"&gt;If your using IIS7 please ensure InstantForum.NET or InstantKB.NET is installed within a Classic .NET Application Pool.&lt;/span&gt; &lt;/li&gt;&lt;/ol&gt;&lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;ol style="list-style-type: decimal; font-style: normal; margin-top: 0in; unicode-bidi: embed; font-family: calibri; direction: ltr; margin-bottom: 0in; margin-left: 0.375in; font-size: 12pt; font-weight: normal;"&gt;    &lt;li style="margin-top: 0px; margin-bottom: 0px; vertical-align: middle;" value="2"&gt;&lt;span style="font-style: normal; font-family: calibri; font-size: 12pt; font-weight: normal;"&gt;Ensure the following entry is present within your web.config file...&lt;/span&gt; &lt;/li&gt;&lt;/ol&gt;&lt;p style="margin: 0in 0in 0in 0.375in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;p class="Code"&gt;&amp;lt;httpModules&amp;gt;&lt;br /&gt;&amp;lt;add type="InstantASP.InstantKB.HttpModule.URLRewritterModule, InstantASP.InstantKB" name="URLRewritterModule"/&amp;gt;&lt;br /&gt;&amp;lt;/httpModules&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;Integrated Application Pools&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;If your using InstantForum.NET or InstantKB.NET in a IIS7 integrated application pool you will need to ensure you follow the steps in the articles shown below…&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;&lt;strong&gt;InstantForum.NET&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;&lt;a href="http://docs.instantasp.co.uk/Docs/Deploying-InstantForum.NET-on-IIS-7-Integrated-mode"&gt;&lt;br /&gt;http://docs.instantasp.co.uk/Docs/Deploying-InstantForum.NET-on-IIS-7-Integrated-mode&lt;/a&gt;&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;&lt;strong&gt;InstantKb.NET&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;&lt;a href="http://docs.instantasp.co.uk/Docs/Deploying-InstantKB.NET-on-IIS-7-Integrated-mode"&gt;&lt;br /&gt;http://docs.instantasp.co.uk/Docs/Deploying-InstantKB.NET-on-IIS-7-Integrated-mode&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 12pt;"&gt;If this article does not elp resolve your problem please don't hesitate to &lt;a href="http://my.instantasp.co.uk/MyTickets.aspx" class="ApplyClass"&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>Tue, 10 Aug 2010 12:42:29 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Security Exception after installing InstantForum.NET or InstantKB.NET</title><link>http://kb.instantasp.co.uk/Goto11850.aspx</link><description>&lt;p&gt;After installing InstantKB.NET or InstantForum.NET in a medium trust hosting environment you may receive the following error...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;em&gt;System.Security.SecurityException: Request for the permission of type 'System.Configuration.ConfigurationPermission, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' failed.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/SecurityException.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Cause&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;This error can occur if your running InstantForum.NET or InstantKB.NET in medium trust and have not installed the System.Web.Extensions.dll to the GAC. &lt;/p&gt;&lt;p&gt;We provide a copy of the System.Web.Extensions.dll within the "\bin" directory for either InstantForum.NET or InstantKB.NET. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;&lt;strong class="Header"&gt;Resolution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Install the correct version of the ASP.NET AJAX Extensions which will install the correct System.Web.Extensions.dll file to the GAC. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Check Your Web.Config File&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If your referencing the .NET 3.5 SP1 version of the System.Web.Extensions.dll within your web.config as shown below you should ensure .NET 3.5 SP1 is installed correctly. &lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&amp;lt;assemblies&amp;gt;&lt;br /&gt;&amp;lt;add assembly="System.Web.Extensions, Version=&lt;span style="background-color: #ffff00;"&gt;3.5.0.0&lt;/span&gt;, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;&lt;br /&gt;&amp;lt;add assembly="System.Web.Extensions.Design, Version=&lt;span style="background-color: #ffff00;"&gt;3.5.0.0&lt;/span&gt;, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;&lt;br /&gt;&amp;lt;/assemblies&amp;gt;&lt;/span&gt;&lt;br /&gt;If your using .NET 2.0 you may be referencing the older version of the System.Web.Extensions.dll within your web.config as shown below..&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;&amp;lt;assemblies&amp;gt;&lt;br /&gt;&amp;lt;add assembly="System.Web.Extensions, Version=&lt;span style="background-color: #ffff00;"&gt;1.0.61025.0&lt;/span&gt;, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/&amp;gt;&lt;br /&gt;&amp;lt;add assembly="System.Web.Extensions.Design, Version=&lt;span style="background-color: #ffff00;"&gt;1.0.61025.0&lt;/span&gt;, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;&lt;br /&gt;&amp;lt;/assemblies&amp;gt;&lt;/span&gt;&lt;br /&gt;If your referencing the 1.0.61025.0 version of the System.Web.Extensions.dll you'll need to install ASP.NET AJAX 1.0...&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This will add the required DLL files to your GAC.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Additional Notes&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If your able to run InstantKB.NET in full trust please update the &lt;span style="font-family: consolas; color: #0000ff; font-size: 13px;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: consolas; color: #a31515; font-size: 13px;"&gt;trust&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 13px;"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: #ff0000; font-size: 13px;"&gt;level&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 13px;"&gt; =&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 13px;"&gt;"&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 13px;"&gt;Medium&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 13px;"&gt;"&lt;/span&gt;&lt;span style="font-family: consolas; color: #0000ff; font-size: 13px;"&gt;/&amp;gt; &lt;/span&gt;&lt;/span&gt;element within your web.config.&lt;br /&gt;&lt;br /&gt;Update this to read &lt;span style="font-family: consolas; font-size: 13px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515;"&gt;trust&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;level&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; =&lt;/span&gt;"&lt;span style="color: #0000ff;"&gt;Full&lt;/span&gt;"&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;This should resolve the problem for customers who can run our software in full trust.&lt;br /&gt;&lt;br /&gt;You can check which versions of the System.Web.Extensions.dll is installed within your GAC by navigating to the "C:Windows\Assembly" folder on your server. &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;That's It!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If we can assist with any questions as always please don't hesitate to &lt;a href="http://www.instantasp.co.uk/Contact" class="ApplyClass"&gt;contact us&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Tue, 22 Jun 2010 16:24:16 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>I've locked myself out of my InstantKB.NET installation</title><link>http://kb.instantasp.co.uk/Goto11849.aspx</link><description>&lt;p&gt;With InstantKB.NET 2.0 we provide the ability within the Admin CP to disable the login &amp;amp; registration features. This is intended for those who have integrated InstantKB.NET with an existing login &amp;amp; registration system. &lt;/p&gt;&lt;p&gt;You can see these options below…&lt;br /&gt;&lt;br /&gt;&lt;img width="600" height="278" alt="" width="600" height="278" src="http://kb.instantasp.co.uk/Uploads/Images/kbloginregdisabled.gif" /&gt;&lt;/p&gt;&lt;p&gt;We would not suggest disabling the login or registration pages if you depend unpin these to access your InstantKB.NET installation. &lt;/p&gt;&lt;p&gt;If you do accidently disable the login page and lock yourself out of your InstantKB.NET Admin CP  you'll need to modify the InstantKB.NET database directly to re-enable the login page. &lt;/p&gt;&lt;p&gt;To reset your InstantKB.NET login &amp;amp; registration settings please follow the steps below…&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. &lt;/strong&gt;Connect to your InstantKB.NET database &lt;/p&gt;&lt;p&gt;You'll need to connec to your SQL Server instance with SQL Server Management Studio or similar tool that allows you to execute quries against your database. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;2. &lt;/strong&gt;Execute the following TSQL against your InstantKB.NET database…&lt;/p&gt;&lt;p class="Code"&gt;UPDATE InstantKB_Settings&lt;br /&gt;SET       SettingsXML = ''&lt;br /&gt;WHERE (SettingText = 'AdminSettings_RegistrationLogin')&lt;/p&gt;&lt;p&gt;This will delete all login &amp;amp; registration settings within your InstantKB_Settings table.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;3. &lt;/strong&gt;Recycle the ASP.NET cache. &lt;/p&gt;&lt;p&gt;As you've modified the database directly you may need to recycle the InstantKB.NET application pool to clear the ASP.NET cache and force InstantKB.NET to get the latest settings from your database. &lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;That's It!&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;When you visit your InstantKB.NET installation you should not see the login &amp;amp; registration links as expected. IF you have any questions or problems please don't hesitate to &lt;a href="http://www.instantasp.co.uk/Contact/" class="ApplyClass"&gt;contact us&lt;/a&gt;.&lt;/p&gt;</description><pubDate>Thu, 10 Jun 2010 13:35:58 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>How do I remove the alternate logins within InstantForum.NET?</title><link>http://kb.instantasp.co.uk/Goto11848.aspx</link><description>&lt;p&gt;With InstantForum.NET 2010 we provide the option for your users to login using Google, Yahoo, AOL, OpenID &amp;amp; if configured &lt;a href="http://docs.instantasp.co.uk/Docs/Enabling-Twitter-Login-with-InstantForum.NET" class="ApplyClass" target="_blank"&gt;Twitter&lt;/a&gt;…&lt;/p&gt;&lt;p&gt; &lt;img alt="" src="http://blog.instantasp.co.uk/Uploads/Images/LoginViaTwitter.gif" /&gt;&lt;/p&gt;&lt;p&gt;Whilst this is helpful as you don't have to go through the forum registration process we appreciate your may wish to disable these options. &lt;/p&gt;&lt;p&gt;To remove the alternate logins panel &amp;amp; disable the ability to login via the 3rd party services follow the steps below…&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Navigate to your InstantForum.NET \bin directory.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Remove the following DLLs from your bin directory... &lt;/p&gt;&lt;ul&gt;    &lt;li&gt;DotNetOpenAuth.dll &lt;/li&gt;    &lt;li&gt;DotNetOpenAuth.ApplicationBlock.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;If InstantForum.NET does not find these assemblies the alternative logins panel won't be displayed. &lt;/p&gt;&lt;p class="Header"&gt;Test Your Changes&lt;/p&gt;&lt;p&gt;Open your web browser and navigate to your InstantForum.NET installation. Visit the forum login page and you'll notice the panel on the right showing the alternative logins is no longer displayed.&lt;/p&gt;</description><pubDate>Wed, 09 Jun 2010 17:38:01 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>New Documentation Area Online</title><link>http://kb.instantasp.co.uk/Goto11847.aspx</link><description>&lt;p&gt;All future documentation will now be published within our dedicated documentation area located at…&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://docs.instantasp.co.uk/" class="ApplyClass" target="_blank"&gt;&lt;strong&gt;http://docs.instantasp.co.uk/&lt;/strong&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Our new documentation area is based on the forthcoming InstantKB.NET 2010 update. We feel the skin offers a much easier way to navigate product documentation and this skin will be available with InstantKB.NET 2010. &lt;/p&gt;&lt;p&gt;The new documentation area is very focused and is intended to assist customers quickly get started with our products. We'll also be publishing user guides within the new documentation area to assist end users, administrators &amp;amp; moderators. &lt;/p&gt;&lt;p&gt;We will continue to publish FAQs, common problems &amp;amp; hot-fixes here within the knowledgebase. Also as InstantKB.NET matures and we introduce new features we'll be taking advantage of those features here within our own knowledgebase. For example we are planning to introduce ticketing support in future versions. &lt;/p&gt;&lt;p&gt;No further information will be published under this tab. Once our documentation area is fully complete we'll update this tab to redirect to the new documentation. &lt;/p&gt;</description><pubDate>Tue, 25 May 2010 17:08:19 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Could not load type 'InstantASP.InstantForum.UI.Base.Page'</title><link>http://kb.instantasp.co.uk/Goto11846.aspx</link><description>When integrating InstantForum.NET int an existing VB.NET or C# web site you may receive the following error message "Could not load type 'InstantASP.InstantForum.UI.Base.Page'." as shown below...&lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/CouldNotLoadBasePage.gif" /&gt;&lt;br /&gt;&lt;br /&gt;To resolve this problem simply copy the "&lt;strong&gt;App_Code&lt;/strong&gt;" folder within the InstantForum.NET directory into your web site folder. We'll be improving this with future versions to ensure the Ap_Code folder is not required when integrating InstantForum.NET with your existing web site solution. </description><pubDate>Sat, 22 May 2010 01:05:54 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Method not found InstantASP.Common.Data.DataProvider.InsertUpdateUser</title><link>http://kb.instantasp.co.uk/Goto11845.aspx</link><description>When running the InstantForum.NET 2010 End User License you may receive the following error when attempting to update user profile information...&lt;br /&gt;&lt;br /&gt;&lt;span class="Code"&gt;Exception Type:        System.MissingMethodException&lt;br /&gt;Exception Message:     Method not found: 'Int32 InstantASP.Common.Data.DataProvider.InsertUpdateUser(Int32, Int32, System.String, System.String, System.String, System.String, Double, Boolean, System.String, Int16, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, Int32, Int32, Int32, System.String, System.String, System.String, System.String, System.String)'.&lt;br /&gt;Exception Source:      InstantASP.Common&lt;br /&gt;Exception Target Site: InsertUpdateUserInternal&lt;/span&gt;&lt;br /&gt;Thi sis a bug that effects the InstantForum.NET 2010-2 releases. To resolve this problem please download the InstantASP.Common.Data.dll (see ZIP file below) and copy this into your InstantForum.NET \bin dreictory. &lt;br /&gt;&lt;br /&gt;Overwtite the existing InstantASP.Common.Data.DLL file.&lt;br /&gt;&lt;br /&gt;You should notice the file sizes are slightly different. &lt;br /&gt;&lt;br /&gt;This should resolve the problem. &lt;br /&gt;&lt;br /&gt;This issue has been addressed and the 2010-3 update will be available soon. This issue does not effect developer license customers. </description><pubDate>Wed, 19 May 2010 16:24:57 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Setting up Twitter Login with InstantForum.NET 2010-2</title><link>http://kb.instantasp.co.uk/Goto11844.aspx</link><description>&lt;p&gt;To take advantage of the new Twitter login option introduced with InstantForum.NET 2010-2 you'll need to follow the steps below. &lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;Creating a Twitter Application&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;First you'll need to register your web site as an application with Twitter. You can do this at the link below...&lt;/p&gt;&lt;p&gt;&lt;a href="http://twitter.com/apps/new"&gt;&lt;strong&gt;http://twitter.com/apps/new&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;You can specify various snippets of information (name, description, image etc) to help identify your web site on Twitter to users who choose to login. The most important fields when creating a new application on Twitter are the "Application Type" and "Callback URL" fields.&lt;/p&gt;&lt;p&gt;You should ensure the "&lt;strong&gt;Application Type&lt;/strong&gt;" is set to "Browser" and the "&lt;strong&gt;Callback URL&lt;/strong&gt;" field points to your InstantForum.NET URL. You can see the settings used for our own Twitter login at &lt;a href="http://community.instantasp.co.uk/"&gt;http://community.instantasp.co.uk/&lt;/a&gt; below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment57.aspx" class="ApplyClass" target="_blank"&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/TwitterApplicationsettingsS.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Click the image to display a larger version. &lt;/p&gt;&lt;p&gt;Once you create your application you'll notice Twitter.com provide two unique snippets of information. &lt;br /&gt;&lt;br /&gt;A "&lt;strong&gt;Consumer Key&lt;/strong&gt;" and a "&lt;strong&gt;Consumer Secret&lt;/strong&gt;". You can see these below...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment58.aspx" target="_blank"&gt;&lt;img width="600" height="601" alt="" width="600" height="601" src="http://kb.instantasp.co.uk/Uploads/Images/TwitterConsumerKeySmall.gif" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The consumer key and consumer secret are very important as you'll need to copy and paste these info the InstantForum.ET web.config file.&lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;Adding the Consumer Key and Consumer Secret tp Web.Config&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Once you have your own consumer key &amp;amp; secret locate the InstantForum.NET 2010 web.config file. Open the web.config file within NotePad or similar plain-text editor and locate the following application settings...&lt;/p&gt;&lt;p class="Code"&gt;&amp;lt;appSettings&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;strong&gt; &amp;lt;add key="twitterConsumerKey" value="" /&amp;gt;&lt;br /&gt; &amp;lt;add key="twitterConsumerSecret" value="" /&amp;gt;&lt;/strong&gt;    &lt;br /&gt;...&lt;br /&gt;&amp;lt;/appsettings&amp;gt;&lt;/p&gt;&lt;p&gt;If you've upgraded from an earlier version of InstantForum.NET you'll need to add these application settings within the &amp;lt;appSettings&amp;gt; section of your web.config file.&lt;/p&gt;&lt;p&gt;Simply copy your consumer key &amp;amp; secret provided by Twitter for your application into the section as shown below...&lt;/p&gt;&lt;p class="Code"&gt; &amp;lt;add key="twitterConsumerKey" value="&lt;strong&gt;{YourConsumerKey}&lt;/strong&gt;" /&amp;gt;&lt;br /&gt; &amp;lt;add key="twitterConsumerSecret" value="&lt;strong&gt;{YourConsumerSecret}&lt;/strong&gt;" /&amp;gt;    &lt;/p&gt;&lt;p&gt;Where &lt;strong&gt;{YourConsumerKey}&lt;/strong&gt; is your Twitter consumer key for your application and &lt;strong&gt;{YourConsumerSecret}&lt;/strong&gt; is your Twitter consumer secret fpr your application.&lt;br /&gt;&lt;br /&gt;If these keys are not provided the Twitter button will not be displayed on the login page. &lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;Testing Twitter Login&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Once you've added your consumer key and secret to the web.config file open your InstantForum.NET 2010-2 or above installation within your web browser. Click the "Login" link in the top left. You should now see an option to login via Twitter as shown below...&lt;/p&gt;&lt;img alt="" src="http://blog.instantasp.co.uk/Uploads/Images/LoginViaTwitter.gif" /&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;That's It!&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;We hope you enjoy this feature and look forward to bringing support other popular networks to Instantforum.NET. &lt;br /&gt;&lt;br /&gt; As always should you ahve any questions or require support implementing these changes please don't hesitate to &lt;a href="http://www.instantasp.co.uk/Contact/" class="ApplyClass"&gt;contact us&lt;/a&gt;, post your comments below or within our community forums at &lt;a href="http://community.instantasp.co.uk/"&gt;http://community.instantasp.co.uk/&lt;/a&gt; </description><pubDate>Thu, 06 May 2010 17:21:48 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 2010-1 to 2010-2</title><link>http://kb.instantasp.co.uk/Goto11843.aspx</link><description>&lt;p&gt;This article details the steps necessary to update an existing InstantForum.NET 2010-1 installation to the InstantForum.NET 2010-2 release. &lt;br /&gt;&lt;br /&gt;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;2010-2 Improvements&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ability to Login Via Twitter&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;We've added the ability to allow your forum users to login using their Twitter.com account.  You can read more about this &lt;a href="http://blog.instantasp.co.uk/InstantForum.NET/Blog-Entry/50028" class="ApplyClass"&gt;withi n our blog&lt;/a&gt; or try the Twitter login for yourself within our own community at &lt;a href="http://community.instantasp.co.uk/Logon.aspx"&gt;http://community.instantasp.co.uk/Logon.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/TwitterLogo.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Right To Left Support&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The 2010-2 update contains a new skins to provide support for Right To Left layouts...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kb.instantasp.co.uk/Attachment56.aspx" class="ApplyClass"&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/RTLSmall.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;2010-2 Fixes&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Fixed issue with Login &amp;amp; Logout URLs within Admin CP if not supplied &lt;/li&gt;    &lt;li&gt;Fixed a problem which prevented you from adding forum moderators &lt;/li&gt;    &lt;li&gt;Fixed topic titles to ensure they appear as the title of your page if enabled. &lt;/li&gt;    &lt;li&gt;Fixed issue with moderation drop downs not working correctly when reading an individual topic &lt;/li&gt;    &lt;li&gt;Fixed issue with follower notification emails being sent incorrectly &lt;/li&gt;    &lt;li&gt;Fixed issue with FindPost.aspx not taking you to the correct post if your default topic view is set to flat DESC &lt;/li&gt;    &lt;li&gt;Fixed issues with bullets &amp;amp; numbered bullets not working correctly in WYSIWYG editor &lt;/li&gt;    &lt;li&gt;Fixed editor options to ensure icons &amp;amp; links are hidden within the editor if disabled via a permission set &lt;/li&gt;    &lt;li&gt;Fixed issue with pinned topics not being included in the total topic count when viewing a forum &lt;/li&gt;    &lt;li&gt;Fixed issue with global PM count not updating correctly if you delete private messages from your folders &lt;/li&gt;    &lt;li&gt;Fixed problem with role based security on user profile pages meaning My Topics &amp;amp; other panels would not populate &lt;/li&gt;    &lt;li&gt;Fixed problem with role based security on Latest Topics &amp;amp; Popular Topics when viewing a forum &lt;/li&gt;    &lt;li&gt;Fixed issue with message icon not displaying within message previews &lt;/li&gt;    &lt;li&gt;Fixed problem with no topics displaying if you only had pinned topics within a forum &lt;/li&gt;    &lt;li&gt;Fixed issue with bold tags &amp;amp; justify tags not working within message previews &lt;/li&gt;    &lt;li&gt;Fixed issue with forum not showing under Manage Forums as an administrator if not link to your user roles &lt;/li&gt;    &lt;li&gt;Fixed issue with Threaded Topic view if the post shown only contains HTML tags &lt;/li&gt;    &lt;li&gt;Fixed "Error: Undefined" client side error if you clicked some links before some panels had fully loaded. &lt;/li&gt;    &lt;li&gt;Fixed issue when editing topics in Chrome with original topic title being lost preventing user submitting updates &lt;/li&gt;    &lt;li&gt;Fixed issue with rebuild forums not always including all forums &lt;/li&gt;&lt;/ul&gt;&lt;p class="Header"&gt;&lt;strong&gt;General Improvements&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Reduced total query count on Forum.aspx. This has been reduced by 1 query &lt;/li&gt;    &lt;li&gt;Web addresses &amp;amp; email addresses within posts will now automatically be hyperlinked for all browsers &lt;/li&gt;    &lt;li&gt;Improved query when viewing topics within a forum to minimize JOINs improving query performance &lt;/li&gt;    &lt;li&gt;Improved topic caching to ensure they expire correctly as new topics are added meaning you can now cache for much longer &lt;/li&gt;    &lt;li&gt;Improvement to the "if_sp_InsertWhosOn" procedure to improve performance &lt;/li&gt;    &lt;li&gt;All collections have been updated to .NET 2.0 or above Generic Lists in favour of heavier ArrayLists. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;------------------------------------------------&lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;How to upgrade from 2010-1 to 2010-2&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Download InstantForum.NET 2010-2&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Download the 2010-2 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 InstantForum.NET 2010 customer the 2010-2 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;. &lt;br /&gt;&lt;br /&gt;Download the 2010-1 update and extract the contents of the zip file to your desktop. This will create a new folder on your desktop called "InstantForum2010DEV" or "InstantForum2010EUL" depending on your license.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Update your existing 2010-1 files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The quickest way to update is to simply copy the entire contents of the "InstantForum2010" folder (&lt;strong&gt;excluding web.config file&lt;/strong&gt;) again to your current InstantForum.NET installation. This will replace all existing 2010-1 files with the latest versions. 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 InstantForum.NET files you may wish to simply copy only the updated files into your installation. &lt;br /&gt;&lt;br /&gt;All updated files are lsited below. There is also 1 new DLL with this upate listed below.&lt;br /&gt;&lt;br /&gt;You should copy the latest versions of the files listed below from the 2010-2 download into your existing installation folder. &lt;br /&gt;&lt;strong&gt;&lt;br /&gt;3. Update your existing 2010-1 database&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Execute the \InstantForum2010\DatabaseScripts\UpgradeScripts\2010-1_to_2010-2.sql against your existing InstantForum.NET 2010-1 database. This will update 2 stored procedures. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;strong class="Header"&gt;Updated InstantForum.NET 2010-1 Files&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The following files have been updated with the 2010-2 update. If you wish to only apply the updated files you should copy the files from the InstantForum.NET 2010-1 download listed below into your existing 2010 installation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Updated Assemblies&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following assemblies will need updating. Copy the latest versions from your InstantForum2010\Bin folder.&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;DotNetOpenAuth.dll &lt;/li&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.InstantForum.dll &lt;/li&gt;    &lt;li&gt;InstantASP.InstantForum.Data.dll &lt;/li&gt;    &lt;li&gt;InstantASP.InstantForum.UI.dll &lt;/li&gt;    &lt;li&gt;InstantASP.Licensing.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;New Assemblies&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;DotNetOpenAuth.ApplicationBlock.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Updated JavaScript Files&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;InstantForum2010\js\forum.js &lt;/li&gt;    &lt;li&gt;InstantForum2010\richtextbox.js &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Updated Localization Files&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;InstantForum2010\Globalization\en-US\Strings.js &lt;/li&gt;    &lt;li&gt;InstantForum2010\Globalization\en-US\Resoruces.xml &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Updated Skin Files&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;\Skins\Classic\messages.ascx &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Controls\PostControl.ascx &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Controls\LogonOAuth.ascx &lt;/li&gt;    &lt;li&gt;\Skins\Classic\Admin\Controls\AdminViewModerator.ascx &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;You should also copy these updated files into any custom skins you've created. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;strong class="Header"&gt;That's It!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Once you've updated the files listed above and updated your database you should visit your existing InstantForum.NET installation. If everything was successful you should be able to continue using your forum 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>Wed, 05 May 2010 23:18:58 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 2010 to 2010-1</title><link>http://kb.instantasp.co.uk/Goto11842.aspx</link><description>&lt;p&gt;instantThis article details the steps necessary to update an existing InstantForum.NET 2010 installation to the InstantForum.NET 2010-1 release. &lt;br /&gt;&lt;br /&gt;You can also find information in this article on the additions, updates &amp;amp; fixes included within 2010-1.&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;2010-1 Improvements&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Added new plug-in framework&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;We'll be publishing plugs-in soon which will simply bolt on to InstantForm.NET to add extra features &amp;amp; functionality. We'll also be publishing documentation &amp;amp; sample code soon to help others develop plug-ins.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Significant improves to search performance&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;We've updated to way we perform role based security checks within the forum. This new way avoids the need to any additional WHERE statement within the query resulting in much quicker performance especially for larger communities.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;New Photoship Images for buttons&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;You can find the master PhotoShop PSD files for the various button graphics used within InstantForum.NET as well as the true type font used for the text within the buttons. You can find the photoshop files at InstantForum2010\Images\ClassicSkinPSDs.zi. This will allow others to customize the buttons to other languages. &lt;br /&gt;&lt;strong class="Header"&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;br /&gt;2010-1 Fixes&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Fixed issue with forum subscription emails not being sent &lt;/li&gt;    &lt;li&gt;Fixed issue with last login date not updating for OpenID accounts &lt;/li&gt;    &lt;li&gt;Fixed issues when paging forum &amp;amp; topic subscriptions within profile pages &lt;/li&gt;    &lt;li&gt;Fixed issue with reflection permissions problem in some medium trust hosting environments &lt;/li&gt;    &lt;li&gt;Fixed issue with topic paging controls not updating correcting if you updated the records per page drop down &lt;/li&gt;    &lt;li&gt;Fixed issue with XML encoding if your search term contained special XML entity characters (&amp;amp;, &amp;lt;, &amp;gt; etc) &lt;/li&gt;    &lt;li&gt;Fixed issue with search not working for double byte character sets (Chinese, German etc) &lt;/li&gt;    &lt;li&gt;Fixed issue some member photo image paths being incorrect if you updated from 4.1.4 &lt;/li&gt;    &lt;li&gt;Fixed issue with spaces being removed around commas if minify mark-up is enabled &lt;/li&gt;    &lt;li&gt;Fixed issue with some UI strings being hardcoded within JavaScript files (not localization files) &lt;/li&gt;    &lt;li&gt;Fixed several general typos within the forum &lt;/li&gt;&lt;/ul&gt;&lt;p class="Header"&gt;&lt;strong&gt;General Improvements&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Updated the way our Resources.xml is parsed to reduce regular expression usage. &lt;/li&gt;    &lt;li&gt;Updated our global string truncation method to offer improve performance &lt;/li&gt;    &lt;li&gt;Added support for Right to Left layouts within the various JavaScript / JSON client-side rendered tables &lt;/li&gt;    &lt;li&gt;Add total topic &amp;amp; user count to paging controls when viewing topics &amp;amp; member lists &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;------------------------------------------------&lt;/p&gt;&lt;p&gt;&lt;strong class="Header"&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;How to upgrade from 2010 to 2010-1&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Download InstantForum.NET 2010&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;Download the 2010-1 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 InstantForum.NET 2010 customer the 2010-1 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 2010-1 update and extract the contents of the zip file to your desktop. This will create a new folder on your desktop called InstantForum2010DEV or InstantForum2010EUL depending on your license.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Update your existing 2010-1 files&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The quickest way to update is to simply copy the entire contents of the "InstantForum2010" folder (&lt;strong&gt;excluding web.config file - see changes below&lt;/strong&gt;) again to your current InstantForum.NET installation. This will replace all existing 2010 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 InstantForum.NET files you may wish to simply copy only the updated files into your installation. There are no new files with this update. You'll need to ensure you update the existing files with the latest versions from the 2010 download.&lt;br /&gt;&lt;br /&gt; You can find a list below of all updated files within the 2010-1 release below. &lt;br /&gt;&lt;strong&gt;&lt;br /&gt;3. Update your existing 2010 database&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Execute the \InstantForum2010\DatabaseScripts\UpgradeScripts\2010_to_2010-1.sql against your existing InstantForum.NET 2010 database. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;strong class="Header"&gt;Updated InstantForum.NET 2010 Files&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The following files have been updated with the 2010-1 update. If you wish to only apply the updated files you should copy the files from the InstantForum.NET 2010-1 download listed below into your existing 2010 installation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Updated Assemblies&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following assemblies will need updating. Copy the latest versions from your InstantForum2010\Bin folder.&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.InstantForum.dll &lt;/li&gt;    &lt;li&gt;InstantASP.InstantForum.Data.dll &lt;/li&gt;    &lt;li&gt;InstantASP.InstantForum.UI.dll &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Updated JavaScript Files&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;InstantForum2010\js\forum.js&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Updated Localization Files&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;InstantForum2010\Globalization\en-US\Strings.js&lt;br /&gt;InstantForum2010\Globalization\en-US\Resoruces.xml&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;strong class="Header"&gt;That's It!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Once you've updated the files listed above and updated your database you should visit your existing InstantForum.NET installation. If everything was successful you should be able to continue using your forum 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, 19 Apr 2010 16:34:43 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Cannot subset Regex with InstantForum.NET 2010 in Medium Trust</title><link>http://kb.instantasp.co.uk/Goto11841.aspx</link><description>  When running InstantForum.NET 2010 in medium trust hosting environments you may received the following error...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cannot subset Regex. Only support if both patterns are identical.&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="http://kb.instantasp.co.uk/Uploads/Images/Mediumtrusterror.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong class="Header"&gt;Resolution&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin: 0in; font-family: verdana; color: #1f5080; font-size: 10pt;"&gt;To resolve this problem simply delete the "DotNetOpenAuth.dll" from within your forums \bin directory. Unfortunately the OpenID controls will not work in medium trust hosting environments.  Once removed the forum should work as expected. &lt;/p&gt;&lt;p style="margin: 0in; font-family: calibri; font-size: 11pt;"&gt; &lt;/p&gt;&lt;p style="margin: 0in; font-family: verdana; color: #1f5080; font-size: 10pt;"&gt;To use OpenID authentication you'll need to run InstantForum.NET in full trust.  We are working to provide support for OpenID authentication within medium trust hosting environments.&lt;/p&gt;</description><pubDate>Mon, 12 Apr 2010 14:39:04 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Installing the InstantForum.NET Active Directory Module</title><link>http://kb.instantasp.co.uk/Goto11840.aspx</link><description>This article is intended to assist with installation of our InstantForum.NET Active Directory Module&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;span class="Header"&gt;Installation Requirements&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Before attempting an installation of the InstantForum.NET Active Directory module, you should have installed and configured the latest version of the InstantForum.NET 2010 release, and fully tested it to ensure proper functionality. &lt;br /&gt;&lt;br /&gt;It is vital that you assertain that there are no installation/configuration issues before installing the Active Directory module, as this could exacerbate any existing issues. You should also have downloaded the most recent release version of the Active Directory Module, ready for installation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;span class="Header"&gt;&lt;strong&gt;Backing Up&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;We reccomend that you fully back-up, your working KB directory, and Database, this is especially important if you are adding the module to a production Knowledge Base which holds live or mission critical data. If you choose not to back-up your installation/data (not reccomended), at the very least you should back up your Web.Config file, so that your configured settings are easily available during the rest of the installation process.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;strong&gt;&lt;span class="Header"&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;1) Extract the contents of the Active Directory module Zip file to a folder on your hard drive.&lt;br /&gt;&lt;br /&gt;2) Copy all files, &lt;strong&gt;&lt;em&gt;except&lt;/em&gt;&lt;/strong&gt; for the provided &lt;strong&gt;Web.Config&lt;/strong&gt; into your installation root, approving any overwrites that the system requests as existing files are replaced.&lt;br /&gt;&lt;br /&gt;3) At this stage, you should test your forum, by visiting the home URL, if all has gone well you should still see a home page, and be able to log in as standard, if at this point you do not get a homepage, or cannot login, you may want to try the following quick troubleshooting steps:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;    &lt;li&gt;Re-Apply all permissions to the site-root, and all child files/directories. &lt;/li&gt;    &lt;li&gt;Check that the update to the database was successful, or re-execute the script. &lt;/li&gt;    &lt;li&gt;Re-Copy your backed up web.config to the site-root, incase you accidentally overwrote it. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;5) Finally, before you can get to grips with the active directory module, you will need to configure your web.config file, there are two ways to do this.&lt;br /&gt;&lt;br /&gt;    a) Copy the provided web.config file into your site root, overwriting your web.config file, then re-populate your connection string and any other settings that you had customised in the new config file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms; color: #3c71a6;"&gt;&lt;strong class="Header"&gt;OR...&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;    b) Copy the Active Directory Section from the provided web.config file, into your existing Web.Config, and customise the settings. This section is clearly marked in the new web.config file, you should find this section well commented, giving a short explanation of each setting. Further documentation explaining the Web.Config file, shall be available in the very near future within our KnowledgeBase, and shall be linked from this article.&lt;br /&gt;&lt;span lang="EN-GB"&gt;&lt;br /&gt;Thats it, you're ready to get started using the Instant KB Active directory module, in whichever configuration you've set up!&lt;br /&gt;&lt;br /&gt;We hope you found this article informative and helpfull, however we appreciate that sometimes instructions may be unclear, or customers may feel that further explanation is neccesary, if you have any questions as always please don't hesitate to &lt;a href="http://www.instantasp.co.uk/Contact" class="ApplyClass"&gt;contact us&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;</description><pubDate>Fri, 26 Mar 2010 17:20:57 GMT</pubDate><dc:creator>Ryan Healey</dc:creator></item><item><title>Upgrading from InstantForum.NET 4.1.4 to InstantForum.NET 2010</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. 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&gt;Copy Existing Avatars &amp;amp; Profile Pictures&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Copy your existing "Uploads" folder from your existing 4.1.4 installation folder into the root of your InstantForum.NET 2010 folder.&lt;br /&gt;&lt;br /&gt;This will ensure profile pictures, images embedded within posts &amp;amp; avatars are still displayed correctly. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Web.Config Changes&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;The web.config file has chagned quite substantially with 2010. For this reason we would suggest starting with the new InstantForum.NET 2010 web.config file. &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></channel></rss>