Some time during the summer Beta 1 of Visual Studio 2005 was released to the public. After having seen the new controls in the 2.0 release of the .NET Framework, I felt it was time to give SharpMT a mini-facelift. As I type this, I’m working on the first “alpha” of SharpMT 3.0… the quandary is what the hell do I do with it now?
I use the term Alpha rather lightly. Basically what I did was take the existing 2.6 code base and bring it over to the new Framework, one method, field, and property at a time. This allowed me to insert new Framework controls, where it was warranted, trim out some other stuff, where it made sense to, and generally rename every variable to be more .NET compliant… up to this release I was clinging to Hungarian notation – in the new code base, the last vestige of such markings is the ol’fashioned m_ for certain field names. I also had to change the way I managed my threading for network calls: it seems to be happy now and runs OK, but I don’t know what will happen in future releases of the Framework.
So, in theory, the product should be sound… There’s always things that go wrong in a move of this kind, sure, but that’s why I’m using it for my own posts, as the first guinea pig. [No pun intended.] As far as features/changes go, I’ve changed the UI to use the new menu and toolbar controls that come with the Framework… very neat looking. I also changed to the built in HTML control for the Preview tab, which makes for three less DLL’s to ship. The URL DropDown control for Add URL’s changed to use the new ComboBox functionality: it still auto-suggests a URL as you type, but the drop down list will contain the last twenty URL’s entered on this dialog – subtle change, but nice.
I also went ahead and recompiled all of the Plug-Ins for SharpMT as well as the IBlogExtension module, which is used by RSS Aggregators. There are now two files for that: SharpMTPlugIn2.dll and SharpMTPlugIn.dll – the newer one uses the 2.0 framework and the other uses 1.x… until there are RSS readers that are based on the new Framework, you’ll want to continue to use the original, which works with #MT 2 and 3. Also, the default directory has shifted to \SharpMT instead of \SharpMT 2 – another subtle change that I wanted to get in there for a while.
Bug fix wise, I did notice something odd with Pings… for some reason I told the posting modules to only send Pings if “Allow Pings” was checked, which is completely wrong – that’s now been fixed. This should clear up some of the ping issues that have bothered people.
And as it’s a beta framework, there is some quirkiness… if you right click on a link on the Blog Links panel, and it’s set to auto-hide, the panel hides before showing the context menu – it still works, but it looks odd. For some reason my progress bar will work fine when I refresh links and categories but refuses to work when posting a draft to a server… even though they all call the same code the same way. Also the tab pages on dialogs are mis-colored and I can’t fix that. Some more time was given to investigate pushing UTF8 to TypePad/MT – that’s sorta temperamental right now, so it’s on the to do list. Also, there was a request for adding support for “Future” on posting status… still looking into that.
The question is what in the hell do I do with it? The Beta 1 Framework isn’t widely available for distribution. I just finished the majority of the work tonight, so it’s still sorta green… I’ll continue to work with it, of course, but I’d feel bad if I lost people’s posts. Then there’s the question of Beta 2, for Visual Studio: what changes will that bring and what will that do to Beta 1 users? And I’m still toying with the idea of just dumping the source code out there and letting the populous hack away at it – it could prove the “more hands don’t make for a better product” idea, but I’m still on the fence with that.
I guess I’ll just sit on this release for now – since I’m hoping to move soon, and that means more downtime, I won’t be pressured for fixes! – and wait an see what happens with upcoming betas of Visual Studio.
Oh – here’s a mini-screen shot: