Preview to SilverStripe 2.4 - Support for SQL Server and other improvements with Microsoft technology

Posted by Sigurd Magnusson on 26 April 2010

In the countdown to the SilverStripe CMS 2.4 release, we'll be running some interviews with people involved in key aspects of our upcoming release.

First up is Sean Harvey, one of SilverStripe's early employees. Sean has been working for more than a year now on various improvements in SilverStripe to do with the Microsoft platform, and answers some questions put to him below:

SilverStripe is an open source software written in PHP. Why is it important to support Microsoft technology?

Because a lot of our customers and developers want it. The number of people downloading and installing SilverStripe on Windows is sometimes close to half the downloads we get in a month. A lot of these installs are for trial or development purposes but, as Microsoft improves support for PHP on Windows Server, we're increasingly seeing SilverStripe running on Windows in production.

So what's the biggest advance that SilverStripe 2.4 brings in terms of supporting Microsoft technology?

That you can run SilverStripe on Microsoft SQL Server 2008. We've officially supported running SilverStripe on Windows for years, but you still needed to use MySQL for its database. With 2.4, the full server stack can be in Microsoft technology: operating system, web server (IIS), and database. To achieve this, several people worked on an object-oriented database abstraction layer, which allows for SilverStripe to elegantly run on a number of different databases. The first database beyond MySQL we got production-ready was Microsoft SQL Server 2008, dictated by the fact that there were several Government agencies that wanted it for their production environments.

How does SQL Server support change the SilverStripe install process?

There's two ways to install SilverStripe on Windows. The most commonly used and simplest method is using the Web Platform Installer via Microsoft's Web Application Gallery. The other is manually setting up your web server environment and using our PHP-based installer, which offers more control over your configuration. Either way, when SilverStripe 2.4 is released, the installers will ask which type of database you want to install onto, and if you choose Microsoft SQL Server 2008, it will set up the whole application for you within seconds. In the Web Platform Installer, the choice is presented like this:

WebPI and SilverStripe 2.4 installer showing choice of SQL Server database

If you do a manual install, the choice is presented in much the same way. The only difference is that a manual install requires you to download and uncompress the SQL Server SilverStripe module (or other alternative database modules) before you begin the install process.

SilverStripe 2.4 installer showing choice of SQL Server database

SilverStripe 2.4 will benefit from improved unit test coverage. How does this relate to the Microsoft platform work you've been doing?

First, you can now run tests at the Windows command line. This required adapting SilverStripe to accommodate both the Windows command line and Linux command shells such as bash. This means we could more robustly and comprehensively test what we were doing on SQL Server and other related work.

We have set up a continuous integration buildbot for automated unit testing on checked-in code. This makes us more aware of any code checked in by developers that could break support for the Microsoft platform.

As with any automated testing activity, this job is never complete, but it goes a long way to make us sleep easy at night.

Unit tests running in SilverStripe on the Microsoft platform

What else is new in SilverStripe 2.4 to do with Microsoft technology?

Mainly bug fixes and performance improvements. Thanks to more people using SilverStripe on Windows and reporting issues they have to us, we've improved the reliability of SilverStripe running on IIS and Windows Server. This is very valuable as we're wanting to support users on Windows Server 2008 R2 right back to the still-popular Windows XP. We've also tested that SilverStripe runs reliably with Microsoft's dynamic caching product, WinCache. Finally, as part of our process in deploying SilverStripe on customer websites, we've identified and incorporated Windows-specific performance improvements.

What has the relationship been with Microsoft in doing this work?

SilverStripe staff and the developer community are responsible for doing all of the programming work, however we've had some really valuable assistance from Microsoft along the way. Mostly, when we've had a question, be it on SQL Server, PHP support on IIS, WinCache, or the Web Platform Installer, we've had Microsoft staff provide us with answers that kept us on the right track, and didn't let us waste time trying to solve technical challenges. They've also tested our application from time to time and offered suggestions on how to do things following best practices.

This support means we feel more confident about the technical approach we've taken when supporting Microsoft technology. Besides technical assistance, we've had Microsoft accept us into their Web Application Gallery, and we were very excited to be one of the initial couple of PHP applications to achieve this status last year.

Does this impact SilverStripe's values with open source?

Not at all. SilverStripe supporting Microsoft technology is in addition to everything else we do. Just as we ensure the CMS allows content authoring to be done in various web browsers, we want to offer choice on what operating system and database you can run our software on.

Post your comment

Note: Comments are moderated and won't show until they are approved


  • Vic,

    We'd like to address your download issues.

    Were you downloading the .tar.gz or using Web Platform Installer?

    What country are you based in?


    Posted by Sigurd Magnusson, 4 years ago

  • I was going to use Silver Stripe. It really is a piece of something that I was even willing to contribute even if it was not a lot. I think that it has a lot of potential.

    What detoured me is even with my XPS-410 and internet service that I have it wasn't downloading it took me almost 5 attempts to even download. I am just afraid to even install it. I am currently using wordpress, the site that I have there is pretty new, but I want something that is stable so I don't have to restart and something that is secure. I get enough spam using wordpress

    Posted by Vic, 4 years ago

  • that was soooo much more helpful than mollom stats - thanks!

    Posted by thanks, 4 years ago

  • Thanks for taking the time to submit this comment. We wholeheartedly agree with your comment and have taken steps to ensure that spam is removed much quicker than you have recently experienced. We have also taken the decision to moderate comments, effective immediately. You will notice that your comment was not published until being approved by a moderator. Thank you for choosing to use our software and we appreciate you letting us know how you feel about our website comment spam.

    Lee Middleton
    Head of Sales & Marketing

    Posted by Lee Middleton, 4 years ago

  • I seriously don't think you guys understand the situation. You are promoting a platform to develop websites. A single spam post will turn people off and they will not use your platform. As somebody who is developing in silverstripe it makes me very worried that the community will shrink and my investment in your platform will prove a waste.

    This is an issue you need to have a team meeting about - you are not only discouraging new users from adopting silverstripe you are driving away people who do use it. No more excuses, this is sad.

    Posted by agree, 4 years ago

  • Thanks for raising this issue - preventing spam on our website is very important to us. We've had to continually change what we do on the back of spam attacks continually changing and thus defeating the mechanisms we put in place.

    For example, the majority of recent spam comments on the blog are coming from users who are logged into our SilverStripe forum. This is despite a CAPTCHA being on the forum registration form, and Mollom being in place on the blog.

    In the past we had given more trust to people commenting on the blog if they were logged into the forum, but this can no longer be so.

    In the past year there have been more than 250,000 attempts to post spam, so our website seems a fairly substantial target of the stuff.

    We do currently have a notification going into our email inboxes as soon as any comment, spam or otherwise, comes in. Unfortunately last night, both the spam and your response came in during the night, so this wasn't addressed until 9am this morning.

    We're considering manual approval of spam, because while Mollom is very helpful, it doesn't eliminate spam sufficiently, as you rightly have pointed out below.

    Posted by Sigurd Magnusson, 4 years ago

  • Wow. This blog entry just came out, and the FIRST comment is spam by some crazy chinese shoe salesman? There was a huge debate about this on the RC1 blog release - I really didn't want to rehash it here, but come on. You should have a team member check out the blog site every morning and then again before you leave (in case the Molloum didn't catch it).

    Sorry to see this... I'm working on a Govt. install with a release sometime in the summer, and I have to be honest. I'm worried about SS.

    Posted by Spam - are you kidding me, 4 years ago

RSS feed for comments on this page | RSS feed for all comments

Want to know more about the company that brought you SilverStripe? Then check out

Comments on this website? Please give feedback.