Hello folks and happy new year!
A ton of progress has been made on this module since my last blog post back in September ‘09. That being said, I know how you feel, and that unless you have a functional version running on your own DotNetNuke instance you are bound to be a skeptic. Hey, I sit on the other side of the fence too, when it comes to modules that I am not involved in - so believe me, I understand.
If it serves for nothing else though, at least this announcement should put your mind at ease and reassure you that we are very close to the finish line. There is now an official BETA package available for download on CodePlex.
But before you go rushing over to download the beta, please continue reading this post as it will provide you with some details as to what to expect and about the sheer amount of work that has been performed on this already solid module.
Needless to say (but I'll say it anyway; in fact, I’ll make it bold and red as well), this is a BETA, and as such it is not supported and it should not be deployed in production environments. This is for test purposes ONLY. So, to re-iterate, if you screw up, sorry pal, you’re on your own.
So, What Has Been Going on Since September of ‘09?
First and foremost, we decided to skip over the originally envisioned version 03.05.02. As the title of this post suggests, this is version 04.00.00 BETA. Essentially, the amount of functional improvements to the module simply warrant a full point version release. Makes sense, right?
Below, I have categorized and am noting some of the major features and bug fixes that you will find in this release. Unfortunately I cannot point you to the roadmap on Gemini anymore as it is currently being migrated to CodePlex. I will inform you when the migration is complete. For now, this should give you a good idea though:
Categories & Tagging
-
Added Support for categories
-
Categories can be organized in a hierarchy
-
Added Support for Tagging
-
Added functionality to manage / retroactively apply tags through a “batch” tag editor
-
Auto-complete on tags in the web interface
-
You can select multiple categories and tags per post
WLW Integration Enhancements
-
Support for multiple/hierarchical categories in WLW
-
Support for tags in WLW
-
Support for summaries in their own text box (switch on SupportsExcerpt) instead of using the ‘split post’ function
-
Syndication (RSS) Enhancements
-
Additional content (tags, body)
-
Ability to feed body of post if allowed by admin by adding ‘body=true’ to RSS request
-
Feeds are now cached
Other General Improvements
-
Added new modules:
-
Recent Entries
-
Recent Comments
-
Tag Cloud
-
Categories
-
Added a Control Panel in the MainView which allows those who are upgrading, to automatically add the newly added modules, such as the Category View, Tag Cloud, Recent Entries, Recent Comments etc
-
Implemented the publish and pubdate properties that get passed back and forth between WLW and the module
-
Ability for Administrators to enforce clear text summaries. This is now an option for the module. Default is the old behavior. Obviously I’ve had to add a regular textbox to EditEntry to switch between HTML and textbox.
-
Fixed issue where, under certain conditions, no automatically generated summary appears in the RSS feed (details of this issue in this Gemini ticket)
General Code organization
-
Converted project to .NET 3.5
-
Converted solution to Visual Studio 2008
-
Reorganized the project folder structure under components to reflect the namespaces
-
Set the default namespace in the project and have everything work underneath that
-
Separate the IMetaWeblog from IBlogger, IMoveableType, and IWordPress.
-
Objects native to those formats were also moved to their own namespace. This avoids having WPCategoryInfo vs MetaWeblogCategoryInfo.
-
Moved BlogPost.ashx.vb to the main namespace and it can now implement multiple protocols.
-
Moved SqlDataProvider into the main project. There is no longer need for another DLL for the DAL
-
Moved all external project stuff (scripts, manifest, build file) to their own directory.
-
Implemented BlogModuleProvider.getItem for filling categories. This was needed to implement the multiple/hierarchical categories
-
New RSS writer that includes additional (Blog proprietary) elements in the feed
-
Added NANT support of 64 bit platforms
General Bug fixes, found but not documented in Gemini
-
Implemented static methods in the controller classes. It saves having to create them all the time in code.
-
New settings under Module Options for RSS
-
Abstracted the Blog Settings. There is now a single class (BlogSettings) where the retrieval, defaulting, saving, and caching takes place.
-
Switched the project to ‘option strict on’ (Why was this off to begin with? Yah, I know… wasn’t me :-) I swear!)
-
Fixed some non-localized texts
-
Adjusted IActionable on several controls to make new controls accessible
-
Resolved numerous XHTML issues (We are now 100% compliant – Thanks Timo!)
-
Introduced 'Save as draft' option when creating a blog entry
Of course, there’s also all the stuff categorized under the 03.05.02 version in Gemini – but as I mentioned that is not available until further notice.
Finally, another big step forward was to move the source code and project management over to CodePlex. You can now download the source code at any given time, even in mid-stream of development. Yay!
How to Report BETA Feedback
The best way to measure the health of the product is to put it directly in your hands (and TDD, of course, but we ain’t got that yet). We need YOU to take the BETA for a spin and push the limits. Testing is needed for various scenarios, but one that is especially crucial is UPGRADES. Switching from “Child Blogs” to “Categories” is a major paradigm shift that although you are not required to make when you make a final leap to the new version, it still needs real-world testing. So what I am saying is that although we have performed our own rigorous functional and smoke tests we may not have covered all scenarios, in fact I am pretty sure we did not. So, please TEST, TEST, and the RE-TEST and provide us with your feedback.
Providing us feedback is simple. Go to http://dnnblog.codeplex.com/WorkItem/Create.aspx add your findings (please add steps to reproduce, and/or any other details that might help us identify the issue properly) and make sure that you tag it to Release 04.00.00 Beta in the “Work Item Details” box on the right-hand side.
Please do not use the comments section of this blog to give feedback on testing or make functional requests – we would much rather keep those sort of requests centralized in one single and manageable location. The comments section on this blog should only be used to curse at me and at the team :-)
Moving Forward
Many of you are probably thinking: so when’s the final release scheduled for?
The short answer is that “there isn’t one”, at least not until proper testing has been performed and the DotNetNuke release process is complete.
I have solicited help from Scott Willhite to test various scenarios using the data from the blogs on DotNetNuke.com. A successful upgrade of DotNetNuke’s blog data will definitely be a milestone that will certainly mean an imminent final release candidate. This will be a huge step in the right direction – I will keep you informed about progress on this task.
I am counting on you to test this beta. I am counting on you to give you the proper feedback. I am counting on you to be a critic and shape the direction and future of this product. Yes, YOU, the end-user.
Finally, I would like to thank the entire blog team for a great effort in getting this out the door. I also want to give a special thanks to Peter Donker, who stepped in to help us out tremendously and was instrumental in making this beta happen.
Ok, I’m done talking, you can go download it :-)
UPDATE 01/10/2010:
I have just posted the BETA 3 package on Codeplex and fixed the links on this post to point to the latest release.
Please do not attempt upgrade previous BETA releases, instead please upgrade 03.05.01.