Note: The first part of my review of this book was at
http://mikewalsh.bilsimser.com/PermaLink,guid,d8eb8269-6e83-44d7-95c8-26e26aa21e4d.aspx
The second part of my review of this book was at
http://mikewalsh.bilsimser.com/PermaLink,guid,f5fda223-1398-452f-bb26-ab707bc94c8a.aspx
The third part of my review of this book was at
http://mikewalsh.bilsimser.com/PermaLink,guid,717b9e6c-a388-4199-bec8-bbe811959907.aspx
The book itself can be found via these links
Amazon UK: http://www.amazon.co.uk/exec/obidos/tg/detail/-/0321336615/heme
Amazon US: http://www.amazon.com/exec/obidos/tg/detail/-/0321336615/heme0f
-------------------------------------------------------------------------------------------
We're now up to Chapter 4 which is where I was told the new stuff was. I'll also very briefly cover Chapter 5 which concludes the book.
But first a seemingly irrelevant flashback to 1979.
In 1979 I was living and working in Gothenburg, Sweden and I went to a once-a-week night class at the technical university on "Micro-computers". Now in those days - and particularly perhaps at technical universities - Micro computers were half electronics and half programming. I'd been working in computers since 1968 and had spent a fair bit of that time doing programming so I had no problems with the programming half of my course but struggled a bit with the electronics side of things. (Ironic because my father is a chartered electrical engineer ...!).
Of the 12 people attending that course I was the only person with a programming background. All the rest had an electronics background and so what happened was that the lecturer spend a lot of time going over the programming side of things and (to my mind) rushed through the electronics side. In other words for my purposes he went into too great detail explaining the simple (=programming) concepts and too little time explaining the difficult (=electronics) concepts.
When I had read about 15 or so pages of chapter four of this book, I was reminded of that experience (and kept being reminded of it) because this chapter went into great (and to me unnecessary) detail explaining the SharePoint UI; and the Sharepoint templates; and several standard files that were all well known to me and yet as soon as it finally (and I mean finally - there was a 12 page introduction with too many unnecessary screen shots taking up many almost entire pages before the writer even got to the problem at hand) got to something where I wanted that in depth explanation (the first mention of user controls) there was no explanation at all.
So it continued for most of the chapter with a lot of code but no explanation of how to incorporate this code with the user controls code etc. etc.
So here was the chapter where I wanted to learn new techniques and I couldn't because there were assumptions being made about my field of expertise that were incorrect (and equally assumptions being made about a lack of expertise in basic Sharepoint techniques that were equally incorrect).
Or in other words I was back in Gothenburg again with the lecturer going into great detail about stuff I'd been doing for years and then not bothering with that level of detail for stuff i hadn't a clue about.
I finally (with my eyes glazing) got to the Summary to Chapter 4 and there *for the first time* I read the following bullet-point -
"We've seen JavaScript, user controls, ASP.NET, web services, and Data Access Blocks, which we already assumed you had experience with, and it's good to know that SharePoint uses those things that developers already know."
So there we have it. This book isn't to teach Advanced Concepts to people who already know SharePoint. It's to teach people who don't know SharePoint how to use their "things that developers already know" in a SharePoint environment.
Unlike the writer of that bullet-point, I haven't noticed when looking through the book any part of it that says that they assume knowledge of "JavaScript, user controls, ASP.NET, web services, and Data Access Blocks", in fact the preface says "This book is for people who have wrestled with SharePoint and have tried to make SharePoint behave in a way that it probably wasn't originally designed to do". I doesn't sound like assuming knowledge of user controls, web services and Data Access Blocks to me - in fact it sounds like it's directed at me.
Well it isn't.
This book should have been "SharePoint for ASP.NET developers" (or something on those lines). What it isn't is a book for people with a good knowledge of SharePoint who want to start doing more with it than the basic product allows. That book is still missing (apart from Advanced SharePoint Solutions by Scot Hillier).
Chapter 5 is easily covered.
It's back to a rather basic level again and while most of the "Global Customizations" are well chosen, spending time on the extremely basic and standard "adding a PDF icon" does seem to be a waste of time in a book supposedly offering "Advanced Concepts".
----------------------------------------------------
Summing up.
This book went into great detail in areas where people who knew SharePoint already didn't need the great detail. It then skipped the detail in areas where people who knew the SharePoint products from the point-of-view of an administrator required those details.
It would be a very good book for ASP.NET (etc.) developers with little or no knowledge of the SharePoint products to get a feel for Sharepoint and how they could use their skills to add additional functionality.
It would also be a good book for people with SharePoint knowledge who already had the necessary developer experience to be able to use Chapter 4. The earlier chapters - as I have noted already - included several gems that even people who have used SharePoint for quite a while would find new.
It would be however a very frustrating book (despite those early gems) for people who already knew SharePoint well but who wanted to extend their skills into adding functionality via user controls and web services.
Unfortunately neither the Preface nor the back jacket of the book made this distinction clear.