Good morning,
The learning curve is indeed pretty steep.
I think if you have read the 2005 book - really read it - then the concepts as a whole you'll understand. I think for anyone getting into CSLA, reading the book page by page and comprehending it (not just scanning through it) is crucial. I didn't download the framework until I was done with reading through the first UI (Windows) around chapter 7.
If you're simply trying to evaluate if CSLA is for you, you might even just download 2.1 and go with that for your POC since everything will be more or less consistent with the book.
I would definitely say the challenge for people coming in is that there is no "current text". Having to read the 2005 book and then two e-books is really cumbersome. Hopefully come fall this will be solved with Rocky's 2008 book, which I'm looking forward to. I'm really interested to see what format he takes for distribution.
Chris
To be honest I don't know but I've always thought that he would treat the 2008 book as a way to "get caught up" in terms of the text for the framework. I don't recall if it was on a post or on a Web cast but I think he was still thinking about the format of the book or books.
As you know, I'm sure, he's spoken about the challenge of the vast number of subjects that he needs to cover and a single book is getting to be a challenge for fitting it all in.
Long story short I have no clue :)
How important is it that we fully understand how the CSLA framework is implemented rather than how to use it to build applications? I have read the book from cover to cover, but I am wondering why my entire development team would not want to skim chapters 3-5 (if not the entire first half) in order to get to the later chapters where the framework is actually put to use.
If we do not see ourselves making changes to the underlying framework (I won't say never), why would we focus on how it is implemented instead of on knowing how to use it?
I understand the the value of having at least one person understand the inner-workings...but not for the entire team. What are the thoughts of others on this?
Thanks.
Thanks for comment, Andy.
My intention was to summarize the content of those chapters for the rest of the team and have them focus on implementing our BOs and UIs.
We'll see how things progress...I have 4 people from my team participating in the CSLA course put on by Dunn Training next week in Toronto. I should have a fairly good feel for where they all sit after that.
Again, thanks.
Knowing how CSLA is built and works is nice but certainly not required. Knowing how to use it is far more important. Building the right kinds of BOs and using the various properties, rules, methods of CSLA is the important task. Most people on my team skipped the book entirely and relied on training and usage. e.g. they saw how something was implemented and used the same style for their task.
Joe
Thanks, Joe. That seems fair. If you don't mind me asking, what training did you guys use and as far as usage is concerned, did you rely upon the PT sample or create something for yourselves?
Thanks.
The initial team was me and one other developer. After we built version 1 of the app the other Devs began working on version 2. So I showed them how things worked (That was the training.) Then they could see the BOs that were already built and use the Codesmith templates I had created to build more. That was the usage.
Me and the other Dev stumbled through things by reading the book, and asking questions in the forum. I think we mostly got it right. But I took the opportunity when upgrading from CSLA 1.x to 2.x to modify my Codesmith templates to meet the newer features. Big improvement there. I had learned a lot in the intervening year(s).
Joe
Thanks for the information, Joe. It's good to know the curve can be conquered. It is looking a bit daunting right now as I fumble my way through things.
If I may ask another question; How difficult was it to learn CodeSmith and the CSLA templates and did you have to create your own CSLA templates from scratch? I have been looking at code generators lately as well (CodeSmith, Code Complete, CodeBreeze, MyGeneration, etc) and am having difficulty determining which may be the best fit. I have noticed that you tend to respond to most posting regarding CodeSmith.
Thanks.
I was one of the first Codesmith users and part of the original contribution team to the CSLA templates. We built a DAL to execute all the ADO.Net code and so I had to modify the original templates to use my DAL. At that point I stopped maintaining them and Ricky Supit has picked it up (in C# I think.).
Codesmith is very easy to use and also very powerful. Some people complain about it because most people (like me) point it at database tables in order to generate business objects. But there are so many other ways to use it if you want. XML files, database special properties, etc. I codegen the base level of the BO and then Inherit that and add other properties or override methods. This lets me develop a real BO. And the codegen does 95% of the work with no errors and is very consistent.
You should be able to either use the existing Codesmith templates or at least learn enough from them so that you can build your own set to meet your style of coding. I am extremely happy with it and barely know 20% of its features. Who has time to dig in to all that advanced stuff? It does exactly what I need. I can generate a new set of BOs in just a few minutes time.
I am sure the other products work equally as well. I just do not use them.
Joe
Hi Mike,
Welcome to the CSLA forum. This is actually the 2nd forum - the original was disbanded a couple of years ago. There is a ton of inofrmation and help available here.
If you are writing a Business application then you will find that CSLA is *the* ideal framework for your app. I have been using it for over 4 years now and it has been extremely useful.
Rocky ships a sample application called Project Tracker. The thing to keep in mind about it though is that it is designed to show off all the various different aspects of CSLA - so it is not "consistent" in that regard. You may make an architectural decision regarding Transactions for example in which case you would only do it one way. You might see 3 different ways to do it in Project Tracker becasue Rocky is showing you that they are possible.
Once you get a handle on CSLA itself then you need to figure out things like Code Generation (I use Codesmith). It can save you a ton of time building Business Objects. But you also to invest a couple of weeks designing or modifying templates to meet your style. And you can't really do that until you have created a few of each type of BO.
Anyway - there is alot there. And it will benefit you greatly in the long run should you decide to use it.
Joe
This is what I remembered hearing as well. I think it might have been one of his latest Web casts.
umm..show no 330 on the DotnetRocks podcasts. great sessions indeed!!
MicroActive:Hi Guys
Is the learning curve very steep?
I think that a lot has to do with your core .Net knowledge. If your core .Net knowledge is decent then I think you will pick up the framework fairly fast. This core knowledge should include some ASP.Net programming.
Copyright (c) Marimer LLC