Tải bản đầy đủ

88 professional dotnetnuke 5

www.it-ebooks.info


Walker

ffirs.tex V3 - 01/22/2009

6:17pm

Page i

www.it-ebooks.info

Professional
®

DotNetNuke 5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
Chapter 1: An Inside Look at the Evolution of DotNetNuke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 2: Installing DotNetNuke Version 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Chapter 3: Portal Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Chapter 4: Portal Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Chapter 5: Host Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Chapter 6: Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Chapter 7: DotNetNuke Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Chapter 8: Core DotNetNuke APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Chapter 9: Member Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Chapter 10: Client API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Chapter 11: Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Chapter 12: Beginning Module Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Chapter 13: Developing Modules: the Database Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Chapter 14: Developing Modules: The Business Logic Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Chapter 15: Developing Modules: The Presentation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Chapter 16: Skinning DotNetNuke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Chapter 17: Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
Chapter 18: DotNetNuke’s Commercial Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Appendix A: Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Appendix B: System Message Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549


Walker ffirs.tex

V3 - 01/22/2009

6:17pm

Page ii

www.it-ebooks.info


Walker

ffirs.tex V3 - 01/22/2009

6:17pm

Page iii

www.it-ebooks.info



Professional
®

DotNetNuke 5


Walker

ffirs.tex

V3 - 01/22/2009

6:17pm

Page iv

www.it-ebooks.info


Walker

ffirs.tex V3 - 01/22/2009

6:17pm

Page v

www.it-ebooks.info

Professional
®

DotNetNuke 5
Open Source Web Application Framework
for ASP.NET
Shaun Walker
Brian Scarbeau
Darrell Hardy
Stan Schultes
Ryan Morgan

Wiley Publishing, Inc.


Walker

ffirs.tex

V3 - 01/22/2009

6:17pm

Page vi

www.it-ebooks.info

Professional DotNetNuke®5
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256

www.wiley.com
Copyright © 2009 by Wiley Publishing, Inc., Indianapolis, Indiana
Published by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-43870-1
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
Library of Congress Cataloging-in-Publication Data is available from the publisher.
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by
any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under
Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the
Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center,
222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, John Wiley & Sons., 111 River Street, Hoboken, NJ 07030, (201)
748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with
respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties,
including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended
by sales or promotional materials. The advice and strategies contained herein may not be suitable for every
situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting,
or other professional services. If professional assistance is required, the services of a competent professional person
should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an
organization or Web site is referred to in this work as a citation and/or a potential source of further information
does not mean that the author or the publisher endorses the information the organization or Web site may provide
or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may
have changed or disappeared between when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress
are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and
other countries, and may not be used without written permission. DotNetNuke®, DNN®, and the DotNetNuke logo
are trademarks or registered trademarks of DotNetNuke Corporation. All other trademarks are the property of their
respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be
available in electronic books.


Walker

ffirs.tex V3 - 01/22/2009

6:17pm

Page vii

www.it-ebooks.info

I would like to dedicate my part of this book to my parents, Sam and Virginia Hardy, my wife, Kathy Hardy, and
my God, all of whom have had a major part of making me who I am and without whom my contribution to this
book would not have been possible.
— Darrell Hardy
To my wonderful wife Laurie, who just smiles when I take on new projects when I’m already too busy. I’m a very
lucky man! Also to my sons Tyler and Erik — both in college and making that often difficult transition to
adulthood. Best of luck to you both in the coming years.
— Stan Schultes
Thank you to Jesus for saving me, my wife for being my strength, and my family and friends for always making
me laugh.
— Ryan Morgan


Walker

ffirs.tex V3 - 01/22/2009

6:17pm

Page viii

www.it-ebooks.info


Walker

f01.tex

V3 - 01/22/2009

6:19pm

Page ix

www.it-ebooks.info

