Yesterday I decided enough was enough, and I set up a new web server on Linode.
We've been looking at switching our hosting provider for some months now. Dreamhost never supplied enough processing power for Drupal's intensive database needs. Instead of investing with Dreamhost PS, we instead moved deninet to a VPS that we share with a friend's websites. We're now planning to reverse the arraignment -- have her share our space.
Both as a test and as a matter of conveinence, I uploaded the development version of Deninet 7 to the new server. As one might expect, the new site is....unfinished. There are a lot of planned features we need implemented prior to cutting over. Blog posts need access security enabled. Workspaces need to be created. There's a whole host of Views and configuration that needs to occur before the site is even close to ready.
The problem is, the clock is ticking.
Every day, our members at deninet make posts to their blogs, to book pages, and other content. Each of these pieces of content need to be copied and pasted into the new site as there's no advanced integration between DE6 and DE7. As of this moment, there are months of backlog I need to copy and paste into the new site. Don't get me wrong, I don't want our members to stop making posts. By all means, continue doing so!
The consequences of waiting to cut over to the site rest with me. The longer I wait to make sure the new site is "feature complete", the more work I need to do to maintain two versions of the site. At some point, it just seems like a waste of time. I could continue to work on the new site, in private, hacking away at what features I think we need until the new site is polished and perfect, or I can accept that the entire process will be ugly and painful.
Accepting the process will be ugly and painful leads to a complelling way forward. When a website undergoes a major redesign, it is often available internally for company employees or users to provide the vital feedback necessary in order to make the site work the way everyone needs. We're not a company, and we certainly don't have what's necessary to make an "internal site" work. I've tried it before, but it usually ends up being ignored by our most regular users, leaving me to guess what we need.
I don't want to do that this time.
Instead, I propose that as soon as we have one feature implemented -- blog post security -- we cut over to the new site. No waiting to perfect or even start other features. No custom theme design. Nothing but the bare minimum to start. Why do this? For one, it minimizes my work. I will only have one site to administer after that post. Furthermore, everyone needs to use the one, unfinished web site. This way we can develop new features in the open, with everyone involved. Point of fact: I need feedback to get this right. Using the new site when it's not finished is the best way to get that feedback and change or fix features before they become entrenched.