Building Websites with DotNetNuke 5 - Packt websites...Building Websites with DotNetNuke 5 Michael...

download Building Websites with DotNetNuke 5 - Packt websites...Building Websites with DotNetNuke 5 Michael Washington Ian Lackey Chapter No.6 Understanding the DotNetNuke CoreArchitecture

of 42

  • date post

    18-Mar-2018
  • Category

    Documents

  • view

    218
  • download

    5

Embed Size (px)

Transcript of Building Websites with DotNetNuke 5 - Packt websites...Building Websites with DotNetNuke 5 Michael...

  • Building Websites with DotNetNuke 5

    Michael Washington Ian Lackey

    Chapter No.6 "Understanding the DotNetNuke

    CoreArchitecture"

  • In this package, you will find: A Biography of the authors of the book

    A preview chapter from the book, Chapter NO.6 "Understanding the DotNetNuke Core Architecture"

    A synopsis of the books content

    Information on where to buy this book

    About the Authors Michael Washington is a website developer and an ASP.NET, C#, and Visual Basic programmer. He is a Microsoft MVP in Silverlight. He has served as a DotNetNuke Core member for many years. He is the author of the Custom Module Development chapter in Building Websites with VB.NET and DotNetNuke 4 (Packt Publishing). He has authored over 100 pages of tutorials on his sites at http://ADefWebserver. com and http://OpenLightGroup.net, covering DotNetNuke and Silverlight. He is one of the founding members of the Southern California DotNetNuke Users group ( www.socaldug.org). He is also the author of The DotNetNuke 4 Module Development Guide, as well as numerous popular DotNetNuke modules such as http://ADefHelpdesk.com. He has a son, Zachary, and resides in Los Angeles with his wife, Valerie.

    I would like to dedicate this book to my Valerie and my son Zachary. I do it all for you!

    For More Information: www.PacktPub.com/building-websites-with-dotnetnuke-5/book

    https://www.packtpub.com/building-websites-with-dotnetnuke-5/book

  • Ian Lackey worked as a systems engineer for a St. Louis-based ISP from 1999 to 2002. At that time, he began developing web applications using ASP and migrated to ASP.NET shortly before the 2.0 release. Ian now works as a full-time programmer analyst II for Washington University in St. Louis Medical School - Department of Pediatrics. He also runs a small business, DigitalSnap Inc. ( http://www.digitalsnap.net) that provides complete DotNetNuke solutions as well as individual modules ( http://www.itlackey.net). Currently Ian is involved in community-driven areas such as the OpenLight Group ( http://www.openlightgroup.net), which manages open source projects including several DotNetNuke modules and many Silverlight-based applications. He will also be speaking at the St. Louis .NET user group ( http://www.ineta.org) meetings this year. Ian currently lives in a small town in Illinois, just East of St. Louis, with his wife Julie ( http://www.calljulie.info) and two daughters, Britney and Brooklynn.

    To everyone in my family, especially Loven and my little B's, thank you so much for your love and support through many long nights behind a laptop. You all are my greatest blessing. Love you forever and always.

    For More Information: www.PacktPub.com/building-websites-with-dotnetnuke-5/book

    https://www.packtpub.com/building-websites-with-dotnetnuke-5/book

  • Building Websites with DotNetNuke5 The book starts off by giving you a deep understanding of working with basic DotNetNuke sites, guiding you through the features and giving you the confidence to create and manage your site. After that, you will journey to the heart of DotNetNuke and learn about its core architecture. Always concise, relevant, and practical, you will find out what makes DotNetNuke tick, and from there, you will be ready to customize DotNetNuke. Developers will enjoy the detailed walkthrough of creating new custom modules. Special emphasis is given to using Linq to SQL and Silverlight to invigorate your module development. You will master all of this as you leap into the development of a DotNetNuke 5 site.

    What This Book Covers Chapter 1, What is DotNetNuke? explains the meaning and purpose of web portals, what successful web portals have in common, the different types of open source web portals, and also discusses why we selected DotNetNuke. In this chapter, we introduce our fictional client Coffee Connections, and using user stories, gather the requirements to build a site for it. Chapter 2, Installing DotNetNuke explains how easy it is to set up a DotNetNuke site on your local workstation. This process has become much easier with each release of DNN, and we expect to continue to see improvements in this area as new versions are released. Some of the new features included in the installation wizard allow you to get your site up and running without needing to modify additional settings once the portal is installed. Chapter 3, Users, Roles, and Pages covers the concepts of users, roles, and pages. This should lay a foundation for the rest of the information we cover in this book. Most of the concepts we will cover will deal with one or all of these items.

    Chapter 4, Standard DotNetNuke Modules discusses the administration, common features, and settings of modules in a DotNetNuke portal. This includes how to add modules to a page, how to adjust layout options, and permission modules. It also covers the standard modules that come prepackaged with DotNetNuke, their basic uses as well as situations they may be used in. It gives a brief overview of all of the modules developed by the DotNetNuke team of developers. These modules range from simple content display to fully interactive forums and e-commerce solutions. After discussing the modules available from the DotNetNuke team, this chapter discusses third-party commercial and open source modules. After covering the pros and cons of using commercial and open source modules, it reviews a brief list of vendors from both of these groups.

    For More Information: www.PacktPub.com/building-websites-with-dotnetnuke-5/book

    https://www.packtpub.com/building-websites-with-dotnetnuke-5/book

  • Chapter 5, Host and Admin Tools covers a variety of information. It gives you, as the administrator of a DotNetNuke portal, the skills needed to maintain your website. Chapter 6, Understanding the DotNetNuke Core Architecture explains how the core of DotNetNuke works. It gives a general overview, examining important pieces of the framework, and finally follows a request through its paces. Chapter 7, Custom Module Development covers many important concepts that you will most likely use in every module you create. In addition to navigation and localization, it also covers exception handling that will aid you in your module development. Chapter 8, Connecting to the Database explains how to set up our development environment, create controls, and the data access layer. Chapter 9, Silverlight Coffee Shop Viewer explains the UI and the Silverlight application. It also shows how to package the module so that it can be distributed to another DotNetNuke website. Chapter 10, Creating Multiple Portals explains how to create multiple portals that can all be hosted from one account. It shows how to create and use templates, how to use the Site Wizard to upgrade your site, and how to manage these portals once they have been set up. Not only will this functionality allow you to create multiple portals, but as all of the information is stored in one database, backing up them is simple.

    For More Information: www.PacktPub.com/building-websites-with-dotnetnuke-5/book

    https://www.packtpub.com/building-websites-with-dotnetnuke-5/book

  • Understanding the DotNetNuke Core

    ArchitectureIn this chapter, we will be exploring the core functionality of the DotNetNuke architecture. We will be using the Source Code version of DotNetNuke 5.2.2 that can be downloaded from the DotNetNuke CodePlex site. We will start with an overview of the architecture, touching on key concepts employed by DotNetNuke. After this, we will examine some of the major sections that make up the framework. Finally, after we learn about the objects that make up the core, we will follow a request for a page through this process to fi nd out how each page is dynamically created.

    Architecture overview As opposed to traditional web applications that may rely on a multitude of web pages to deliver content, DotNetNuke uses a single main page called Default.aspx. The content for this page is generated dynamically by using a tabID value to retrieve the skin and modules needed to build the page requested, from the DotNetNuke database. Before we move on, we should discuss what is meant by a tab and a page. As you read this chapter, you will notice the word "tab" is sometimes used when referring to pages in your DotNetNuke portal. In the original IBuySpy application, pages were referred to as tabs because they resembled tabs when added to the page.

    IBuySpy application, the skeleton ASP.NET Framework, was created by Microsoft to demonstrate ASP.NET features, and DotNetNuke was originally derived from it.

    For More Information: www.PacktPub.com/building-websites-with-dotnetnuke-5/book

    https://www.packtpub.com/building-websites-with-dotnetnuke-5/book

  • Understanding the DotNetNuke Core Architecture

    [ 172 ]

    This continued in the original versions of the DotNetNuke project. Starting with version 3.0, and continuing with version 5.2.x, there has been an ongoing effort to rename most of these instances to refl ect what they really are: pages. Most references to "tabs" have been changed to "pages", but the conversion is not complete. For this reason, you will see bothtabs and pagesin the database, in the project fi les, and in this text. We will use these terms interchangeably throughout this text as we look into the core architecture of DNN.

    We will begin with a general overview of what happens when a user requests a page on your DotNetNuke portal. The process for rendering a page in DotNetNuke works like this: a user navigates to a page on your portal; this calls the Default.aspx page, passing the tabid parameter in the querystring to let the application identify the page being requested. The example http://www.dotnetnuke.com/Default.aspx?tab