Joe Brinkman, formerly the founder and President of TAG Software Inc, is the Chief Technology Officer for DataSource Inc. (www.datasourceinc.com) a J2EE development company focused on simplifying and automating development of N-Tier applications with Java. With more than 22 years of IT experience and a Computer Science degree from the United States Naval Academy, he brings a broad range of experience and expertise in a variety of software and hardware architectures. Having worked with DotNetNuke since February 2003, and being a founding Core Team member, Joe currently serves as a member of the DotNetNuke Board of Directors, a Lead Architect, and Security Specialist.
Bruce Hopkins, Microsoft MVP (ASP.NET) holds a BSCIS from DeVry University and holds certifications as an MCSE and several flavors of Linux. Bruce is currently the IT Director for Chattahoochee Technical College in Marietta GA and has held a wide variety of positions in technology throughout his career ranging from programming and web design to network administration and management. Bruce remarks that this varied experience is crucial to determining the correct tool for the task at hand. This is shown by the many technologies he uses everyday, including Windows, Unix, SQL Server, Oracle, MySQL and many different Linux-based applications that are an integral part of maintaining the college’s infrastructure. Bruce makes his home in Marietta, Georgia, with his wife and son.
Scott McCulloch is an Application Developer for the Computer Science Corporation, Australia. At 26 years of age, Scott holds Bachelor and Masters degrees in Computer Science, as well as the three major Microsoft Certifications (MCSD, MCDBA, MCSE). Scott has been part of the DotNetNuke community since the project began (late December, 2002). Today, his role within the DotNetNuke team is contributing as an Architect and Core Developer. He currently resides in Wollongong, Australia, with his fiancé, Lenise.
Scott Willhite is an accomplished business and technology professional turned family man. Semi-retired from technology as a profession, his days are spent teaming with his wife Allison as professional Realtors. (www.alkihomes.com) and supporting a variety of community endeavors. A distinguished technology pedigree includes a BS in Computer Science and MBA in Information Systems Management degrees from Baylor University. And a proven track record of achievement includes service as an architect for Andersen Consulting (now Accenture), vice-president of Technology for 10x Labs, and Program Director for Safeco’s Office of the CIO. An ASP.NET moderator and member of DotNetNuke’s Board of Directors, Scott was recognized as a Microsoft Most Valuable Professional (MVP) in 2005 for significant contributions to the community. Ever the “Don Quixote” type, Scott’s currently tilting at the windmills of open source, brandishing a Microsoft lance. Among other things, he oversees the Projects initiatives at DotNetNuke cultivating BSD licensed (unencumbered) practical applications of Microsoft technology and programming to share with the world. His favorite mantra is the core values developed with his partners for their former startup company, 10x Labs: “Speak the truth. Share the wealth. Change the world!” Scott currently lives in West Seattle, WA with his lovely wife Allison, “crazy smart” son Kyle, a whiny German Shepherd dog, three neurotic housecats, and a cast of wonderful friends and neighbors that he wouldn’t trade for gold!
Chris Paterra is Lead Architect/Project Manager for Trend Core Group of Atlanta, which produces .NET marketing and communication tools. He also is a contributing author for DotNetNuke For Dummies. He enjoys writing magazine articles on project management and speaking at local Atlanta User Groups. A founding Core Team Member, Chris is currently serving as an Inner Core Team member in addition to being Project Lead for both the Gallery and the Forum DotNetNuke projects.
Patrick Santry, Microsoft MVP (ASP/ASP.NET) holds a MCSE, MCSA, MCP+SB, i-Net+, A+, and Certified Internet Webmaster certifications. He has authored and co-authored several books and magazine articles on Microsoft and Internet technologies. Patrick is frequent presenter on Web technologies, having presented at several events including the Exchange 2000 launch, DevDays 2004 in Pittsburgh, PA, and to area .NET SIGs on DotNetNuke module development. In addition, Patrick owns and maintains www.WWWCoder.com, a popular site for news, tutorials, and information for the Web development community. Patrick resides in Girard, PA, with his wife Karyn, and their four children, Katie, Karleigh, P.J, and Danny.
Dan Caron is a Lead Application Designer & Developer with MassMutual Financial Group, a Fortune 500 global, diversified financial services organization. With MassMutual, Dan designs technical solutions for financial web applications using Microsoft and Java technologies. For more than 10 years, Dan has been designing and developing applications with various programming technologies including Microsoft ASP.NET, XML/XSL, SQL, Java and JSP. He has been a major contributor to the DotNetNuke open-source portal project since the core team was founded in 2003. Some of Dan’s noteworthy contributions include the exception-handling framework, event-logging provider, and the scheduler. Dan continues to contribute his talent to the project as a Lead Architect, Core Developer, and member of the Board of Directors. Dan lives in Connecticut with his wife and two children.
Preface | xvii | ||||
Chapter 1: An Inside Look at the Evolution of DotNetNuke | 1 | (54) | |||
|
2 | (1) | |||
|
3 | (2) | |||
|
5 | (1) | |||
|
6 | (2) | |||
|
8 | (2) | |||
|
10 | (1) | |||
|
11 | (1) | |||
|
12 | (2) | |||
|
14 | (2) | |||
|
16 | (1) | |||
|
17 | (1) | |||
|
18 | (1) | |||
|
18 | (2) | |||
|
20 | (2) | |||
|
22 | (1) | |||
|
23 | (1) | |||
|
24 | (1) | |||
|
24 | (2) | |||
|
26 | (1) | |||
|
26 | (1) | |||
|
27 | (1) | |||
|
27 | (1) | |||
|
28 | (1) | |||
|
29 | (1) | |||
|
30 | (2) | |||
|
32 | (1) | |||
|
32 | (1) | |||
|
33 | (1) | |||
|
34 | (2) | |||
|
36 | (1) | |||
|
37 | (1) | |||
|
38 | (3) | |||
|
41 | (1) | |||
|
42 | (1) | |||
|
43 | (1) | |||
|
44 | (1) | |||
|
45 | (1) | |||
|
46 | (1) | |||
|
47 | (2) | |||
|
49 | (1) | |||
|
50 | (3) | |||
|
53 | (1) | |||
|
54 | (1) | |||
Chapter 2: Installing DotNetNuke | 55 | (30) | |||
|
55 | (1) | |||
|
56 | (14) | |||
|
56 | (1) | |||
|
56 | (14) | |||
|
70 | (2) | |||
|
72 | (8) | |||
|
72 | (1) | |||
|
73 | (1) | |||
|
74 | (3) | |||
|
77 | (3) | |||
|
80 | (2) | |||
|
82 | (1) | |||
|
83 | (2) | |||
Chapter 3: Portal Overview | 85 | (10) | |||
|
85 | (5) | |||
|
86 | (1) | |||
|
87 | (1) | |||
|
88 | (1) | |||
|
89 | (1) | |||
|
90 | (3) | |||
|
93 | (1) | |||
|
93 | (2) | |||
Chapter 4: Portal Administration | 95 | (54) | |||
|
95 | (1) | |||
|
96 | (1) | |||
|
97 | (9) | |||
|
98 | (7) | |||
|
105 | (1) | |||
|
105 | (1) | |||
|
106 | (29) | |||
|
106 | (8) | |||
|
114 | (3) | |||
|
117 | (4) | |||
|
121 | (2) | |||
|
123 | (2) | |||
|
125 | (6) | |||
|
131 | (4) | |||
|
135 | (11) | |||
|
135 | (2) | |||
|
137 | (1) | |||
|
137 | (3) | |||
|
140 | (1) | |||
|
141 | (2) | |||
|
143 | (1) | |||
|
144 | (2) | |||
|
146 | (3) | |||
Chapter 5: Host Administration | 149 | (40) | |||
|
149 | (1) | |||
|
150 | (1) | |||
|
151 | (12) | |||
|
152 | (6) | |||
|
158 | (5) | |||
|
163 | (7) | |||
|
164 | (4) | |||
|
168 | (1) | |||
|
168 | (2) | |||
|
170 | (19) | |||
|
170 | (4) | |||
|
174 | (2) | |||
|
176 | (1) | |||
|
176 | (1) | |||
|
176 | (6) | |||
|
182 | (3) | |||
|
185 | (2) | |||
|
187 | (1) | |||
|
188 | (1) | |||
|
188 | (1) | |||
Chapter 6: Modules | 189 | (34) | |||
|
189 | (4) | |||
|
189 | (2) | |||
|
191 | (1) | |||
|
192 | (1) | |||
|
192 | (1) | |||
|
193 | (21) | |||
|
194 | (5) | |||
|
199 | (2) | |||
|
201 | (1) | |||
|
201 | (1) | |||
|
202 | (1) | |||
|
203 | (2) | |||
|
205 | (1) | |||
|
205 | (2) | |||
|
207 | (1) | |||
|
208 | (1) | |||
|
208 | (2) | |||
|
210 | (1) | |||
|
211 | (1) | |||
|
212 | (1) | |||
|
213 | (1) | |||
|
214 | (5) | |||
|
214 | (1) | |||
|
215 | (4) | |||
|
219 | (2) | |||
|
221 | (2) | |||
Chapter 7: DotNetNuke Architecture | 223 | (20) | |||
|
223 | (1) | |||
|
224 | (2) | |||
|
224 | (2) | |||
|
226 | (1) | |||
|
226 | (5) | |||
|
228 | (1) | |||
|
229 | (2) | |||
|
231 | (6) | |||
|
232 | (1) | |||
|
233 | (1) | |||
|
234 | (1) | |||
|
235 | (2) | |||
|
237 | (4) | |||
|
237 | (1) | |||
|
238 | (1) | |||
|
238 | (3) | |||
|
241 | (1) | |||
|
242 | (1) | |||
Chapter 8: Core DotNetNuke APIs | 243 | (44) | |||
|
243 | (10) | |||
|
244 | (1) | |||
|
245 | (8) | |||
|
253 | (5) | |||
|
253 | (1) | |||
|
254 | (4) | |||
|
258 | (2) | |||
|
260 | (9) | |||
|
261 | (3) | |||
|
264 | (5) | |||
|
269 | (17) | |||
|
270 | (10) | |||
|
280 | (2) | |||
|
282 | (1) | |||
|
282 | (1) | |||
|
283 | (3) | |||
|
286 | (1) | |||
Chapter 9: Member Role | 287 | (16) | |||
|
288 | (1) | |||
|
289 | (3) | |||
|
289 | (1) | |||
|
290 | (2) | |||
|
292 | (1) | |||
|
292 | (4) | |||
|
296 | (2) | |||
|
298 | (4) | |||
|
302 | (1) | |||
Chapter 10: Client API | 303 | (22) | |||
|
304 | (2) | |||
|
306 | (1) | |||
|
307 | (3) | |||
|
310 | (1) | |||
|
311 | (4) | |||
|
311 | (2) | |||
|
313 | (2) | |||
|
315 | (1) | |||
|
315 | (7) | |||
|
316 | (6) | |||
|
322 | (2) | |||
|
323 | (1) | |||
|
324 | (1) | |||
Chapter 11: Localization | 325 | (16) | |||
|
325 | (3) | |||
|
326 | (1) | |||
|
326 | (2) | |||
|
328 | (7) | |||
|
328 | (2) | |||
|
330 | (5) | |||
|
335 | (5) | |||
|
336 | (1) | |||
|
336 | (2) | |||
|
338 | (1) | |||
|
339 | (1) | |||
|
340 | (1) | |||
Chapter 12: Beginning Module Development | 341 | (16) | |||
|
342 | (2) | |||
|
342 | (1) | |||
|
343 | (1) | |||
|
344 | (8) | |||
|
344 | (4) | |||
|
348 | (4) | |||
|
352 | (4) | |||
|
353 | (1) | |||
|
354 | (2) | |||
|
356 | (1) | |||
Chapter 13: Developing Modules: The Database Layer | 357 | (16) | |||
|
358 | (6) | |||
|
358 | (2) | |||
|
360 | (1) | |||
|
361 | (1) | |||
|
361 | (1) | |||
|
362 | (1) | |||
|
363 | (1) | |||
|
364 | (1) | |||
|
364 | (6) | |||
|
370 | (1) | |||
|
371 | (2) | |||
Chapter 14: Developing Modules: The Business Logic Layer | 373 | (10) | |||
|
373 | (1) | |||
|
374 | (3) | |||
|
377 | (5) | |||
|
379 | (1) | |||
|
379 | (3) | |||
|
382 | (1) | |||
Chapter 15: Developing Modules: The Presentation Layer | 383 | (32) | |||
|
383 | (28) | |||
|
385 | (12) | |||
|
397 | (3) | |||
|
400 | (11) | |||
|
411 | (2) | |||
|
411 | (1) | |||
|
412 | (1) | |||
|
413 | (2) | |||
Chapter 16: Skinning DotNetNuke | 415 | (32) | |||
|
415 | (1) | |||
|
416 | (2) | |||
|
416 | (1) | |||
|
417 | (1) | |||
|
418 | (1) | |||
|
418 | (6) | |||
|
424 | (1) | |||
|
425 | (16) | |||
|
425 | (1) | |||
|
426 | (1) | |||
|
427 | (12) | |||
|
439 | (1) | |||
|
440 | (1) | |||
|
440 | (1) | |||
|
441 | (4) | |||
|
445 | (2) | |||
Chapter 17: Distribution | 447 | (36) | |||
|
448 | (17) | |||
|
448 | (12) | |||
|
460 | (3) | |||
|
463 | (2) | |||
|
465 | (8) | |||
|
465 | (7) | |||
|
472 | (1) | |||
|
473 | (8) | |||
|
473 | (3) | |||
|
476 | (2) | |||
|
478 | (3) | |||
|
481 | (2) | |||
Appendix A: Resources | 483 | (6) | |||
Appendix B: System Message Tokens | 489 | (6) | |||
Index | 495 |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.