Once again, this is another surprisingly good book (don't miss the "DotNetNuke 5 User's Guide"). I thought "here we go again" when I saw the long preamble by Shaun Walker, but far from being a self-indulgent outpouring it turned out to be a fascinating and important inside look at the emergence of this significant application on the Microsoft platform. Emergence is all about "coordination and cultivation" rather than "command and control". Just look at what Cisco are up to. This chapter brings those words to life. I was particularly impressed by Microsoft, who planted IBuySpy (the seed of DotNetNuke) in the fertile soil of ASP.NET, left obvious gaps in the application for others to fill, watered the seedling with a generous EULA, and the way Scott Guthrie gave of his time but did NOT give Shaun Walker financial support. If anyone wants to know how the emergence of eBay, Facebook, Twitter, Google, Firefox and so on, came about there are plenty of clues here. The book is technically excellent and covers installation (always a mental block) well. If I have a complaint it is only that I had to buy this book to get a full account of how the new Module Manifest works. Charles Nurse dribbled it out over six blog entries, but you have to buy this book to get almost the whole story ("Professional DotNetNuke Module Programming" gives you more). But, hey, they want to sell books. Another generic criticism, perhaps unfair to level at these authors alone, nevertheless something they and Wrox should think about, is that the book glosses over some of the human issues in applying this technology. For example, choice of Profile Properties has legal and moral implications. European legislation on Data Protection requires that User's give "unambiguous consent" to the way their data is used (see Goldsmith and Wu's excellent "Who Controls the Internet?" elsewhere on Amazon). DotNetNuke's Profile Visibilty options go a long way to meeting that requirement, but this is never explained in the text. Still a great book. Well done folks. Professional DotNetNuke 5: Open Source Web Application Framework for ASP.NET -1 Acknowledgments 16 Contents 18 Introduction 28 Who This Book Is For 28 What This Book Covers 28 How This Book Is Structured 28 What You Need to Use This Book 31 DotNetNuke Corporation 31 Core Team Members & Trustees 31 Core Team Members 32 Project Team Leaders 34 Conventions 36 Source Code 37 Errata 37 p2p.wrox.com 37 Chapter 1: An Inside Look at the Evolution of DotNetNuke 40 IBuySpy Portal 41 ASP.NET 41 IBuySpy Portal Forum 44 IBuySpy Workshop 45 Subscription Fiasco 47 Microsoft 48 DotNetNuke 50 Licensing 51 Core Team 52 XXL Fork 55 Trademarks 56 Sponsorship 56 Enhancements 57 Security Flaw 59 DotNetNuke 2.0 61 DotNetNuke (DNN) Web Site 61 Provider Model 62 Open Source Philosophy 63 Stabilization 64 Third-Party Components 65 Core Team Reorganization 65 Microsoft Membership API 66 “Breaking” Changes 66 Web Hosters 68 DotNetNuke 3.0 68 Release Schedule 70 DotNetNuke Projects 70 Intellectual Property 71 Marketing 72 Microsoft Hosting Program 74 Infrastructure 75 Branding 76 Tech Ed 79 Credibility 79 Trademark Policy 80 ASP.NET 2.0 81 Reorganization 82 Microsoft Conferences 83 DotNetNuke 4.0 84 Slashdotted 86 Benefactor Program 87 Opportunists 90 Yin and Yang 92 A New Company 92 Larry Augustin 94 Performance 95 DotNetNuke Marketplace 95 Free Module Promotion 97 Conferences 98 Microsoft Valuable Professionals 99 Fundraising 99 Awards and Accolades 100 DotNetNuke OpenForce 07 101 SLA Program 102 More Fundraising 102 CodePlex 103 Security Issues 104 IP Disputes 105 Term Sheets 107 DotNetNuke OpenForce 08 109 DotNetNuke Professional 110 Series A Announcement 111 DotNetNuke 5.0 112 Summary 112 Chapter 2: Installing DotNetNuke Version 5 114 What You Need to Install DNN 5 114 Installing the Starter Kit 125 Upgrading to DotNetNuke 5 128 Common Installation Issues 129 Summary 130 Chapter 3: Portal Overview 132 Portal Organization Elements 132 Summary 144 Chapter 4: Portal Administration 146 Who Is the Portal Administrator? 146 Where Do I Begin? 146 The Control Panel 147 The Site Wizard 148 Configuring Your Portal 152 Pages 158 Summary 182 Chapter 5: Host Administration 184 Defining the Host 184 Working with Host Settings 186 Host Portals 194 Host Module Definition 196 Host File Manager 202 Host Vendors 203 Host SQL 203 Host Schedule 203 Host Languages 208 Host Search Admin 211 Host Lists 212 Host SuperUser Accounts 213 Host Skins 216 Host Extensions 218 Summary 223 Chapter 6: Modules 224 DotNetNuke Modules 224 Using Modules to Display Content 231 Commercial and Open-Source Third-Party Modules 260 Summary 261 Chapter 7: DotNetNuke Architecture 262 Technologies Used 262 Provider Model 263 Custom Business Objects 265 Architectural Overview 270 Security Model 277 Namespace Overview 279 Summary 281 Chapter 8: Core DotNetNuke APIs 282 Event Logging 282 Exception Handling 292 Scheduler 297 HTTP Modules 299 Module Interfaces 308 Summary 324 Chapter 9: Member Role 326 Security in ASP.NET 3.5 328 DotNetNuke Membership Overview 329 Membership Provider 332 Roles Provider 336 Profile Provider 338 Summary 341 Chapter 10: Client API 342 Postbacks and View State 343 What Is the DotNetNuke Client API? 344 Using the DotNetNuke Client API 346 Client-Side Script Caching 349 Client and Server Communication 350 Client API’s Callback 355 Client API–Enabled DotNetNuke Controls 362 Control Methods 364 Summary 365 Chapter 11: Localization 368 Overview 368 The API 371 Localizing Modules 382 Summary 388 Chapter 12: Beginning Module Development 390 Understanding Your Module Project 391 Starting Development 396 Summary 415 Chapter 13: Developing Modules: the Database Layer 416 Database Design 417 Concrete Data Provider 425 Data Abstraction Layer 432 Summary 433 Chapter 14: Developing Modules: The Business Logic Layer 436 Developing the Business Logic Layer 436 Defining Properties for the Info Classes 437 Creating Business Objects Using the Controller Classes 446 Summary 455 Chapter 15: Developing Modules: The Presentation Layer 458 Module User Controls 458 DotNetNuke Helper Functions 493 Summary 495 Chapter 16: Skinning DotNetNuke 498 ASP.NET 2.0 Master Pages Versus Skinning 499 A Brief Introduction to Master Pages 499 Why DotNetNuke Still Uses Its Skinning Engine 500 File Organization 500 Skin Parsing 501 Building DotNetNuke Skins 503 Client-Side Widget Framework 531 Super Stylesheets 537 Creating a Skin Preview Image 542 Deploying Your Skin 542 Summary 543 Chapter 17: Distribution 544 The New Extensions Model 544 Creating New Extensions 545 Using the Wizard to Create Packages 553 Building Packages with Manifest Files 554 Summary 564 Chapter 18: DotNetNuke’s Commercial Evolution 566 The Fundamentals 566 Software Industry Today—Inefficiency Spirals Costs 566 DotNetNuke—Our Time Is Now! 568 DotNetNuke—Philosophy, Vision, Mission, and Values 570 The Commercialization of DotNetNuke 571 Appendix A: Resources 574 Appendix B: System Message Tokens 580 Index 588
dotnetnuke Creator Shaun Walker Leads This Superlative Author Team Of Mvps While Delivering The Latest Update Of A Bestseller. They Offer Complete Coverage Of The Major Revisions To Dotnetnuke 5, Such As More Granular Administration, Widgets, Xhtml Compliance, Improved Social Networking, Workflow, And Better Content Management. They Thoroughly Cover Installing, Configuring, Administering, And Developing Modules For Dotnetnuke. Youll Learn Portal And Host Administration, Configuration In A Hosted Environment, Developing And Working With Modules, Designing A Dotnetnuke Portal With Skins, Integrating Workflow In Dotnetnuke, Using Dotnetnuke Social Networking Tools, And Much More.
DotNetNuke is a powerful open source framework for creating and deploying web sites with dynamic and interactive content. Written by the creator of DotNetNuke and a team of DotNetNuke community experts and ASP.NET programmers, this book provides you with the tools and insight you need to install, configure, and develop web applications with DotNetNuke 5. After Shaun Walker's introduction to DotNetNuke and the business aspects of creating and nurturing the DotNetNuke community, product, and a new DotNetNuke corporation, the authors demonstrate how to manage and administer a DotNetNuke portal. T