ASP .NET based CMS versus Drupal
January 29, 2010 12:14 PM   Subscribe

Trying to make the case against Drupal and find a ASP .NET CMS solution.

I'm working on making a case against Drupal to a colleague who is redesigning a static website into something more substantial with a 3rd party design firm. They have really no idea what they are going to do to the site at this point beyond that it must change to something that allows collaboration and workflow (changes & approval) and the design firm is really pushing Drupal since they have a developer on staff.

We had a short meeting in which they more or less threw around buzz words (open source, community) which mean nothing to us since we run our servers on Windows Server 2003, IIS, .NET, and Microsoft SQL. So adding a Linux based server for this individual website is going to clutter things up PLUS we already have our own proprietary contact logging system relational database / newsletter mailer written in ASP .NET written by our inhouse contract developer.

What I know that they will need is hooks into a MS SQL database, ability to have very different sections of the site, forums, social media integration, blogs, built in searching (we already have a Google Mini too), event registration w/ hooks into MS SQL, along with a way to organize many PDFs.

I should also add that we are going to implement Microsoft Sharepoint 2010 later in the year but this site redesign/revamp can't wait for that.

What solutions exist for ASP .NET CMS's? Cost isn't a huge issue but ones that I have been rounding up are Sitefinity , Dotnetnuke, and DotCMS
posted by wcfields to Technology (20 answers total) 2 users marked this as a favorite
 
Well, I think your strongest point is going to be that Drupal seems to have poor-if-nonexistent MSSQL support.
posted by rhizome at 12:20 PM on January 29, 2010


