dotnetnuke 4 l.
Skip this Video
Loading SlideShow in 5 Seconds..
DotNetNuke 4 PowerPoint Presentation
Download Presentation
DotNetNuke 4

Loading in 2 Seconds...

play fullscreen
1 / 32

DotNetNuke 4 - PowerPoint PPT Presentation

  • Uploaded on

DotNetNuke 4. Patrick J. Santry Microsoft ASP.NET MVP DotNetNuke. DotNetNuke Overview Features Module Development What are Modules? Skinning Containers Resources. DotNetNuke Overview.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'DotNetNuke 4' - bary

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
dotnetnuke 4

DotNetNuke 4

Patrick J. Santry

Microsoft ASP.NET MVP

  • DotNetNuke Overview
    • Features
  • Module Development
    • What are Modules?
  • Skinning
    • Containers
  • Resources
dotnetnuke overview
DotNetNuke Overview
  • Started by Shaun Walker of Perpetual Motion Interactive Systems Inc. in Jan. 2002 as an extension to IBuySpy, initially called IBuySpy Workshop.
  • Consists of developers from various backgrounds.
  • Large community support, ASP.NET forums.
  • Written in VB.NET
  • Open Source license. BSD
  • Over 400,000 registered users and growing.
  • More than a starter kit, thousands of professional implementations worldwide.
  • Multi portal implementation
  • Role based security
  • Skinning, provides flexibility of design.
  • Content is editable in-line and searchable (full text).
  • Various tools provided – traffic log reporting, file management, bulk email, payment handling, vendor management.
  • Friendly URLs, SEO
  • Comes with several modules built into the core. Hundreds of third party modules are available (free and commercial)
  • What are Modules
  • Desktop Modules
  • Relation to DNN
  • Architecture
what are modules
What are Modules?
  • Provides a developer with a means of extending DNN.
  • Third party modules can purchased for out of the box solutions.
  • Core modules are included in DNN for basic functionality.
desktop modules
Desktop Modules
  • Provide a basic look and feel via Containers
  • Contain administrative features
    • Security
    • Meta data
    • Positioning
    • Syndication
module development
Module Development
  • Architecture
    • Data Provider
    • Data Abstraction
    • Business Logic Layer
  • New Interfaces
    • Personalization
    • Scheduler
    • Logging Provider
    • Importing / Exporting
    • Searching
    • Text Editor Provider
  • DNN User Controls
  • Other items
provider model
Provider Model
  • Provides abstraction layer to physical provider
  • Reduces need for recompiling in order to switch physical providers.
  • Separates physical providers from business logic
  • DNN Providers
    • Security and Membership Provider
    • Text/HTML Provider
    • Logging Provider
    • Scheduler
    • Friendly URLs
physical providers
Physical Providers
  • Each provider will contain unique logic for dealing with each physical database.
  • Compiled into its own assembly for “plug and play” use.
  • (For SQL) Contains methods corresponding to stored procedures.
  • Defined in the Web.config
abstraction layer
Abstraction Layer
  • Contains overridable methods for doing database operations
  • Located within the module’s project, compiled into the same assembly as the module.
business logic layer
Business Logic Layer
  • Divided into two classes:
    • ModuleInfo: Contains the properties for our object.
    • ModuleController: Contains wrapper methods for calling the abstraction layer to populate an arraylist of objects (ModuleInfo).
presentation layer
Presentation Layer
  • User controls (ascx)
  • Inherits the PortalModuleBase: provides values for Settings hash, ModuleID, security, TabID
  • Binds the objects from the controller class to our controls.
  • Utilizes DNN user controls
  • This is your module (refer to DesktopModule)
  • Create an admin control (for populating settings, and view control for viewing data)
  • Provided by the DotNetNuke.Services.Personalization interface.
  • Allows developer to store unique values for each user
  • Provides both read and write of personalization values and keys.
  • Provided by DotNetNuke.Services.Scheduling
  • Provides a means of running a process outside of the user request (batch jobs).
logging provider
Logging Provider
  • Provided by Log.EventLog.EventLogController
  • Provides the ability to write to the DNN log located under the admin menu.
  • Similar to the Windows event log, will log code errors, informational (developer), etc.
import export
Import / Export
  • Provided by DotNetNuke.Entities.Modules.IPortable
  • Allows the developer to provide a means of exporting data from within a module so it can be inserted into another instance of that module.
  • Must generate an XML file that is used in the export and import process.
  • DNN provides it’s own indexing mechanism for content.
  • Developer can define content to be indexed in DNN’s catalog.
  • Will need to implement DotNetNuke.Services.Search.ISearchable in your class.
text editor provider
Text Editor Provider
  • Default is FreeTextBox
  • Can be freely exchanged with another provider (via the web.config)
dnn user controls
DNN User Controls
  • Address – This control provides the address entry control that you see in DNN when registering for an account within the portal.
  • DesktopModuleTitle – Provides the title area above a module.
  • DesktopPortalBanner – The banner ad area within the portal, includes the login, banner ad, logo, and other items.
  • DesktopPortalFooter – The footer control for a portal.
  • DualListControl – A control containing two list controls for moving data between the two.
  • Help – Help control for a module. Accepts localization information, and help file references.
  • LabelControl – Contains properties for storing localization information, help information, and other information provided the DNN core.
  • ListItemComparer – Used to compare items within a list.
  • ModuleAuditControl – For auditing a module, such as who created the module and when the module was created.
  • SectionHeadControl – For creating collapsible areas within your module.
  • TextEditor – Discussed previously
  • UrlControl – Provides NavigateURL, friendly URLs, etc.
  • URLTrackingControl – For click tracking.
items of note
Items of Note
  • Easy distribution and install of modules via a package which contains a definition file, assemblies, ascx controls, content files, and data provider (for database creation).
  • Starter Kits Available for DotNetNuke installs, Modules, and Skins.
  • Separate look from content
  • Multiple skins per portal. Each page can have unique skin.
  • Can be created using designer tools: Expression Web
  • Contains HTML, CSS, Images
  • Easily Distributed via Zip Files
  • Skins can be assigned at the host or site level.
parts of a skin
Parts of a Skin
  • HTML File Containing Directives
  • XML File Containing Properties for Controls
  • Associated Files: CSS, Images, etc.
html example
HTML Example

<TABLE class="pagemaster" border="0" cellspacing="0" cellpadding="0">


<TD valign="top">

<TABLE class="skinmaster" width="770" border="0" align="center" cellspacing="0" cellpadding="0">


<TD id="ControlPanel" runat="server" class="contentpane" valign="top" align="center"></TD>



<TD valign="top">

<TABLE class="skinheader" cellSpacing="0" cellPadding="3" width="100%" border="0">


<TD vAlign="middle" align="left">[LOGO]</TD>

<TD vAlign="middle" align="right">[BANNER]</TD>



xml definition
XML Definition















generates an ascx files
Generates an ASCX Files
  • Once the skin files are uploaded they generate an ASCX file for the final skin.
  • You can create ASCX files directly, zip, upload and install.
  • Similar to skinning, separates look from function
  • Surrounds the module
  • Create the same as a skin:
    • HTML with directives
    • XML file for object properties
    • Associated files
  • Once uploaded, DNN will parse into an ASCX file.
  • Can use ASCX files directly
  • – The official DNN site.
  • – Third party modules.
  • – DNN news, articles, and resources.
  • Documentation at