How to Make Yet Another Forum.Net to Work with Telligent Graffiti CMS
In a recent project that I was handling, there was a requirement to have a forum on top of an existing Graffiti CMS. Instead of building one from scratch I decided to look for an open source .NET forum engine alternative. That's when I ran into Yet Another Forum.Net.
The task is simple enough. add a forum virtual directory and when someone click a link to http://blah/forum, YAF.NET should work.
After downloading the forum distributable and adding it as a Graffiti CMS virtual directory, some problems start showing up.
You can follow some steps described in the YAF.NET Installation Steps section in their Wiki to mitigate the problem but it doesn't get you 100% there.
Playing around with it, I managed to get it to work with the following steps:
- - Get YAF.NET to work as a standalone application (setup db, etc.). If you can get it to work, you are about 90% there.
- - Remove YAF.NET application from IIS Manager
- - Add YAF.NET directory as a virtual directory of Graffiti or copy the entire YAF.NET directory to Graffiti root folder/forum. I.e. if you Graffiti CMS is installed in D:\Graffiti\Web, then copy YAF.NET content to D:\Graffiti\Web\Forum
- - Copy all bin folder contents from YAF.NET directory to Graffiti bin folder
- - Copy yafnet.config and urlrewriter.config to root directory of Graffiti
- - Make sure to rename the web.config in YAF.NET directory back to default.config so it does not run
- - In Graffiti CMS web.config, you need to make some modifications like:
- - copy the configSection from default.config in YAF.NET directory across
- - copy <yafnet ...> and <rewriter ...> from default.config across
- - create a <location path="forum"> in Graffiti CMS web.config and copy the <system.web>...</system.web> from default.config into the <location...> tag.
- - Make modification to <pages ...> tag in the newly copied part in the previous step. You need to copy <namespaces> and its content from Graffiti web.config and change <add namespace...> to <remove namespace...>
That's it. Test both Graffiti CMS and the newly integrated YAF.NET to make sure they work.
Attached is a sample of the modified Graffiti CMS web.config