About the Wrox DotNetNuke Series Editor
Shaun Walker (MVP, ASPInsider) is co-founder, Vice President of Engineering of DotNetNuke Corporation and chief architect of DotNetNuke. Shaun has 15 years of professional experience in architecting and
implementing large-scale software solutions for private and public organizations. Shaun is the original
creator and maintainer of DotNetNuke, a web application framework for ASP.NET which has spawned
the largest and most successful Open Source community project on the Microsoft platform. Based on
his significant community contributions he was recognized as a Microsoft Most Valuable Professional
(MVP) in 2004 and an ASPInsider in 2005. He is a frequent speaker at User Groups in his local area and is
a contributing author to the WROX Press books Professional DotNetNuke 4 — Open Source Web Application
Framework and Professional DotNetNuke ASP.NET Portals.

About the Authors
Brian Scarbeau is a Microsoft MVP and a seasoned computer science trainer. He has his MBA and
Certifications as a WebMaster and Network Instructor. He has spoken at various Code Camps about
DotNetNuke® and more recently at the DotNetNuke Open Force 08 event in Orlando, FL. He has developed a DotNetNuke® curriculum and a series of webcasts for Microsoft Corporation. He was also selected
by Microsoft Corporation to be part of a Faculty Advisory Board. He has traveled the United States and
Canada conducting training seminars on .NET products. Presently, he is on the Board of Directors for the
Computer Science Teacher’s Association and he started the Orlando DotNetNuke® User Group. His blog
is here: http://geekswithblogs.net/bscarbeau
Darrell Hardy has been designing and building data-driven applications for more than 20 years. Having
spent several years working with a management consulting firm, he brings to the table not only technical
expertise but also an understanding of the business side of the equation. His passion is for software that
matches business processes and allows for improvements in the business process as well as the software.
Currently Darrell is the Vice President of Hardy Consulting, Inc. (http://www.hardyconsulting.com/)
and manages several domestic and international accounts. He enjoys speaking, teaching, problem solving, and helping people become problem solvers.
Stan Schultes is an Architect and Software Developer at a mid-size, high-tech manufacturing company,
where he designs and builds engineering design automation systems. He has been building enterprise
manufacturing software and systems for more than 25 years, and building Microsoft solutions since 1994.
He has led application development teams in companies as diverse as a small startup to the Fortune 200.
Stan is a Microsoft MVP in Visual Basic, a former columnist and Contributing Editor with Visual Studio
Magazine, and has written for MSDN online. He is very active within the Microsoft developer community, and he runs or is involved in several developer groups. Stan is a prolific speaker at community
events such as the Visual Studio 2008 and 2005 launch events, Day of Patterns & Practices, Code Camps,
user groups, and DevDays. He has recorded nearly 20 MSDN webcasts, and is currently co-developing
episodes of a developer seminar series that may end up on TV. He can be reached through his web
site and blog at http://www.VBNetExpert.com. Stan resides in Sarasota, FL, with his family, and that’s
where he hangs out with his geeky friends, a bunch of beer lovers, and some fitness fanatics.
Ryan Morgan is managing partner and software architect at Arrow Consulting & Design in West Palm
Beach, FL. At Arrow Consulting & Design, Ryan has designed, developed, and delivered projects for
federal and local government clients, enterprise clients with global reach, and hundreds of small businesses throughout North America and Western Europe. Ryan has used his unique mix of marketing


Walker f01.tex

V3 - 01/22/2009

6:19pm

Page x

www.it-ebooks.info

About the Wrox DotNetNuke Series Editor
background and development expertise to help audiences learn DotNetNuke at Florida Code Camps,
.NET User Groups, and webcasts at http://www.ArrowNuke.com. Ryan also writes a DotNetNuke consulting blog at http://www.DotNetNukeConsulting.Wordpress.com, a DotNetNuke skinning blog at
http://www.dotnetnuke-skin.blogspot.com, and a development blog at http://www.ArrowNuke.com.

About the Technical Editors
Philip Beadle (MCAD, MVP) is a founding member of the DotNetNuke Core Team, a Microsoft
Certified Application Developer, and is experienced in the development and commercial application of
the DotNetNuke framework based on Microsoft’s .NET technology. He has successfully developed and
implemented sites for clients in Australia and overseas and was recently awarded the Microsoft Most
Valuable Professional (MVP) award in ASP/ASP.NET. Philip is a regular contributor to online technical
lists and communities and is a sought-after speaker at technology conferences and .NET User Groups
such as the Victoria .Net Users Group (http://www.victoriadotnet.com.au/index.aspx?link_id=84).
He recently completed the MSDN update tour for Australia and New Zealand and presented at
Microsoft’s Tech Ed 2005. Philip is employed as a Senior Consultant by Readify (http://readify
.com.au/Default.aspx?tabid=1), which is a group of elite consultants, specializing in technical
readiness, who help organizations evolve with emerging Microsoft technologies, keeping them a step
ahead of their competitors.
Jon Henning is a senior consultant with Solution Partners Inc. (http://www.solpart.com), a
Chicago-based consulting company specializing in Microsoft technologies. He is an MCSD who has been
working with Visual Studio .NET since the PDC release. Though he has written several articles dealing
with all aspects of programming, his current love is the development of rich client-side functionality.
With the introduction of DotNetNuke v3, Jon initiated the development of the DotNetNuke ClientAPI,
which enabled developers to write rich client-side cross-browser logic against a simple API. The use of
this API can be found throughout DotNetNuke, including the DotNetNuke Suite of web controls found
at http://webcontrols.dotnetnuke.com. More recently he has provided DotNetNuke AJAX Module
templates that utilize both new functionality in the ClientAPI and the Microsoft AJAX Framework at
http://www.codeplex.com/codeendeavortemplate. Jon resides in Aurora, IL, with his wife Holly, and
two children, Kyle and Carter.
Charles Nurse (MVP) has been developing software for more than 25 years. He is currently Senior Architect for DotNetNuke Corporation and has been a DotNetNuke developer for more than 6 years, the last
4.5 years as a Trustee of the project. His primary role on the DotNetNuke Project is as a Core Developer.
A native of Bristol, England, he obtained a Bachelor of Arts in Chemistry from Oxford University. In 1978,
he moved to Canada to continue his studies at the University of British Columbia where he obtained a
Ph.D. (also in chemistry), and where he met his wife Eileen. More recently (2003) he completed a Post
Baccalaureate Certificate in Object Technology Programming at Simon Fraser University. In 2007 he
was made a Microsoft ASP.NET MVP and in 2008 he was elected to be a member of the ASPInsiders
group. He has spoken at a number of conferences (Software Developers Conference, DevConnections,
DevTeach) and User Groups, and has acted as Technical Advisor for two DotNetNuke-related books. He
has a blog at http://www.charlesnurse.com. He lives in Langley, BC, Canada with his wife and two
adult children, both students at Simon Fraser University.
Will Strohl is an ASP.NET architect and developer based in the Orlando area. Having been in the web
development field for more than 10 years, he began professionally in 2000. Currently, Will is the Technology Director for an exciting new online travel company called RezHub.com. He is also an active member
and President of the Orlando DotNetNuke Users Group, and a member of the reformed DotNetNuke

x


Walker

f01.tex

V3 - 01/22/2009

6:19pm

Page xi

www.it-ebooks.info

About the Wrox DotNetNuke Series Editor
Media Module Project Team. He regularly speaks at local events about DotNetNuke and the various
ways it can be used and managed. Most recently, Will has been publishing DNN videos on JumptStartTV.
Lorraine Young (DNNangel) works as a freelance consultant and maintains a web site at
http://www.dnnangel.com. She has extensive experience in developing user documentation, and
provides training and support for DotNetNuke applications. She is the primary author of the Wiley Press
DotNetNuke for Dummies book as well as a number of DotNetNuke User Manuals, which are available
from the DotNetNuke Marketplace. She also created and maintains the free DotNetNuke Online Help
resource. Lorraine is a founding member of the DotNetNuke Core Team and a member of the Help
project team. She holds a Bachelor of Arts degree in Professional Writing and Literature and a Post
Graduate degree in Orientation and Mobility for vision-impaired adults and children.

xi


Walker

f01.tex

V3 - 01/22/2009

6:19pm

Page xii

www.it-ebooks.info


Walker

f02.tex

V3 - 01/22/2009

6:20pm

Page xiii

www.it-ebooks.info

Credits
Development Editor
Christopher J. Rivera

Associate Publisher
Jim Minatel

Production Editor
Rebecca Coleman

Project Coordinator, Cover
Lynsey Stanford

Copy Editor
Kim Cofer

Proofreader
Amy Morales, Word One New York

Editorial Manager
Mary Beth Wakefield

Indexer
Jack Lewis

Production Manager
Tim Tate

Senior Technical Editor
Charles Nurse

Vice President and Executive Group Publisher
Richard Swadley

Technical Editors
Philip Beadle
Jon Henning
Will Strohl
Lorraine Young

Vice President and Executive Publisher
Barry Pruett


Walker

f02.tex

V3 - 01/22/2009

6:20pm

Page xiv

www.it-ebooks.info


Walker

f03.tex V3 - 01/22/2009

6:20pm

Page xv

www.it-ebooks.info

Acknowledgments
It has been a pleasure working with a dedicated team of professionals while putting together the chapters
in this book. Many thanks to Charles Nurse from the DotNetNuke Core Team who answered all of our
technical questions relating to this new version. A special thanks to the Orlando DotNetNuke President,
Will Strohl, for his input. Thanks to the Wrox team of editors for their hard work of making each chapter
better with their edits. Thanks to all who have contributed to make DotNetNuke the number one web
portal that it is.
Finally, thanks to my wife Cathy for her patience, encouragement, and support.

— Brian Scarbeau


Walker

f03.tex

V3 - 01/22/2009

6:20pm

Page xvi

www.it-ebooks.info


Walker

ftoc.tex V3 - 01/22/2009

6:21pm

Page xvii

www.it-ebooks.info

Contents

Introduction
Chapter 1: An Inside Look at the Evolution of DotNetNuke
IBuySpy Portal
ASP.NET
IBuySpy Portal Forum
IBuySpy Workshop
Subscription Fiasco
Microsoft
DotNetNuke
Licensing
Core Team
XXL Fork
Trademarks
Sponsorship
Enhancements
Security Flaw
DotNetNuke 2.0
DotNetNuke (DNN) Web Site
Provider Model
Open Source Philosophy
Stabilization
Third-Party Components
Core Team Reorganization
Microsoft Membership API
‘‘Breaking’’ Changes
Web Hosters
DotNetNuke 3.0
Release Schedule
DotNetNuke Projects
Intellectual Property
Marketing
Microsoft Hosting Program
Infrastructure

xxvii
1
2
2
5
6
8
9
11
12
13
16
17
17
18
20
22
22
23
24
25
26
26
27
27
29
29
31
31
32
33
35
36


Walker

ftoc.tex V3 - 01/22/2009

6:21pm

Page xviii

www.it-ebooks.info

Contents
Branding
Tech Ed
Credibility
Trademark Policy
ASP.NET 2.0
Reorganization
Microsoft Conferences
DotNetNuke 4.0
Slashdotted
Benefactor Program
Opportunists
Yin and Yang
A New Company
Larry Augustin
Performance
DotNetNuke Marketplace
Free Module Promotion
Conferences
Microsoft Valuable Professionals
Fundraising
Awards and Accolades
DotNetNuke OpenForce 07
SLA Program
More Fundraising
CodePlex
Security Issues
IP Disputes
Term Sheets
DotNetNuke OpenForce 08
DotNetNuke Professional
Series A Announcement
DotNetNuke 5.0
Summary

Chapter 2: Installing DotNetNuke Version 5
What You Need to Install DNN 5
Installing the Starter Kit
Upgrading to DotNetNuke 5
Common Installation Issues
Summary

xviii

37
40
40
41
42
43
44
45
47
48
51
53
53
55
56
56
58
59
60
60
61
62
63
63
64
65
66
68
70
71
72
73
73

75
75
86
89
90
91


Walker

ftoc.tex V3 - 01/22/2009

6:21pm

Page xix

www.it-ebooks.info

Contents
Chapter 3: Portal Overview
Portal Organization Elements
Parent/Child Portals
Pages
Panes
Skins
Containers
Modules
User Roles

Summary

Chapter 4: Portal Administration
Who Is the Portal Administrator?
Where Do I Begin?
The Control Panel
The Site Wizard
Configuring Your Portal
Site Settings

Pages
Changing Navigational Structure
Extensions
Security Roles
Vendors
Site Log
Newsletters
File Manager
Recycle Bin
Recycling Modules
Portal Cleaning Up
Event Viewer
Site Wizard
Solutions Explorer
What’s New

Summary

Chapter 5: Host Administration
Defining the Host
Where to Start?
Installing Additional Modules

93
93
93
95
97
97
98
99
103

105

107
107
107
108
109
113
113

119
121
122
123
130
134
135
137
139
139
140
140
141
142
142

143

145
145
145
147

xix


Walker

ftoc.tex V3 - 01/22/2009

6:21pm Page xx

www.it-ebooks.info

Contents
Working with Host Settings

147

Host Settings: Basic
Host Details
Creating the Appearance
Host Payment Settings
Host Settings Advanced
Other Settings
jQuery

147
147
149
149
150
152
153

Host Portals
Portal Templates
Expired Portals

Host Module Definition
Module Package Settings
Installing a New Module

Host File Manager
Host Vendors
Host SQL
Host Schedule
Schedule Item Details
Schedule Status
Configuration
Considerations

Host Languages
Installing a New Language Pack
Globalization

Host Search Admin
Host Lists
Host SuperUser Accounts
Host Skins
Create New Skin
Install New Skin

Host Extensions
Container
Core Language Pack
Extension Language Pack
Library
Module
Provider
Skin
Skin Object

Summary

xx

155
156
157

157
160
160

163
164
164
164
165
166
168
169

169
169
170

172
173
174
177
178
178

179
180
181
181
181
182
182
183
183

184


Walker

ftoc.tex V3 - 01/22/2009

6:21pm

Page xxi

www.it-ebooks.info

Contents
Chapter 6: Modules
DotNetNuke Modules
Adding and Managing Modules on Pages
Module Layout
Module Settings

Using Modules to Display Content
User Content Modules
DotNetNuke Project Modules
Sub-Project Modules

Commercial and Open-Source Third-Party Modules
Summary

Chapter 7: DotNetNuke Architecture
Technologies Used
Provider Model

185
185
187
188
189

192
193
200
220

221
222

223
223
224

Provider Model Usage
Provider Configuration

224
226

Custom Business Objects

226

CBO Hydrator
Using the CBO Hydrator

229
230

Architectural Overview

231

Presentation Layer
Business Logic Layer
Data Access Layer
Data Layer

232
233
234
236

Security Model
Security in ASP.NET 2.0
DotNetNuke and ASP.NET 2.0
Security in DotNetNuke 4.0

Namespace Overview
Summary

Chapter 8: Core DotNetNuke APIs
Event Logging
The API
The Controller Classes

Exception Handling
The Exception Handling API
The Exceptions Class

238
238
238
239

240
242

243
243
244
244

253
253
254

xxi


Walker

ftoc.tex V3 - 01/22/2009

6:21pm

Page xxii

www.it-ebooks.info

Contents
Scheduler
HTTP Modules
HTTP Modules 101
DotNetNuke HTTP Modules

Module Interfaces
IActionable
IPortable
IUpgradeable
Inter-Module Communication
ISearchable
DotNetNuke 5.0 New Core Interfaces

Summary

Chapter 9: Member Role
Security in ASP.NET 3.5
DotNetNuke Membership Overview
Portals and Applications
Data Model for Users and Roles
Membership, Roles, and Profile Providers

Membership Provider
Roles Provider
Profile Provider
Summary

Chapter 10: Client API
Postbacks and View State
What Is the DotNetNuke Client API?
Using the DotNetNuke Client API
Client-Side Script Caching
Client and Server Communication
Starting on the Server Side
On the Client Side
Returning to the Server Side

Client API’s Callback
Life Cycle of a Client Callback

Client API–Enabled DotNetNuke Controls
Writing Custom Web Controls Using the Client API

Control Methods
Summary

xxii

258
260
260
263

269
270
278
280
281
281
284

285

287
289
290
290
291
292

293
297
299
302

303
304
305
307
310
311
312
313
315

316
317

323
324

325
326


Walker

ftoc.tex V3 - 01/22/2009

6:21pm

Page xxiii

www.it-ebooks.info

Contents
Chapter 11: Localization
Overview
Locales in DotNetNuke
Resource Files

The API
The GetString Method
The GetSystemMessage Method
Token Replacement Engine

Localizing Modules
Case 1: Handling Static Strings in the ASCX File
Case 2: Handling Static Text in Server Controls
Case 3: Handling Static Text Programmatically
Case 4: Localizing Images

Summary

Chapter 12: Beginning Module Development
Understanding Your Module Project
Business Considerations
Determine Your Module Scope
Development Environment Considerations

Starting Development
Module Development Options
WROX.Suggestion Module Overview
Configuring for Module Development
Developing with the Starter Kit

Summary

Chapter 13: Developing Modules: the Database Layer
Database Design
WROX− Suggestion Table
WROX− SuggestionType Table

Concrete Data Provider
Data Abstraction Layer
Summary

Chapter 14: Developing Modules: The Business Logic Layer
Developing the Business Logic Layer
Defining Properties for the Info Classes
SuggestionInfo Business Object

329
329
329
331

332
333
337
343

343
345
345
347
348

349

351
352
352
354
354

357
357
358
359
368

376

377
378
378
384

386
393
394

397
397
398
398

xxiii


Walker

ftoc.tex V3 - 01/22/2009

6:21pm

Page xxiv

www.it-ebooks.info

Contents
SuggestionTypeInfo Business Object
SuggestionIdInfo Business Object
SuggestionsDisplayInfo Business Object
Custom Business Object Helper Class
Optional Interface for the Business Layer Info Classes

Creating Business Objects Using the Controller Classes
SuggestionController Class
SuggestionTypeController Class
SuggestionIdController Class
SuggestionsDisplayController Class
Optional Interfaces for the SuggestionController Class

Summary

Chapter 15: Developing Modules: The Presentation Layer
Module User Controls
View Control
Secondary View Control
Settings Control
Edit Control

DotNetNuke Helper Functions
Exception Handling
Navigation URLs

Summary

Chapter 16: Skinning DotNetNuke
ASP.NET 2.0 Master Pages Versus Skinning
A Brief Introduction to Master Pages
Why DotNetNuke Still Uses Its Skinning Engine
File Organization
Skin Parsing
Building DotNetNuke Skins
ASCX Skinning Method
Controlling Layout with Panes and Stylesheets
Creating a Basic Container
Styles Guide — Stylesheet Inheritance and Core DotNetNuke Classes
Add Functionality with Skinobjects

Client-Side Widget Framework
Rotator Widget
Pane Collapse Widget
PNG Transparency Widget
Relocation Widget

xxiv

401
402
403
405
405

407
408
409
410
411
411

416

419
419
421
430
436
446

454
454
455

456

459
460
460
461
461
462
464
468
468
472
475
476

492
494
494
495
495


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×