MovableType to SharePoint Blog Converter
For this project, my client was a large industrial manufacturing firm that had been experimenting with blogs as a modern way to allow engineers to share ideas and best practices in an ad-hoc way. Much to their surprise, their “unofficial” grassroots project rapidly grew in popularity and soon became a mission critical method for teams and departments to communicate. They had developed their solution on the MovableType 3.3 platforms, but they were suffering from performance issues and they found that they could not integrate their solution with their other systems. The goal of this project was to migrate their existing 500+ blogs to SharePoint 2007.
Migrating the blog data was actually the easy part. MovableType provided an export format that could be easily parsed and uploaded into SharePoint blog posts. During the conversion, I detected references to images and automatically downloaded them from their source location and uploaded them to SharePoint. The conversion process could be run from either command-line or a graphical interface.
In order to provide richer functionality, I added the Community Kit for SharePoint: Enhanced Blog Edition.
The biggest challenge for this project was that many of the 500+ existing blogs had elaborately customized user experiences. Users added a variety of plugins, modified stylesheets, etc. The project would not be considered a success if we could not find a way to automate and preserve user customizations.
To solve the migration of custom user experiences, I created a series of page layouts in SharePoint that closely mirrored the HTML structure in MovableType. Next, I created a conversion tool that could parse a stylesheet from MovableType and convert it into a stylesheet that would work in a very similar fashion in SharePoint.
To make UI customization easier, I created a simple settings page where a user could change basic layout options (like 2-column or 3-column), upload a header graphic and set a few common colors. I also created a variety of custom webparts that the user could add or remove to simulate the popular blog features that user’s had previously.
The final portion of this project was to provide extensive reporting on blog consumption. To solve this problem, I wrote a tool that was able to read and merge activity from both SharePoint and IIS web logs. This utility generated extensive reports in both Excel format as well as HTML that was viewable from inside SharePoint.