First off, it's justifiable to say "must be a windows solution", if that's what your shop is. However, there is a version of Drupal named Acquia that runs on IIS against SQL Server, using a PHP/MSSQL bridge that MS provides. MS is also starting to support PHP as a first-class citizen on IIS (it's in their web express installer), so the best you might be able to hope for is Drupal on IIS. In fact, MS offers Acquia in their web express installer too).

DotNetNuke is the foremost competitor to Drupal in the CMS space, and it's not close in quality from what I've heard. I just finished a Drupal site (on the LAMP stack) and was pretty impressed, actually--it's a very mature, well-factored codebase--and DotNetNuke is getting bad press these days for falling behind. Drupal is very mature, and very complex, so one argument that might get some traction is that Drupal is overkill. Another is simply that Drupal on LAMP is outside of your shop's area of expertise, so you'd be buying an alien solution.
posted by fatbird at 1:09 PM on January 29, 2010


I really don't think there is a comparable solution. That's why open source is winning these sorts of battles. It is nearly impossible to get as mature a CMS in a proprietary solution, and most open source developers prefer to stay away from Windows.

It may be justifiable in the short term, but Windows shops are a dying breed, for good reason. Maybe time to hire or develop some new skills?
posted by Invoke at 1:18 PM on January 29, 2010 [3 favorites]


Bearing in mind that I work for a work that specialises in FOSS and Drupal in particular -- your best angle is the support one. If you are continually reliant on external help for support, plus you have special needs (supporting custom integration), then there are effectively extra costs to Drupal. That is a valid argument in itself, depending on rates charged for support.
posted by i_am_joe's_spleen at 1:33 PM on January 29, 2010


I manage several Drupal sites on a WIMP stack. There are very few IIS-specific issues. Most of those are Windows/IIS config issues; I can only think of one 'bug' in the Drupal core w/r/t IIS.

I was not aware that Drupal had MSSQL support, but even if it didn't, I don't think it would be that hard to write a database abstraction layer for Drupal using the MySQL layer as a template.

Given what you want to do, Drupal is not overkill. That's part of its elegance—you need only enable the modules you are actually going to use, but there's already a module out there for almost anything you want to do. And if there isn't, it ain't that hard to write one.

As an example, I've written modules to pull data into Drupal on an ongoing basis from a MSSQL database to accommodate some fossils who want to keep using an Access front end to manage their data.

Lastly, 'open source' and 'community' may be buzzwords, but the do mean something to you. 'Open source' means that when something is broken, you can fix it yourself. (I'd much rather do that than spend hours combing MS "support" pages only to find out that they aren't planning on fixing whatever it is.) And 'community' means that lots of other people are already working to fix it now.
posted by bricoleur at 2:03 PM on January 29, 2010


Response by poster: @bricoleur I say those buzzwords mean nothing because the creative agency is tossing them out as reasons to use Drupal instead something specific like "We should use Drupal because it does X, Y, Z very well which matches up with your requirements of X, Y, Z." versus "We recommend Drupal because of Open Source, ability to change, and flexibility."

Basically I'm in the position where I'm not calling the shots, as our company is setup the individual units are free to do what they want in their own marketing. As an IT person I was brought in to persuade the unit revamping their website into something more usable to our existing databases and infrastructure instead of giving full control over to a creative agency to make something totally incompatible with what we have and are going to have: in the future SharePoint and now our ASP .NET Customer/Client/Business relational contact database.
posted by wcfields at 2:36 PM on January 29, 2010


Open Source doesn't really mean much unless you have developers on staff that are going to be making updates and fixing bugs. Ask them who you call when there's an issue, how much it's going to cost, and what sort of guarantees there are on service.

You can also look at open-source ASP.NET-based CMS products as well, if it has to be "community driven".
posted by blue_beetle at 3:22 PM on January 29, 2010


I can't comment at length because I'm on mobile, but I've developed pages in Kentico and generally enjoyed the experience.
posted by matildaben at 4:11 PM on January 29, 2010


Why don't you just host this particular client on one of the many thousands of hosting companies that support drupal and charge the client the difference.
posted by mattoxic at 4:32 PM on January 29, 2010


Response by poster: @mattoxic I'm not the one creating it, I work in IT for a non-profit that has multiple independent units that are free to do what they wish with their marketing, however I'm trying to persuade this unit from letting this PR/Design agency drive the bus into a CMS system that isn't compatible with our existing ASP .NET, IIS, MS SQL infrastructure and with our corporate implementation of SharePoint 2010 later this year.

Yes I'm sure a developer could write an abstraction layer, or the Drupal community will eventually make some SharePoint integration module that will barely work but its easiest to start from the beginning with a CMS solution that works within our corporate framework.
posted by wcfields at 4:38 PM on January 29, 2010


I've been running a Drupal site on a PHP/mysql IIS 7 platform for a few months. It's way overkill for what I need, and I've found IIS 7 lacking in some fairly basic ways w/r/t it's fastcgi implementation and other things including performance and a rocky install process.

One thing I did gain from this is a clear understanding of what it's like to work in the open source environment, which while certainly not a bad experience, has its downsides. There are no real "guides" to Drupal, installing it was a complete learning curve from start to finish (which has a lot more to do with getting IIS to run PHP and mySQL well, admittedly). Support for open source modules is community based so it can be pretty sporadic and sometimes even the developers are flat wrong. How these factors affect your argument, I have no idea.

I have turned my sights to Wordpress as a CMS and am finding it to be much more nimble, although again my requirements are significantly smaller than yours.
posted by disclaimer at 4:40 PM on January 29, 2010


One more data point: never try to get mySQL and SQL server to run on the same machine. Just...don't.
posted by disclaimer at 4:41 PM on January 29, 2010


Again, especially for a non-profit, what are they doing with Microsoft? Too much money, too little performance. Time to develop new skills.
posted by Invoke at 5:41 PM on January 29, 2010 [1 favorite]


Just another data point: I've used Active Content Manager (fka IronPoint), which is an ASP/IIS/SQL-based CMS that seems pretty off-the-shelf in terms of setup. I don't know how much it costs, but I'm pretty sure it COSTS.

As for the why Microsoft? question above--there are a lot of True Believers in non-profit and gov't IT who insist that only Microsoft is secure and will only relinquish it when you pry M$ from their cold, dead hands.
posted by sleeping bear at 12:31 AM on January 30, 2010


Why not use SharePoint as the CMS? You can build it in 2007 and the upgrade path to 2010 is *supposed* to smooth.
posted by askmehow at 2:36 AM on January 30, 2010


This is not really a technological problem at all, do not make it one.

1. You have a business requirement that auditing must be done on a specific MS SQL database.

2. You have the infrastructure in place to support to support IIS6/MS SQL. Any deviation from that will incur costs (which may be hard to define).

When planning out a CMS solution, you first need to break down (1) into discrete requirements. For example if Drupal does something that would invoke an auditing process you would need to do an ETL on the MySQL db into the MS SQL and then have that process audited. This is really not that hard to do, but it does take time. If you're adding 10,000 records a day that you need to audit and transform into the MS SQL db you're in a completely different territory than a couple dozen.

On point 2, there are definitely costs associated with moving to a non-Windows system. Are you using Active Directory? The cost for Sharepoint is 0, Active Directory just works out of the box. I assume it is very, very easy to get working in Drupal but if you have a complex AD setup things (in my experience) can degrade quickly. If it is a requirement for AD be used for authentication the vendor needs to be aware of this and add it to the scope.

You might ask yourself how do you cost things like administering two environments? I always budget "new skills" another 30% depending on how new something is. So if you have very little Linux/Apache/MySQL knowledge add 30% to your troubleshooting, admin budget. You do have logs of how much time you spend doing stuff, right?

Which is my next point. You really can't get good at decision making stuff like this without data. You need to know how much time you spend maintaining a Windows system. Had to change the name of a DNS server and then update your other servers? Easy peasy, but it will take some time. The great thing about this is that you have data about whether or not you made a good decision. Let us say you go with Drupal and you initially see a 30% increase in time spent dicking around with Drupal/Linux/Apache issues compared to your other systems. The ETL you have running between your mySQL and MSSQL server also seems to fail because of something or other and it takes x hours a month. After 6-9 months you see a drop, to say 25% above your Windows servers. I would expect to see a more significant drop in time spent after the initial learning curve and would look really hard at if there's something specific I can attribute the high costs to or if it is time to move Drupal over to IIS/MSSQL and go with another solution. Usually if you see that, in my experience, you're doing something wrong and paying for another set of eyes to look at it is all you need to do. In any case, you have the data on how much it is costing you.

I find this methodology holds up well, even when you're doing abstract things like deciding what language or framework to use. The point is that debates about what is best are ultimately worthless without evidence.
posted by geoff. at 10:58 AM on January 30, 2010 [1 favorite]


Response by poster: Again, especially for a non-profit, what are they doing with Microsoft? Too much money, too little performance. Time to develop new skills.

Why Microsoft? Because we use Office, Outlook/Exchange, have a custom in-house written ASP .NET contact management relational database with a event booking system and hooks into Outlook address book and calender, SMB shares, and on and on and on.
posted by wcfields at 7:26 PM on January 30, 2010


Seriously, if I knew that a non-profit was wasting their (my) money like this, I'd never give them another dollar.

Your response reduces to "because we're invested". Who cares? That's exactly the technique that car salesmen use to get you to buy when you don't want to at the moment. "I've already got so much time invested." Feh! The fact is that a bad car deal or a bad operating system environment is a bad deal. Period.

Good luck, but you won't find an IIS CMS half as good as an open source one, although I'm sure you'll keep wasting money trying to do so.

Time to develop new skills as an organization, really.
posted by Invoke at 2:59 PM on February 2, 2010


Response by poster: Seriously, if I knew that a non-profit was wasting their (my) money like this, I'd never give them another dollar.

We get funded by very large corporations; We don't solicit money from individuals, so don't worry.

Good luck, but you won't find an IIS CMS half as good as an open source one, although I'm sure you'll keep wasting money trying to do so.

Ok, but you haven't pointed out a single open source one that fits into our already existing infrastructure framework. I'm open to all ideas that work.
posted by wcfields at 12:22 PM on February 3, 2010


Response by poster: This is not really a technological problem at all, do not make it one.

1. You have a business requirement that auditing must be done on a specific MS SQL database.

2. You have the infrastructure in place to support to support IIS6/MS SQL. Any deviation from that will incur costs (which may be hard to define).


1. Yes, our current main website is partially powered by our contact auditing system with a custom CMS that works but isn't very flexible and will be replaced in Q3 with a full web redesign, probably SharePoint 2010.

The site in question is from a different unit of the organization right now is primarily a PR site but is being transformed into a collaborative business community based system. We are still in the requirements phase but they have their own design agency pushing Drupal right away because they have an inhouse Drupal expert (unsure if they are a programmer).

I'm sure they can make a really nice, slick looking site in Drupal with all the features they want and so on. What's missing is linking the activity into our relational contact database running on SQL Server.

2. Yes, we have our own rack in a colo running Windows Server in a virutalized environment but hosting costs of a Linux server won't cost us much per month.

The cost from deviation won't be that measurable from "it will cost us $X to do this" but more from the lost/difficult ability to gather information in the same database to audit information and view links between individuals, businesses, conferences, blog comments, forum posts, seminars, phone calls, meetings, trainings, funding, authors of reports, studies, and so on.
posted by wcfields at 12:45 PM on February 3, 2010


« Older Ideas for multi hard drive block   |   the 1 mile financial life Newer »
This thread is closed to new comments.