CSLA .NET

Vibrant discussion about CSLA .NET and using the framework to build great business applications.

CSLA 4 release

rated by 0 users
This post has 13 Replies | 3 Followers

Top 10 Contributor
Posts 9,282
RockfordLhotka Computer [co] Posted: Fri, Jul 23 2010 10:06 AM

I am very happy to announce the release of CSLA 4, with support for .NET 4, Silverlight 4 and Visual Studio 2010.

Download CSLA 4 here

This is a major release of the CSLA .NET framework, not only because of the support for the Visual Studio 2010 wave of technologies from Microsoft, but also because of significant changes to CSLA itself based on feedback and input from the vibrant CSLA community.

As always, CSLA .NET couldn’t exist as it does without the strong support I receive from Magenic. Thank you!

CSLA 4 is the result of a lot of effort on the part of a global development team:

  • Jonny Bekkum is a C# software architect and developer at InMeta ASA in Norway. He has been developing large-scale enterprise applications on .NET and other platforms for more than 20 years, working in financial, retail, public and betting industries. Jonny has been using CSLA .NET since 2005.
  • Sergey Barskiy is a principal consultant with Magenic. He is a Microsoft MVP. He has been in IT industry for 15 years. He has been using CSLA for 3+ years.
  • Justin Chase is from Minnesota and currently works for Microsoft on the Expression team. He has been a CSLA contributor for more than 3 years and has a special interest in DSLs and code generation.
  • Blake Niemyjski is a Software Development Engineer with CodeSmith Tools and a student at UW-Platteville. He has been a contributor to various open source projects over the past three years. In his spare time he enjoys flying, learning about new technologies and contributing back to the community.
  • Ricky Supit has been developing software professionally for almost 20 years. He currently is focusing on web development technology including ASP.NET WebForm/MVC, Ajax, jQuery, and Silverlight. Ricky has been using Rocky Lhotka’s CSLA framework since Visual Basic 6.0. Ricky is currently working as software development manager for a fortune 500 health insurance company. He has a master degree in Computer Engineering.
  • Peran Borkett lives with his family in South East England. He has worked as a software consultant in the City of London financial district for over 12 years. He has been using CSLA for several years and has recently started contributing to the framework.
  • Rockford Lhotka is the creator of the popular CSLA .NET development framework, and is the author of numerous books, including Expert 2008 Business Objects. He is a Microsoft Regional Director and MVP, and a regular presenter at major conferences around the world. Rockford is the Principal Technology Evangelist for Magenic.

CSLA 4 includes significant new features. See the change log for a complete history of the changes from 3.8 to 4. Here are some important highlights:

  • Requires Visual Studio 2010, .NET and (optionally) Silverlight 4
  • New business and authorization rules system (details here, here and here)
  • Base list/collection types are now ObservableCollection for WPF; (BindingList implementations still exist for Windows Forms and some third party WPF controls)
  • Support for MVVM in Silverlight and WPF
  • Support for new Silverlight 4 data binding and validation features
  • Support for ASP.NET MVC 2
  • Allow an object to be bound to multiple bindingsource controls in Windows Forms
  • Silverlight data portal is now as extensible as the .NET data portal
  • Rework LINQ to CSLA to be easier to use
  • .NET unit tests now run in mstest (though you may still be able to run them in nunit with some work)
  • New solution and project structure to isolate UI technology support from the core framework
  • Consolidated release for .NET and Silverlight

Since this is a major version change (from 3 to 4), there are numerous breaking changes, which are highlighted in the change log.

In terms of future activities:

  • I am actively working on ebook and video content covering CSLA 4. Right now you can get special pre-release pricing on the CSLA 4 MVVM video series at http://store.lhotka.net. Watch for more ebook and video content on the store over the next few months.
  • I am also actively working on CSLA 4 for Windows Phone 7, and I’ll have more information about this over the next few months.
  • As always, http://www.lhotka.net/cslanet/Roadmap.aspx contains my plans for CSLA related work and content.

I hope you enjoy CSLA 4 and find it useful in your development efforts. I know the CSLA 4 development team has put a lot of work into this release, and we’re all excited to see how people make use of it to create cool applications.

Code well, have fun!

Rocky

Top 50 Contributor
Posts 157
Luc Morin replied on Fri, Jul 23 2010 2:29 PM

Congrats to all the team !!!

Luc Morin, T.P.
http://www.stlm.ca

Top 50 Contributor
Posts 184

Hello,

Also we worked hard on getting the CSLA CodeSmith templates in sync with CSLA4 and Silverlight 4. Which worked out nicely as it allowed us to QA CSLA4, quite a bit (maybe push an extra RC in hehe)!

Thanks

-Blake Niemyjski

Thanks

-Blake Niemyjski (Author of the CodeSmith CSLA templates and CSLA Core team member).

 

Not Ranked
Posts 14
PJ replied on Wed, Jul 11 2012 3:41 AM

 

Hi All,

