Finally I did it! I burned my old SharePoint blog and R.I.P.’ed my former Russian blog (DasBlog) as promised.
Just to recall the history. Several years ago I realized that I need a new website/portal to host my stuff. Initially I looked for a ready solution that would match my humble requirements:
There were several candidates:
After testing each from the list, neither matched all my requirements. I used to like Scott Hanselman’s DasBlog, as it matched almost all requirements, except first two. After that I decided to write my own blog/website engine
with black-jack and hookers.
The first problem was that I don’t have web-application development experience. Many thanks to Sergey Zwezdin, who helped me to make first steps and provided valuable support during development. He suggested to try ASP.NET MVC + Entity Framework (EF) as a start point. Relatively quickly I learned basic concepts and some non-trivial things. Site development started about 2 years ago, but last year I realized that this is a bullshit, not a website and started again with new knowledge. Due to my studies at university, the progress was quite slow and only after exams I was able to work on website intensively.
The biggest conceptual problem was with hierarchical site directories, where each directory would have their own settings and filters. Once I implemented this, I faced another issue: ASP.NET routing failed to differentiate directories and pages with matching names. Actually, this was the only thing I couldn’t handle correctly and was forced to apply extensions to pages (like in classic WebForms). But I don’t care too much about this, not a big deal.
Second phase was existing content migration. Neither, DasBlog, nor SharePoint allows to export content in BlogML format. Since DasBlog uses XML to store site content, I quickly converted them to BlogML, including comments. With SharePoint this trick didn’t worked, so I used my small Metaweblog API client to grab posts from database.
Once this major task was done, I started to work on related stuff, like Metaweblog API server (to post articles via Windows Live Writer), management system and UX. Eventually, I ended up with 5 MVC controllers and 5k+ (according to Visual Studio metrics) lines of code.
At this point, my new web site implements almost all my wishes, except the biggest one: site search. Unfortunately, there are no easy-to-use search engines for .NET applications, but I’m going to work on it. There are two search engines: Lucene.NET and Solr.NET, but they doesn’t look easy and requires some research.
There are still places to improve. My general roadmap includes:
And do not forget to visit my website for new content. Thank you, very much!
Post your comment: