After reading this book cover to cover I had my opinions about its quality, but before I shared these I was interested in whether other readers felt the same; they did. Not a bad word has been said about this book and I'm not going to buck that trend, as I'd have to lie to do so.
I think that the first observation about this book is that it is not what I consider a normal Wrox book, in fact few books I've read both present and structure the content in the same consistent way that each chapter of this book does, making this the most useful book I've read in a long time. This title is totally "hands on" and far more practical than many that are more theory based. The author suggests that you download the code and "get in there" coding as you read the chapters; which is what I did.
The approach of taking an example site from conception to deployment may not please all readers as the level of detail may be too much for them (stored procedures and table design). However, if you are looking to buy this book to help you build a real-world, community based ASP site that requires administration, security and advertising to name just a few areas then this book can almost be followed word-for-word to achieve your goal. If the book does go into too much detail for you at the point of reading, then hold on to it because I'm sure it will become a vital reference book at some time in the future.
The nice thing about the structure of the book that makes it an easy and enjoyable read, other than the plainly written English, is the consistent approach to each chapter. The front of the book states that every chapter works around the three main issues we come up against time and again in development; Problem, Design and Solution. The Design sections lists the features required to solve the "problem in hand", then each of the sites physical layers are designed based on implementing these features using the correct technology as we move towards coding the Solution.
A good foundation is always built upon when solving a defined problem. All solutions are built in a modulised manner, which aids projects with geographically separated development teams, and also eases future maintenance or extensibility. Inheritance plays a large part in the creation of reusable objects in all .NET languages and is used extensively throughout the example web site within server/client controls and the pages themselves to implement security and error trapping. Architecture is considered at the outset, as it should be and the influence of the chosen architecture can be found in most chapters.
This book only ever implements the example ASP code in C# (all well written abiding to defined coding standards which isn't always the case in books) and uses other technologies as and when it needs to, these include - SQL Server Transact SQL, XML/XSLT, CSS, IIS administration, Web Services, ADO.Net and the .Net Framework, helping to give the reader a suitable knowledge grounding. In my opinion, it's a shame that code samples or at least downloads aren't provided in more languages. Although if you are a reasonable .NET programmer, you'll understand the C# syntax and the concepts that the book is trying to convey. The book doesn't over use code samples to pad it's size out, in fact it's a well sized book for the cost, so you won't feel cheated like is commonly the case with some E-Books that contain a lot of code and not so much explanation.
With so many different technologies being used you may think that the book needs a high level of understanding but this is not the case. I feel that any .NET programmer with a slight understanding of ASP (new or old) could follow and use this book with no problems. If you don't know how to do something as basic as join two tables together in SQL Enterprise Manager then there is a diagram to help you with that. Saying that, I don't feel the book is so basic that fairly experienced ASP developers couldn't learn something that would help improve the sites they have developed. In my experience some developers are fantastic at cutting code but perhaps could learn a thing or two from the thought and approach applied to each problem, and design methodologies (Microsoft's Solution Framework is one that is mentioned) that the book touches on.
After praising the book so highly and outlining the structure and technologies the book utilises I shall identify the chapters this book covers and highlight a couple of my favorites.
- Management/Administration (including secure modification of SQL Server connection settings on-line),
- File Management,
- News Management,
- Mailing lists,
- and finally, of course, deployment of the application to a shared server (as most of us don't have the luxury of dedicated servers).
One chapter of interest, and an example of a chapter that I would hazard a guess that a lot of readers may copy large sections of, is called "Maintaining the Site". Again this chapter goes to the level of detail you might not want to read entirely but the contents could be invaluable when you come to implement such a section to a customer's site and the end result could be compared with some commercial implementations!
The point of this chapter is that it shows you how to include a protected/authenticated role based administration modal that allows:
- Site Folder Navigation
- Renaming of file/folders
- Modification of attributes
- Remote file uploading/downloading and maintenance
- Text file alteration
- Logging of changes
The beauty of this over using an FTP package is that it is web based so there are no firewall worries and it should make you look pretty impressive when talking to clients who require a small change as part of a demonstration, which a firewall could sometimes restrict you from achieving.
Another interesting chapter is 'Advertising'. This topic tied in with the 'Polls' chapter, (enabling your site to record demographic information about your visitors), will enable some readers to actually keep their sites alive and cover the annual cost of maintenance and hosting fees which can be high when you try to host .NET technologies. This is all done with an explanation of what perspective advertisers look for and how to implement and again record that information - be it hit counts or impression counts.
Finally the book actually encourages the reader to utilise the hard work that went into designing and programming an extensible framework and suggests that you actually build your own modules and add them to the framework (the result of the book and all the code within it).
So to summarise, if you followed this book and created your own site from it I think you'd have some very happy customers.
Read online Chapter 4 - Maintaining the Site
Read online Read Chapter 11 - Deploying the Site