General update

Jan 20, 2010 at 10:01 AM

Hi Everybody,

I am glad to see a consistant download rate (its not thousands/day, but it is consistant) of the Genesis Smart Client Framework. I know that no releases have been done in 6 months, this is mostly because I've been caught up in paid-for work which impeded my ability to spend time on the Genesis Smart Client Framework.

I have (and have had for about 3 months already) the next release of the Genesis Smart Client Framework (v 1.60.1024.0) ready for upload to Code Plex, however I've been a really naughty boy and I never released it. In fact, I did the changes so long ago, and specifically for the paid-for work I did using the framework, that I barely remember what they were, except that they were required.

As always, I keep vigilent when adding features to the framework as I tend to preserve the extreme isolation of function between the framework and the client application using the framework.

On a lighter side, and possibly time for some community feedback based on the numerous folks who have downloaded the Genesis Smart Client Framework, and especially those of you who could get it running on their pc's... I am busy rewriting the entire framework from the ground up (not reusing any code). WHAT? WHY? Well my friends, I initially wrote the Genesis Smart Client Framework in a period of two weeks (after a week for my proto-type). Since then I've spent probably about 3 months' worth of solid development time in enhancing the framework and, including the time I spent to optimize it for an Open Source release, have created a complex little beast. While Genesis converted from .NET 2.0 to .NET 3.5 without any major problems, it is still stuck using SOAP Web Services and other older technologies. Considering that the Open Source community have not yet had a major take-up of the framework, I thought it would be best to rewrite the entire thing into a much easier to use tigher Visual Studio integration, WCF, WPF/Silverlight, Workflows and of course .NET 4.0.

Currently I have most of the back-end (excluding security) done, I am starting implementation of the new shell application within the next 2 weeks. After that I will be porting my existing application to the new framework and I will be releasing new articles on Code Project describing the new framework.

My ideal release date would be somewhere in March.

PS: I will attempt to (based on feedback) keep some backwards compatibility to the existing framework, and any applications developed using the current version of the framework, however there are a number of fundamental changes in how the framework functions which I believe will hamper this process. However, nothing stops me from developing a Module that is designed to host old-modules, which removes the requirement from the framework.

The current framework has the free-to-use standard Windows control-based interface, and of course ships with the trial edition of the DevComponents for the Ribbon Enabled User Interface (you'll have to buy your own license), the new framework has a business requirement for a Ribbon (because my current application uses one) so I have settled on the Telerik control suite. I will however for the purpose of the Open Source edition implement a standard Windows control-based interface again.

Just as a note of interest: In my initial experiences with dynamically constructing WPF and implementing RoutedUIEvents and Commands, I've posted a question on the Telerik forums, they were pretty useless in helping me, but I figured it out, and kept the forum up to date (so much so that Telerik told me I had an excellent post on their forum), read it here

The new Genesis Smart Client Framework will have the following:

- Command support (not the home-brew Commands I used in the first release) for proper UI integration with standard toolbar/menu systems
- Existing commands become Activities (ie. You write your code in a Workflow Activity, which is very nice on .NET 4.0 as opposed to painful on .NET 3.X). This was decided since you can execute any C# code from the workflow activities.
- Generic SQL Server driven, XML data model which includes the entire application structure, including Registered Applications, Files, Activities (previously Commands), Security and as of v2 the application visual tree.
- Security is applied to the XML data model for each query, this means that if you want a button on your form (since you can store the UI XAML in the database if you want) you can simply enclose it with a security tag that only allows access to a specific member role to the enclosed XML. If your user is not in the member role, he/she won't ever get access to the secured XML.

Anyway, there are many many enhancements coming, just be patient for a little longer. I will however in the mean time upload the v1.60.1024.0 release that's been lying on my pc for months now.


Stephan Johnson