Tom Mertens asks for the code

2 minutes read

Tom Mertens noticed that I dropped Radio:
It seems Clemens is dropping Radio for BlogX and enhanced BlogX to include features (templates and macro's) offered by Radio. Let's hope he will share his modifications with Dare, who is the new admin for the BlogX workspace. Interesting fact, Clemens also included (n)Echo (Atom?) support.

I absolutely intend to share the modifications to the BlogX code-base, but given the amount of changes I made and the structural impact on the BlogX code-base, I will likely make it available separately from the original BlogX and not ask Dare to integrate it into the existing code-base. Because ....

By now, every single file in the WeblogX project has basically been massively modified or (and that's valid for most) entirely rewritten to an extent that only the filename is left. I refactored the whole BlogXRuntime in a way that all content related actions and all logging related actions are now defined on two interfaces for which implementing instances can only be retrieved through factories and for which the current default implementation being returned is still based on the current backend (although I did some major changes to the file-handling and introduced a better concurrency strategy). The endgame is to make the backend configurable/pluggable and provide an Enterprise Services/Database backend. The BlogXData class and all Save()/Load() methods on the "data-model" classes are now internal to the BlogXRuntime assembly to make sure that the new layering is enforced. The backend now spins up an additional, separate thread and uses a events and a queue to fan out referrals to the log asynchronously in order to avoid concurrency conflicts. It uses jobs queued in the thread pool to perform pings to, pingbacks and trackbacks asynchronously so that the edit page doesn't hang in case one of those services is slow or unreachable. On top of it all, there's support for the Comment API, Trackback, Pingback, MoveableType/Blogger/MetaWeblog API, all tested with a colorful selection of popular aggregators and blogging tools -- and that works so nicely for me that I removed the somewhat whacky Windows Forms client from the solution completely.

The bottom line is: it's a new app to a degree that everyone who is currently writing their own extensions to BlogX would be very unhappy to see the original code-base change so massively. Once I am happy with the code-base (it's pretty stable already as you can see) and have found a good name (the current newtelligence.BlogX.* namespaces seem like name-hijacking), I'll set up a workspace on for it.


Leave a Comment