MarimerLLC / cslaforum

Discussion forum for CSLA .NET
https://cslanet.com
Other
31 stars 6 forks source link

Upgrade strategy from CSLA 1.5.3 #366

Open aspreno opened 7 years ago

aspreno commented 7 years ago

We have an old legacy windows application based on CSLA framework 1.5.3 and Net Framework 1.1. The Net 1.1 is no more supported from several years. So now we must and want to upgrade our windws application to use a more recent version of the .net framework.

We have tried recompiling the application and CSLA against Net Framework 2.0. This did not worked due, we think, to some breaking changes in binding model.

Also I suppose that using the latest version of the CSLA means to re-write our business object classes. If I am not wrong, the structure of business object and framework is totally different from the Version 1.5.3.

I know that this is a quite odd and difficult question. Which could be the best strategy in order to upgrade? Better for us to try to updgrade to an older version of CSLA, say Version 3.0.5 or 3.8.4?

ajj7060 commented 7 years ago

See these threads:

http://forums.lhotka.net/forums/t/4083.aspx

http://forums.lhotka.net/forums/t/10810.aspx

jonnybee commented 7 years ago

It is probably going to be a re-write of all your business classes and also a steep learning curve.

rockfordlhotka commented 7 years ago

It might not be quite so bad if they went to version 3.0.5, because that still predates any modern rules engine concepts like exist in 3.8 or 4.0+.

Still, the difference from 1.x to the 2.x-3.0.x versions is substantial because .NET introduced generics and CSLA embraced them starting with 2.0. To get to CSLA 2.x-3.0.x from 1.x means you also need to adopt generics. But at least 3.0.5 largely relies on the old-style manual rule implementations from 1.x instead of the rules engines that we built into the framework later.

jonnybee commented 7 years ago

In terms of Windows Databinding (IEditableObject), SortedBindingList/FilteredBindingList and helpers there was some important bugfixes done in the later versions.

You may not use these so it will not be an issue for your app.

And if you must support clients on .NET 2.0 the Csla 3.0.5 is as high as you can go.
See: http://www.lhotka.net/cslanet/download.aspx

aspreno commented 7 years ago

Thank you for your advices. First we will consider moving towards version 3.0.5.

Our windows application was developed on CSLA framework adding some library layer for user interface interaction and base classes for business objects. Actually, business objects structure was not changed. Only some functionalty were added for validation and for database persistence. So hope we can go this way.