We do a lot of upgrades here at Sueetie LLC. We go through phases when it seems we're in a non-stop upgrade pattern with one app or another. To help others who feel the pressure of Sueetie upgrades, I thought I'd share the experience of upgrading my personal Sueetie site from Version 3.0 to Version 3.2.
Before I get into the DBVT.COM upgrade process, I thought I'd take a sidebar and mention the Sueetie Total Care program for those who haven't seen it. Sueetie Total Care is a program we started to help Sueetie Community Admins keep their site current with a small monthly fee. Considering Sueetie new releases average every 2 to 3 months, that's a good deal. More on Sueetie Total Care here.
Back to DBVT.COM's adventure of moving from Version 3.0, skipping v3.1 and straight on to Version 3.2. I've been looking forward to moving for a few key v3.2 features.
- Smarter Request Logging and the ability to turn off logging. My DBVT.COM SQL Database was getting pretty hefty. Over 400MBs to be precise. That's not large to a lot of guys, but it is to me. With the upgrade we're back to below 90MB. Not bad for a blog with 7 years of posts and managing thousands of Gallery Server Pro photos. Zipped: 18MB. Sweet. (Smarter Request Logging was actually released in v3.1.)
- The End of Feedburner. With Sueetie Analytics RSS Syndication and Reach Reporting I can finally take back control of my feeds while having the subscription data I've been getting from Feedburner.
- Blog Post List Thumbnails. You'll be seeing post thumbnails at dbvt.com\blog soon.
- Media Sets. I display photos on the DBVT.COM Home Page with the original Sueetie Photo List View Control, but it's time for an update, either using the new Media Sets or at the least, add new SueetieMediaObject properties enabling full client-side processing over HttpHandler display. In other words, DBVT.COM Lightboxes are eminent.
DBVT.COM is on the ATOMO Team
I could use Gummy Bear for DBVT.COM, but a developer needs to be able to get under the hood at all times. Atomo does that for us. Here's the DBVT.COM Solution using Sueetie 3.0 followed by Sueetie 3.2. You'll see the new class projects in v3.2 and notice the Atomo structure with the blog, media gallery, (and wiki and forum--not shown) placed logically under the /WebApplication project but as their own Website/WebApplication projects for development. You'll also notice that DBVT.COM has no need of Wiki or Forums projects. We'll need Forums during setup, but only for a few minutes. More on that in a bit.


Trash and Copy (not in that order)
First thing to do is copy WebApplication 3.0 and trash everything else. WebApplication has all blog and media gallery content we'll be transferring back to the v3.2 WebApplication area. Here's what the initial source folder looks like with full Atomo 3.2 contents and the copied WebApplication30.

The Sueetie 3.1 Upgrade
We're bypassing Sueetie Version 3.1, but we still need to bring the SQL Database to v3.1 before moving to v3.2. Script Complete. No runs, no drips, no errors.

To Version 3.2 With an Stopover at YAF 1.9.5.5
Whether a Sueetie Site uses YetAnotherForum.NET or not, the framework assumes that you do. This is because of YAF's excellent membership features that are more and more integrated with the Sueetie Framework. Sueetie has the ability to turn off forum as well as use a Sueetie member profile feature outside of forums. At DBVT.COM we're primarily concerned with populating the database schema that Sueetie depends on, so next up, the YetAnotherForum.NET Upgrade Wizard. http://yoursite/forum where the YAF wizard automatically launches and finishes as you see below.

I should mention that on loading my forum application to execute the YAF 1.9.5.5 upgrade wizard I was reminded that /forum/themes/DBVT2008 did not exist. DBVT2008 is my DBVT.COM Theme name (yeah, time for a refresh.) Since the forum was only going to be used for a few minutes to execute the wizard I made a copy from /forum/themes/lollipop (along with a /forum/themes/dbvt2008.xml and a /forum/masters/dbvt2008/forum.master, both from lollipop.) When finished with the wizard I was free to delete the YetAnotherForum.NET, Sueetie.Forums and YAF.Core projects.
Script, Copy and Drop, eh, Merge
Now that our database is fully YAF-prepped for v3.2 we can execute the Sueetie v3.1-to-3.2 SQL Upgrade Script. I won't show you a picture of that since it looks pretty much like the script above. The more important steps are copying theme and data contents from /WebApplication30 to our new v3.2 WebApplication area.
I started with the data areas in BlogEngine.NET and Gallery Server Pro, /blog/app_data and /photos/gs/mediaobjects respectively. Then moved on to themes and theme-supporting master files. Here are the theme-related contents I copied from WebApplication30.
\WebApplication\themes\DBVT2008
\WebApplication\themes\Chiclet
\WebApplication\photos\masters\Chiclet
\WebApplication\photos\masters\DBVT2008
\WebApplication\photos\gs\styles\DBVT2008
\WebApplication\photos\gs\styles\Chiclet
\WebApplication\blog\themes\DBVT2008
\WebApplication\blog\themes\Chiclet
Now for the merge. Here are files that required the assistance of WinMerge.
\webapplication\util\languages\en-US\Sueetie.xml
\webapplication\util\languages\en-US\PageTitles.xml
\webapplication\util\config\urls.config
\webapplication\util\config\Sueetie.config
\webapplication\web.config
\webapplication\photos\web.config
\webapplication\blog\web.config
DIGERATTA
Other site-specific touches were required, of course. Some theme file modification via WinMerge, for instance. I needed to copy over legacy content in /images and /blog/pics. I encountered blank pages on /services and /photos. Services is my CMS area. Changing the CMS applicationKey to "services" solved that. For the blank /photos/default.aspx, the problem was overlooking a urls.config redirect to /photos/gs/styles/THEME/default.aspx during the merge phase.
Threre are four unique aspects of DBVT.COM that affected the upgrade. 1) DBVT.COM uses a different ASPNET Application Name than Sueetie, thus the web.config merges. 2) DBVT.COM BlogEngine.NET uses the dbDataProvider and stores all data in SQL as opposed to Sueetie which uses the XmlDataProvider. 3) DBVT.COM Media Gallery is located at /photos rather than /media. And 4) DBVT.COM CMS is located at /Services, not /CMS as the default. I mention these because they're a non-issue when upgrading in Sueetie. Web.config changes and modifying application settings in Sueetie Admin and in urls.config do the job.
I hope the overview of upgrading DBVT.COM help others who want to upgrade. Either that or inspire you to give us a call to upgrade your site for you as a Sueetie Total Care Partner. How long did it take me to upgrade DBVT.COM across two versions of Sueetie? It required most of a morning, or about 4 hours. But hey, with all of the upgrades we do we focus on the rewards of the end-result. If you subscribe to the DBVT.COM blog, you'll be hearing about more of those end-result rewards soon, I'm sure.