Thursday, December 17, 2009

The 4th video in the Core CSLA .NET 3.8 video series (available from http://store.lhotka.net) is now online. If you’ve already purchased the series, you can download the new video from the download page.

Video 4 covers the data portal and how you can use it for 1-, 2- and 3-tier deployments of your applications. This is 1:53 hours of in-depth content, providing an overview of the data portal concept, and an extensive walk-through of code using the data portal. You’ll see how to configure the client, set up and configure a server – all using WCF. Even better, you’ll see various object patterns that leverage the data portal, including the powerful unit of work pattern.

The special pre-release pricing is still in effect for this amazing video series. Buy before the end of the year and get 33% off the regular $300 price. That’s right – buy now for just $200.

And while you are at the store, take a look at the CSLA .NET for Silverlight video series, which is 15% off until the end of 2009. If you are using CSLA .NET to build Silverlight applications, this video series will get you up and running – from creating your first Silverlight project in Visual Studio 2008, through implementing the UI, the business objects and data access, everything you need to know is in this one series of videos.

Thursday, December 17, 2009 10:10:13 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, December 14, 2009

I just got a new ATI AMD Radeon HD 5850 – nice looking high end graphics card. This replaces my previous nvidia card and is a pretty big upgrade.

Of course I’m running Windows 7 x64, probably the best operating system yet created. Seriously! :)

Unfortunately the driver and utility installer (Catalyst 9.11) from ATI won’t run on my machine. The InstallManagerApp.exe crashes almost immediately every time I try to run it. Windows 7 detects that it failed, but beyond that I’m not getting any details about why it failed…

I was able to use the Windows device manager to directly install the driver, so at least the card works. But without the Catalyst control panel, the card is always running at full speed, and therefore its fan is too – which is really loud and consumes tons of electricity.

What’s odd is that I recently put a different ATI card into another Win7 x64 box and Catalyst installed just fine.

I’m wondering if there’s some issue where Catalyst won’t install because I just uninstalled the nvidia card and its drivers?

In any case, I’m not real happy with ATI just at the moment…

Update: Thanks to helpful replies, here's the answer:

http://forums.amd.com/game/messageview.cfm?catid=279&threadid=101103

In short, unpack the installer, then go to the \bin64 folder and type this:

> ATISetup.exe -Install -Output screen

Monday, December 14, 2009 7:57:39 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
 Wednesday, December 09, 2009

There’s a new DNR TV show online where I talk about the MVVM support added to CSLA .NET 3.8.

http://www.dnrtv.com/default.aspx?showNum=161

 

Wednesday, December 09, 2009 12:18:28 AM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [1]  | 
 Sunday, December 06, 2009

Last week I spent a few hours switching the CSLA .NET for Windows unit/integration tests from nunit to mstest.

This wasn’t terribly hard, because the tests were originally created with the idea of supporting both test frameworks. Of course as different people added tests over several years time inconsistencies crept in, and that’s what I had to address to make this switch.

I didn’t remove the compiler directives for nunit, so it should take relatively little effort to switch back to nunit, but I don’t personally plan to do that.

mstest is now available in all professional versions of Visual Studio 2010, and Microsoft is obviously faster about getting their test framework updated as .NET and Visual Studio change. Looking at www.nunit.org there’s no mention of VS10 or .NET 4.0. Yes, I know people have tweaked nunit to work on .NET 4.0, but mstest allows me to eliminate one level of uncertainty from my process.

Besides, there are all these really cool tools and capabilities in VS10, some of which tie into testing and coverage, and this gives me motivation to play with them :)

Sunday, December 06, 2009 9:02:07 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 
 Sunday, November 29, 2009

The Core CSLA .NET 3.8 Video Series provides nearly 9 hours of high quality training content to build your skills around CSLA .NET - for any type of user interface. The focus of this series is not on user interface development, it is on the core concepts of CSLA .NET – the knowledge you need to build a solid business layer for any application.

This six part series provides an introduction to CSLA .NET, then dives into detail to show how to code each type of business object, including business, validation and authorization rules. You’ll also learn about the various options for implementing data access, and how to effectively utilize the data portal for 1-, 2- and 3-tier deployments of your applications.

I’m offering a special “pre-release” sale price of 33% off on the video series. Buy now with this heavy discount, and get each new video segment as they become available. Segments 1 and 2 are online now!

Act now, the discount will phase out as the entire series comes online!!

Here is a summary of the video segments:

Introduction
In this video you will become familiar with the CSLA .NET framework's vision, goals and overall scope. You will be introduced to the various architectures supported by CSLA .NET, and the requirements necessary to build CSLA .NET applications.

Business Object Types
In this video you will learn how to implement each of the business object stereotypes supported by CSLA .NET. These include editable objects, lists of objects, read-only objects, read-only lists, name/value lists, command objects and more. At the end of this video you will understand the purpose behind each stereotype, and the coding structure to use when building business objects for each stereotype.

Data Access
This video details the various options supported by CSLA .NET for data access. You will learn how to put data access code into your business class, or into a separate data access assembly using a repository pattern, along with the pros and cons of each technique. You will also learn about the ObjectFactory attribute and base class, that can be used to create pluggable data access layers for an application.

Data Portal
In this video you will learn how to build 1-, 2- and 3-tier applications using CSLA .NET. CSLA .NET allows your UI, business object and data access code to remain the same in all these configurations, but there are numerous configuration options and choices you can make to optimize how your application works in each of these scenarios.

Business and Validation Rules
In this video you will learn how to implement business and validation rules in your business objects. This includes the use of validation attributes, common validation rules and custom business and validation rules. You will also learn how to implement and use synchronous and asynchronous business rules in your applications.