CSLA has ben a wounderful o work around with and thanks for such a great framework. I have a project(developed by vendor) which is already using CSLA 3.8.2, now i(who dont have depth knowledge of CSLA) have to upgrade it into CSLA 4.3.12. The main issue here is time constraint. I have to complete this task in 6 weeks, and this solution file consists of 17 projects. So is there any link where in there is a direct comparision of these two versions of CSLA framework? Your early response would be appriciated.

Thanks in advance Embarrassed

 

Top 10 Contributor
Posts 1,813
JonnyBee replied on Wed, Jul 11 2012 6:07 AM

Hi,

The release notes is best place to start. See link in Rockys post. Note the Breaking Changes.

#1: The new Rule system will require rewrite of rules and updated skills. 

#2: Create your own base classes (if ot already present). List classes is default ObservableCollection. For WindowsForms make sure that your base classes use XYZBindingList classes.

#3: PropertyChangedMode in 4.x is Xaml. Make sure to set to Windows if your client is WIndowsForms.

#4: Indexed LINQ (IQueryable) is removed from list classes.  Use Linq2Object and ToSyncList instead. 

#5: CommandBase is now Cloneable and the DataPortal will make a clone before sending/calling DataPortal_XYZ. 

Jonny Bekkum, Norway CslaContrib Coordinator

Not Ranked
Posts 14
PJ replied on Fri, Jul 13 2012 4:45 AM

Hi JonnyBee,

Thanks a lot, you have been very helpful for me. I was able to convert most of the methods to higher version from the links provided by you.

If you can remember, there was a class called RuleArgs under Csla.Validation in 3.8.2 version. But I could not find equivalent Class in 4.3.12 version?

Top 10 Contributor
Posts 1,813
JonnyBee replied on Fri, Jul 13 2012 6:00 AM

That´s correct.

The entire ValidationRules namespace (including RuleArgs)  belongs to the old RuleEngine and is not part of the new RuleEngine.

It is possible to enable MOST of the old validation rules (at least for the migration period) but this is not included with CSLA. this possible by adding a few classes from the old rule engine and use rule extensions to add old style rules as LambdaRules in the new rule engine.

All Authorization rules and async business rules from the old rule engine must be rewritten to classes.

Jonny Bekkum, Norway CslaContrib Coordinator

Not Ranked
Posts 14
PJ replied on Fri, Jul 13 2012 6:20 AM

 

 

Top 10 Contributor
Posts 1,813
JonnyBee replied on Fri, Jul 13 2012 6:35 AM

Rewrite the code in EventIsNotOverDelayLimit (static method) to a class that inherits from Csla.Rule.CommonRules.CommonBusinessRule. Ratherr the relying on RuleArgs you us the RuleContext parameter to the Execute metod in the rule. Remeber - 1 instance of the rule is used for ALL instances of a given class - and you should regard each rule instance as a singelton class (ie: NEVER store instance related properties in a rule instance).

The USING CSLA 4 - Creating Business Objects ebook is a good documentation of the new rule engine. You can also look at the Samples/Net/cs/RuleTutorial sample.

Jonny Bekkum, Norway CslaContrib Coordinator

Not Ranked
Posts 14
PJ replied on Wed, Jul 18 2012 12:35 AM

HI,

I was able to re-strucutre the into class based on your input. Now its that, if you can remember that there was a class called "DecoratedRuleArgs" in Csla.Validation which was inheriting Csla.Validation.RuleArgs. Now in 4.X version, what would be the equivalent class, any input on this?

Not Ranked
Posts 14
PJ replied on Wed, Jul 18 2012 1:12 AM

to be more specific, here is my piece of code for 3.X version

        [Serializable]

        public class SyntaxRuleArgs<T> : DecoratedRuleArgs

        {

            public T Syntax

            { get { return (T)this[SyntaxName]; } }

         }

Also in some post i read that BusinessRule have some properties as an alternative for "public object this[string key] { get; set; }", but couldn't find it. 

Top 10 Contributor
Posts 1,813
JonnyBee replied on Wed, Jul 18 2012 7:14 AM

Read Rockys post, sectio InputProperties and InputPropertyValues:

http://www.lhotka.net/weblog/CSLA4BusinessRulesSubsystem.aspx

BusinessRule also offers the ReadProperty/LoadProperty methods for access to properties in context.Target (similar to ObjectFactory).

Jonny Bekkum, Norway CslaContrib Coordinator

Not Ranked
Posts 14
PJ replied on Wed, Jul 18 2012 7:46 AM

and how about the BrokenRulesCollection.CreateCollection() method in Csla.Rules.BrokenRulesCollection class? is CreateCollection ruled out?

Top 10 Contributor
Posts 1,813
JonnyBee replied on Thu, Jul 19 2012 4:05 AM

BrokenRulesCollection has a public contructor now.

Please create new threads rather than postaing on this CSLA 4 Release annoncement thread.
These questions is not connected to the relese announcement of CSLA 4 - rather a theread on how to migrate rules from 3.x to 4.x.

Jonny Bekkum, Norway CslaContrib Coordinator

Page 1 of 1 (14 items) | RSS

Copyright (c) 2006-2010 Marimer LLC. All rights reserved.
Email admin@lhotka.net for support.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems