Over the holiday break, I have been reading a book from Packt Publishing on DotNetNuke. Packt Publishing has many books on open source Content Management Systems and several on DotNetNuke in particular. So here is my review of "DotNetNuke 5.4 Cookbook" which can be found at https://www.packtpub.com/dotnetnuke-5-4-cms-cookbook/book.

I really like the book's format. It very clear what each section is going to accomplish. The booh seems to have the appropriate number of screen shots so you can follow along. However, since I have been using DotNetNuke for a while it is hard to tell. From my point of view it is a good balance between the images and text for what is covered. At just over 400 pages, the book cannot show all the aspects of DotNetNuke, but does cover what it set out to cover.
The book is a good introduction to the DotNetNuke way of implementing a web site. Several aspects of DotNetNuke are not fully explored, other than to give basic introduction. For example, Skinning and Administration of a site are subjects that are subjects of other books. So the book is really focused on getting a site up and running with the typical functionality used on most sites.
Chapters 1 and 2 show how to install DotNetNuke and administer the basic elements of a DotNetNuke site. These are users, roles, pages, and modules. If you are new to the world of Content Management Systems, I would spend some time on Chapter 2 getting to understand these various elements and how they work together.
Chapter 3 uses the existing modules of DotNetNuke to provide some rather interesting effects. The use of CSS and HTML is assumed, but the CSS and HTML code is provided where needed.
Chapters 4 through 7 focus on the development side of DotNetNuke. These chapters are for the .NET developer who wants to start developing their own modules. Each chapter builds on the previous chapter. This for me was very good introduction to developing in DotNetNuke. However, this might not be what some want and the majority of the book is devoted to this aspect of DotNetNuke. The code examples are VB.net which may be an issue for some, but personally, I liked it.
Chapter 8 is a basic introduction to skinning. The basic concepts are explained and you are shown how to change a skin. This should be enough information to determine if you want to try this yourself or just purchase a skin. Chapter 13 does provide addition skinning information if you want to develop your own skin.
Chapter 9 covers working with foreign languages in DotNetNuke. Like the skinning chapter, the concepts are shown, and examples given, but this not enough to develop a multi-lingual site, however does show that DotNetNuke does provide support in this area.
Chapter 10 expands on work done in Chapter 3. Not sure if this chapter is out of place.
Chapter 11 and 12 will return to development aspects. If you found chapters 4 through 7 interesting, then this expands on those topics, by showing how to implement importing and exporting of content, build the install manifest, etc.
The book comes with a good index -- too often overlooked as something to consider.
This is the type of book I wish existed back when I started working with DotNetNuke back in 2004. This book provides all the basics to get you going on working on a DotNetNuke site from a developer's point of view. Many of the initial how do I do that, or what next type questions are answered.
Bottom Line: Recommended as a good overall introduction to DotNetNuke for a developer.
Paul Scarlett
Oshawa, Ontario
www.tressleworks.ca