Authentication and Authorization
In this video you will learn about the various authentication and authorization techniques supported by CSLA .NET. Authentication options include Windows, ASP.NET Membership Provider and custom authentication. The CSLA .NET authorization subsystem supports per-property and per-type authorization, which is role-based by default, and can be customized.

Sunday, November 29, 2009 11:46:20 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  | 

I’m heading to Atlanta to talk about “Microsoft Oslo” – oh wait – to talk about the SQL Server Modeling at ALEMUG on Wednesday, December 2.

Actually I’ll be talking about MCsla, which is the prototype domain specific language and runtime I created for CSLA .NET using the SQL Server Modeling tools. It is a good topic, because I get to talk about designing and defining a DSL with a custom grammar, using the m.exe and mx.exe tools to compile DSL code into instance data, and then defining a schema so that data can be loaded into SQL Server tables. Tables that you can view (and edit) using “Quadrant”, or any other SQL Server tools of your choice.

In short, nearly every part of SQL Server Modeling gets used, and the DSL code actually executes as a WPF application – so it is an end-to-end prototype solution.

So if you are in the Atlanta area, maybe I’ll see you there!

Sunday, November 29, 2009 10:39:08 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, November 26, 2009

csla_logo1_42 In celebration of the holiday season the CSLA .NET training videos are on sale now through the end of the year.

Save 15% off the regular price on the following products from the CSLA .NET online store:

  • CSLA .NET for Silverlight video series (includes sample code)
  • Business object types video (includes sample code)
  • N-Tier data access video (includes sample code)

Don’t miss this opportunity to get a great deal on these invaluable CSLA .NET training materials!

Thursday, November 26, 2009 12:12:30 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [3]  | 
 Tuesday, November 10, 2009

If you go to http://www.microsoft.com/net/dotnetstories/ you’ll see many compelling stories of people using Microsoft .NET to do cool things.

This includes Andy Schwartz, a colleague of mine at Magenic. Andy is not only a great technologist, but he has a couple real black belts in martial arts.

I love working with such great people! :)

Tuesday, November 10, 2009 2:13:20 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, November 06, 2009

In Visual Studio 2010 and .NET 4.0 Microsoft is amping up the visibility of the “client profile” concept. In fact, when you install the 4.0 client profile on a machine, it doesn’t drag the rest of the framework to that client later – they just get the client profile. And when you create a WPF or Windows Forms project in VS10 you default to targeting the client profile.

That’s all good – great in fact!!

But I’ve fallen in love with the validation attribute concepts in System.ComponentModel.DataAnnotations.dll. These attributes are designed specifically to enable a UI framework author (or a business layer framework author – like me with CSLA .NET) to automatically create a rich user experience based on the attributes decorating business objects.

This concept was first fully realized in Silverlight 3 – a client technology – and is now fully supported in .NET 4.0 full profile. But it is a client side technology, and so should be in the client profile.

I’ve logged this issue on connect, and recommend you vote for this to be resolved:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=502807

 

Friday, November 06, 2009 3:41:13 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [1]  | 
 Thursday, November 05, 2009

CSLA .NET version 3.8.0 is now released and is available for download.

For Windows Forms and Web Forms users there are not any major new features, but some of the bug fixes may be valuable. Upgrading from 3.7 to 3.8 should be painless for these UI types (as well as XML services and workflow interfaces).

If you use WPF or Silverlight, you will almost certainly want to take a look at the features in 3.8. The downside is that there are several breaking changes in the XAML controls, but the upside is that the new XAML control implementations are far superior to previous versions. Controls impacted include:

  • PropertyStatus – now supports a “pull model” so a UI control can bind to properties of PropertyStatus, rather than having PropertyStatus directly manipulate the UI control’s IsReadOnly and IsEnabled properties. Also in Silverlight, PropertyStatus now makes use of the Silverlight 3 binding capabilities.
  • InvokeMethod – can now be triggered by any UI event, and can invoke a couple different method signatures on the DataContext. Also, MethodParameter is now bindable. The end result is that InvokeMethod provides really good support for both the CslaDataProvider model and the MVVM design pattern.
  • Execute – a new control that is a trigger action that works in the Blend 3 Interactivity model. This is very similar to InvokeMethod, but works with the Blend 3 scheme.
  • ViewModelBase<T> – provides a base class to make it easy to build a viewmodel class when using the MVVM pattern.
  • ViewModel<T> – provides a base class to make it easy to build a viewmodel class that works with InvokeMethod/Execute when using the MVVM pattern.
  • CslaDataProvider – the ObjectInstance property is now bindable, so it is possible to create master-detail (parent-child) relationships in the UI between different data provider controls.

See this blog post for more MVVM information.

Other important or interesting features include:

  • Support for System.ComponentModel.DataAnnotations validation attributes. This blog post has information about the change.
  • A CSLA .NET specific model binder for ASP.NET MVC, enabling the use of CSLA .NET rule methods and DataAnnotation validation attributes in the same object, with the UI displaying combined results.
  • Performance enhancements for MobileFormatter, including the use of binary XML. This forum thread has some great comparative information around binary XML and compression.
  • Better support for altering the behavior of IsDirty when using managed backing fields. This blog post has good information about using the changes.
  • All the samples have been updated to build with 3.8.0, and the MVVMexperiment projects for WPF and Silverlight illustrate most of the new MVVM features.

There are also numerous bug fixes, including a solution to the memory leak issue with BusyAnimation and a null reference issue with LINQ to CSLA. See the change logs for more details about bug fixes.

Thursday, November 05, 2009 8:48:50 PM (Central Standard Time, UTC-06:00)  #    Disclaimer  |  Comments [2]  |