Yet Another Forum (YAF) for Windows Azure

Lately, while I was learning the basics of Windows Azure, I tried to deploy Yet Another Forum 1.9.5.5 to the Azure platform.

It turned out that it's not that easy as the differences between SQL Server and SQL Azure can be quite painful despite the fact they theoretically aren't so big. Because SQL Azure requires every table to have CLUSTERED INDEX, I had to modify the YAF's database setup SQL scripts accordingly. Moreover, in the application code there were some places where I had to remove calls of the obsolete SQL stored procedures (those which are not supported in SQL Azure) and replace them with the non-obsolete ones. Also, there were some glitches with .config files, so I had to move some of the settings directly to the web.config.

However, I've eventually managed to prepare a working version of Yet Another Forum which is compatible with Windows Azure and SQL Azure. In this post, I'd like to publish the modified source code - I hope it'll be useful for someone out there :).

Here are the steps you need to take in order to prepare ready-to-deploy Azure package:

  1. Install Windows Azure SDK if you haven't done this yet.
  2. Download YAF source code (link below) and extract it somewhere on the hard drive.
  3. Open yetanotherforum.net-2010.sln with Visual Studio 2010.
  4. In YAF project, open db.config and fill the database information (server address, database name, login credentials, etc.).
  5. In YAF project, open mail.config and fill the SMTP mail server information.
  6. In YAF project, open web.config. Review the settings and change them if necessary.
  7. Compile the solution.
  8. In Solution Explorer, right click the YAF.Azure project and choose Package... option to create Azure deployment package
  9. Go to the Windows Azure Management Portal and upload the package along with configuration file (both can be found in the app.publish directory

And finally, the most important thing:

 

YAF Download Link (GNU GPL v2 license):
Yet Another Forum v1.9.5.5 for Windows Azure