A site going from ASP to php/Drupal/Joomla? Is this madness?
February 8, 2008 6:51 AM   Subscribe

What's the best way to convert a site run on a Windows server, written in ASP/C#, to Drupal/Joomla?

I'm going to be attempting to help someone transition their site from running on a Windows server to a Linux server and utilize Drupal or Joomla as well.

Essentially, in its current state, the site is written in ASP and C# and hosted on a Windows box. However, the hosting company that is being used is ridiculously expensive for what's provided, and whatever semblance of a CMS (one which I'm fairly certain was home grown) it's even using is extremely clunky and lacking. I feel like it's a perfect candidate for a decent CMS like Drupal and/or Joomla (your typical hierarchy of pages, a blog, forums, nothng super fancy), not to mention the lure of having a better host and being far cheaper.

My problem begins with the fact that I have no idea how much of what is already there can actually be put into any kind of format (I'm assuming HTML/php) that Drupal or Joomla can use. I mean, getting a rough skeleton of pages, implementing a blog and all that doesn't really worry me. The thing I'm most concerned with is all the content/functionality that's already been developed or built.

I'm by no means an expert in php or ASP, but I know enough to know such a transition may not even be possible, or at least not easy.

What are my options here? I realize this is almost akin to a complete overhaul of the site, but I feel like there must be a way to reuse as much of what is already built as possible. Are there tools out there that somehow make that kind of conversion...reasonable, for someone who's not a programmer by trade?

Suggestions please!
posted by mrhaydel to Computers & Internet (7 answers total) 1 user marked this as a favorite
Unless the PHP host also supports ASP on the same package (most don't, and even then, its not always 100% like asp on windows) its not going to be a transition, the 2 sites wont work together at all.

Any functionality that exists on the old site that can't be replaced by the CMS (and any available modules/addons) you choose, will need to be rebuilt from scratch in PHP. Really the only thing that might be re-usable is the database or at least the data in it.

There is an ASP 2 PHP converter but its only for vbscript and jscript and as you would expect from an automated tool, its not brilliant.

Suggestions please!

Hire a professional.
posted by missmagenta at 7:09 AM on February 8, 2008

It's going to need to be rebuilt from scratch. I know that's not what you want to hear but it will be your only option.

However, the hosting company that is being used is ridiculously expensive for what's provided

That may seem so but you will find out you (generally) get what you pay for. I have no way of knowing if these people are getting ripped off but it's something I've been accused of and I can guarantee it's so far from the truth in my case.

Drupal/Joomla are great but if the site you are trying to port over has customised templates/ways of working you will probably see soon enough why it costs what it does as you will need to provide this functionality by probably writing custom plugins.

Not being snarky but too often than not people don't quite understand the value of what they have due to all this free stuff floating around.
posted by twistedonion at 7:19 AM on February 8, 2008

your typical hierarchy of pages, a blog, forums, nothng super fancy

Sorry, I missed that. The port should be easy enough then... but you will need to get the content/images/styles from their current provider, then create a new template that looks like their old site and then copy and paste the content from old to new.

Will still be a pain in the hole but if there's nothing special about the site you couuld probably do it in a day or so for them
posted by twistedonion at 7:23 AM on February 8, 2008

twistedonion is right about the copy/paste process. I just completed a project like this, moving a professional organization's website from ASP (running on a Windows server) to Drupal (running on a Linux server). Transferring the content from one site to another was tedious (again, a lot of copying and pasting, plus uploading PDFs, Word files, etc.), but that was the easy part.

The hard part was re-creating the member database (the organization had ~300 members) on the new site, customizing user profiles, and setting up the dynamic aspects of the site (e.g., searching for members by location, sub-speciality, etc.). We had to install and customize several Drupal modules, but in a few cases we were unable to replicate the functionality of the old site. Fortunately, the organization wanted a new visual design for the site, so we were able to customize a pre-existing Drupal theme instead of creating a new one to mimic the old design.

Long story short, the project turned out well, but it took MUCH longer than we originally anticipated. If you're really comfortable with PHP/MySQL and Drupal or Joomla, you'll probably be OK. If you're new to Drupal/Joomla, be prepared to either abandon a lot of the functionality of the old site or spend a lot of time with your head buried in code.

Good luck!
posted by lewistate at 7:56 AM on February 8, 2008

In addition to what everyone else said, PHP does run on IIS, so it's possible to run both PHP and ASP on the same host. But Windows hosts are inherently more expensive than Linux servers (as Windows is more expensive than Linux), so you're going to pay a premium for that, and it probably won't really ease the transition much at all. I recommend just setting up a completely new version of the site on a new host and redirecting the domain name when it's ready to go.

If the existing site has much traffic currently, it's probably worth redirecting each old URL to the equivalent new URL with mod_rewrite.
posted by scottreynen at 8:09 AM on February 8, 2008

I had to do something similar recently - Winderz to LAMP Drupal. Here's what I did...

1. I pulled the entire site using wget --mirror
2. I ran each page through HTML tidy... uh... find . | grep html | xargs -n1 tidy -ibmq (I think that was it.)
3. I examined a few pages and found that all content was stored insides of <div class="content"> , so I sed'ed out all everything inside of there.
4. Cut and paste into new pages, doing my best to preserve paths.
5. Everything that was not HTML was uploaded to new site in old path location.
6. Thundercats were go.

Keep an eye on the Drup 'Not Found' logs. I missed a directory when re-uploading. Figured it out pretty quick.
posted by unixrat at 8:47 AM on February 8, 2008 [1 favorite]

If you're talking about migrating content, it might be just a matter of digging thru the current database and figuring out how the data fits in the new one.

As for functionality, you probably want to hire a programmer.
posted by mphuie at 9:57 AM on February 8, 2008

« Older Straighten me out!   |   CPS and/or Intervention. Need advice. Newer »
This thread is closed to new comments.