I’ve finally done away with my ancient asp.net 2.0 thedatafarm.com that I hadn’t paid any attention to in many years and with it also moved my blog (an early version of graffitiCMS that was starting to act up).
Both are now set up as a WordPress app which was fun to configure with plugins and widgets and not too challenging since I have played with WordPress a bit on behalf of my mom.
So this will be easier for me to maintain and add in modern goodies like the social links.
I’m grateful to a number of people who’s resources helped or inspired me:
Picking a Blog Engine
Many folks on twitter recommended their favorite blog engine. I considered Orchard, the new Ghost blog and initially thought I did not want to use WordPress. My pal Daniel Marbach worked on me on twitter for a while, mystified why I was a brick wall about my anti-Wordpress stance. (He gets the last laugh!) Ghost is new. It will run on Windows Azure. But I was staying with orcsweb (via Cytanium) and that was not an option. Michele Bustamante is loving Ghost on her new site michelebusta.com. Sebastien Ros, from Microsoft, who works on Orchard, was very supportive, even offering to do the big 10 year, 4200 blog post conversion for me. In the end, Steve Smith said two words that swayed me back to WordPress: automatic updates. Yeah I love the ease of one button click wordpress and plugin updates.
Picking a Host
I’ve been very fortunate to have my site hosted by orcsweb.com for many years. While they are one of the highest-end hosts for ASP.net sites and pricey (but oh so worth it), they had offered me free hosting as a benefit of being an ASPInsider. Otherwise, it would have been overkill for my wee web site. But thanks to the gratis hosting, I get the benefits that orcsweb has to offer. Orcsweb has a spin-off company for people like me …don’t need the power (or expense) of the premier hosting, but still want the benefit of their experience, dependibility and great customer support: Cytanium.com. So they offered to host my site on Cytanium which also sports the Microsoft Web App Gallery for auto creating websites using frameworks like Orchard and WordPress. There are about 100 apps to choose from to install from the gallery. Setting up a new WordPress site was a snap.
Migrating 10 years worth of blogging
I have over 4000 blog posts and didn’t want to lose them. I found four resources that made this possible.
- Jef Kazimer‘s blog post on his Graffiti to WordPress migration was very helpful.
- Jon Sagara‘s Graffiti to BlogML tool. It’s just a small project that you can download and run in Visual Studio. I made one tweak to the code which was to handle some issues with the way it tried to emulate the blog URLs based on the titles. I had lots of quotations in those titles. In the end, I didn’t even need those URLs becasue I figured out how to get WordPress to format URLs just the same as they were formatted in the graffiti so my links should all (or mostly all) work. And I got the tool to create valid XML. I pointed the connection string to my sql server database and it processed all of the blog posts and comments in a matter of minutes!
- Once the posts are in BlogML format there is a WordPress plugin, BlogML Importer (which works fine with WordPress 3.8), that does the conversion.
- However it has a limit of 2MB file imports. Searching for a solution, I couldn’t believe that it was my own old Vermont pal, Dave Burke, who presented the solution Importing a Big Honkin’ BlogML.xml Into WordPress . I followed his instructions to a T and was able to pull in all of my posts and comments in 7 smaller files.
And some marketing
I left my blog in a /blog subfolder so that I can continue to have a main page on thedatafarm.com to let folks know that, as a consultant, I do like (and need) to work for a living. It is all just one big wordpress site. Well, really a small one. The other stuff, home page, etc , are just static pages.
Plugins
I’m using a bunch of plugins. Since they are free, the least I can do is give them a nod:
Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!
Glad to see the move went well, the new blog is looking great! Nice to see it’s responsive too.
It’s tough choosing the right platform for the job as there’s so many great options out there to choose from.
Thanks Joe!
Congratulations on the move; it’s not easy. You might want to consider installing Jetpack–created by the WordPress creators. Some of the features are paid, but there are plenty of free ones, such as a form creator (instead of Contact Form 7), social stuff, and site monitoring.
http://jetpack.me
Yes I saw that JetPack plugin. It is jam packed with goodies. I may add it in at some point. 🙂
I didn’t get from reading this post why you needed to move to a new blog engine.. like what was wrong with old one? What did you need from a new one? WordPress is a very capable bloging engine but I wish .NET people would use .NET blogging software and support their fellow .NET developers. For example http://dotnetblogengine.net/ is a very good blogging software. It’s being actively updated and a new version came out last week.
You are pretty quick to judge. I have been blogging since 2003. I started on dotText (a .net app), moved to dasBlog (a .net app) and then to graffiticms (oh, suprise! another .net app). This recent move to wordpress is my first non .net blog.
New site looks great. Please keep us updated when you’ll post your next video on Pluralsight (hopefully covering EF6). Thanks!
Glad to hear the migration went well! GraffitCMS was a nice project back when it first came out, but unfortunately it didn’t have the traction/support it needed.
thanks Jef and yeah…GraffitCMS was great! I did spend some time about a year ago trying to update to the codeplex hosted version things weren’t falling in place and I gave up on that.
Hi Julie. I hope you are enjoying Alta so much that you don’t read this for awhile. Awhile can be whatever you want as long as you are having fun and enjoying the outdoors.
Anyway, we have a pretty large data model. Our database has some legacy stuff and some newer stuff and for the legacy stuff, we rename properties to follow our new stuff standard. The problem I experienced is that for properties that we renamed, EF doesn’t recognize that their corresponding mappings already exist, so I end up with two of those properties and associations. I include later the note I wrote after spending a LOT of time eliminating the errors. I’m wondering if you know what I’m talking about, is this a bug, is there something I can do differently to avoid this?
Here’s my note:
note to self and whoever else runs into this (cuz this isn’t the first time and maybe if i write it down i’ll remember next time). Before updating the ef model, always get latest and lock the Entities.edmx and Entities.Designer.vb files. after updating the ef model, pay attention only to the errors within the Entities.edmx file. You might have to delete duplicate properties and navigation properties because EF doesn’t always recognize when a property already exists, especially when we’ve renamed them. Also, look for duplicate associations and make sure you delete the one that is for the properties you deleted. When you click on the line that represents the association, it’s properties are highlighted (so delete the one where nothing highlights). After making these changes, save the Entities.edmx so VS will do it’s realtime recompiling.
A shortcut, after you remove the duplicate properties, you will have these errors for the duplicate associations:
Error 82 Error 5: The element ‘Dependent’ (AND ‘PRINCIPAL’) in namespace ‘http://schemas.microsoft.com/ado/2008/09/edm’ has incomplete content. List of possible elements expected: ‘PropertyRef’ in namespace ‘http://schemas.microsoft.com/ado/2008/09/edm’. C:\Development\QLM\AdvanTech\QLM\Shared\QLMDataAccess\Model\Entities.edmx 10805 13 QLMDataAccess.
Scan the Model Browser and look for FKs with duplicate names with numbers appended.
When you double click the FK listed in the Model Browser, VS hightlights the association. USUALLY the duplicates are erroneous although sometimes legitimate (for ex., Cost Center to User legitimately has three, created, deleted, and updated).
VS also highlights the associated properties. The erroneous associations do not have associated properties (because you’ve removed them). Delete those (In my case, it was always the second and subsequent ones created that needed to be deleted).
also, consider deleting the main entity you changed and letting EF bring it in fresh.