Upgrading from 1.53 to 3.8.3

Upgrading from 1.53 to 3.8.3

Old forum URL: forums.lhotka.net/forums/t/9207.aspx

cf010 posted on Wednesday, July 14, 2010

I started working on a legacy system that uses CSLA 1.53. I am attempting to upgrade this to the latest version and having a bit of a hard time. The old version runs ActiveObjects, Observer and has a few modifications to the CSLA base classes. I am having trouble upgrading mostly because of the use of Generics in the new versions.

Has anybody else attempted to upgrade from such an old version that could advise me, or do you know of any documentation on this task?

RockfordLhotka replied on Wednesday, July 14, 2010

That's a big leap, and as much as I try to provide backward compatibility in the framework, the reality is that you are moving forward in time about 5 or 6 years in one leap Smile

I suspect your best bet is to re-implement each business class. In reality you'll not only need to move to the generic base types from 2005 (version 2.1), but also the new property declaration (version 3.5) and rules engine syntax (version 2.1), as well as the child data portal and automatic child object management from 2007 (version 3.0).

At the UI level you'll probably need to deal with the tighter enforcement of data binding rules (version 3.0) that ensures you don't have obvious bugs in your data binding code.

I'd love to have a light and fluffy answer for you - but the reality is that the codebase is 6 years out of date, and a lot of things have happened - both in .NET and in CSLA - over that time.

cf010 replied on Thursday, July 15, 2010

Thanks for replying. That's unfortunate but not unexpected. 

There are something like 200 'business objects' so it's probably not going to be practical. If anyone has succeeded at this task please get in touch


RockfordLhotka replied on Thursday, July 15, 2010

<shameless plug>

If it is in your budget, Magenic can probably help provide resources to port a couple hundred objects in a relatively short amount of time.

</shameless plug>

esuarez replied on Wednesday, December 08, 2010

We are converting from 1.3 (with some customization) to 3.8.3 as well.  Our 1.3 version was re-complied to Framework 3.5.

  1. What is/are the compelling reason(s) I can take to my boss for taking this step?
  2. Can I assume that the "port a couple of hundred objects in relative shot amount of time" also apply to 1.3 with customizations?
  3. If we were to devide the project (in order to come up with an estimate) by file in the following types of files Read Only (applies to both single and collection), Business Base, Business Collections, and UI type of files file, what would be your "high level estimates in hours".

Thank you.

RockfordLhotka replied on Wednesday, December 08, 2010


CSLA .NET 1.x was a very lightweight framework designed to do two primary things: support data binding and implement the data portal. CSLA .NET 2.0 and higher is a much more comprehensive framework, offering business, validation and authorization rules along with direct support for each UI technology that has come along since 2004 (WPF, Silverlight, ASP.NET MVC, WP7, Windows Workflow, etc).

CSLA .NET 3.6 and higher offers substantially reduced coding compared to previous versions, usually shrinking the amount of code per class (BusinessBase or ReadOnlyBase subclasses) by over 50%.

CSLA .NET 3.7 and higher offers multiple data access options, enabling the use of different types of data access technologies or data access design patterns. It also extended the data portal to support asynchronous behavior, as well as extending the business rules subsystem to support asynchronous business rules.

CSLA .NET 3.8 implements a variety of features around WPF, Silverlight, ASP.NET MVC and .NET 3.5, including providing support for the popular MVVM design pattern.

CSLA 4 and higher supports the .NET 4, Silverlight 4 and Windows Phone 7 platforms, allowing you to build business classes that are the same across all three platforms. It also provides a completely redesigned business rules subsystem that is far more powerful and flexible than the 2.x-3.x subsystem.


I wouldn't assume that. It depends very much on what kind of customizations and their complexity. It would be pretty silly for anyone to make such an assertion without knowing any specifics :)


If you would like to dive to this level of detail please let me know, and I'll get you in touch with someone in Magenic who can work with you on estimates and so forth.

esuarez replied on Friday, December 10, 2010

RE: 3) Sure, I'd like to improve my estimate for the conversion and possibly consider Magenic.  I'll bring it up to my boss.  In the meantime the help with better estimating is greatly appreciate it.  We came up with our numbers but it would be good to speak to someone who may have already done it.

esuarez replied on Thursday, December 16, 2010


I brought this up to my boss and we would like to consider a bid from Magenic for our project.  Please have them post the ph# to call or email or should I just go straight to info@magenic.com?

RockfordLhotka replied on Thursday, December 16, 2010

Email a summary and contact info to me at rocky at lhotka dot net and I will forward into sales for you.

Copyright (c) Marimer LLC