DotNetNuke 4 - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

DotNetNuke 4

Description:

Data Abstraction. Business Logic Layer. New Interfaces. Personalization. Scheduler. Logging Provider ... Provides abstraction layer to physical provider ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 33
Provided by: Patrick438
Category:

less

Transcript and Presenter's Notes

Title: DotNetNuke 4


1
DotNetNuke 4
  • Patrick J. Santry
  • Microsoft ASP.NET MVP
  • wwwCoder.com

2
DotNetNuke
  • DotNetNuke Overview
  • Features
  • Module Development
  • What are Modules?
  • Skinning
  • Containers
  • Resources

3
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.

4
Features
  • 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)

5
Modules
  • What are Modules
  • Desktop Modules
  • Relation to DNN
  • Architecture

6
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.

7
Module Example Text /HTML
8
Desktop Modules
  • Provide a basic look and feel via Containers
  • Contain administrative features
  • Security
  • Meta data
  • Positioning
  • Syndication

9
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

10
Module Architecture
11
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

12
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

13
Abstraction Layer
  • Contains overridable methods for doing database
    operations
  • Located within the modules project, compiled
    into the same assembly as the module.

14
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).

15
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)

16
Personalization
  • Provided by the DotNetNuke.Services.Personalizatio
    n interface.
  • Allows developer to store unique values for each
    user
  • Provides both read and write of personalization
    values and keys.

17
Scheduler
  • Provided by DotNetNuke.Services.Scheduling
  • Provides a means of running a process outside of
    the user request (batch jobs).

18
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.

19
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.

20
Searching
  • DNN provides its own indexing mechanism for
    content.
  • Developer can define content to be indexed in
    DNNs catalog.
  • Will need to implement DotNetNuke.Services.Search.
    ISearchable in your class.

21
Text Editor Provider
  • Default is FreeTextBox
  • Can be freely exchanged with another provider
    (via the web.config)

22
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.

23
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.

24
Skinning
25
Skinning
  • 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.

26
Parts of a Skin
  • HTML File Containing Directives
  • XML File Containing Properties for Controls
  • Associated Files CSS, Images, etc.

27
HTML Example
  • ltTABLE class"pagemaster" border"0"
    cellspacing"0" cellpadding"0"gt
  • ltTRgt
  • ltTD valign"top"gt
  • ltTABLE class"skinmaster" width"770" border"0"
    align"center" cellspacing"0" cellpadding"0"gt
  • ltTRgt
  • ltTD id"ControlPanel" runat"server"
    class"contentpane" valign"top"
    align"center"gtlt/TDgt
  • lt/TRgt
  • ltTRgt
  • ltTD valign"top"gt
  • ltTABLE class"skinheader" cellSpacing"0"
    cellPadding"3" width"100" border"0"gt
  • ltTRgt
  • ltTD vAlign"middle" align"left"gtLOGOlt/TDgt
  • ltTD vAlign"middle" align"right"gtBANNERlt/TD
    gt
  • lt/TRgt
  • lt/TABLEgt

28
XML Definition
  • ltObjectsgt
  • ltObjectgt
  • ltTokengtBREADCRUMBlt/Tokengt
  • ltSettingsgt
  • ltSettinggt
  • ltNamegtSeparatorlt/Namegt
  • ltValuegtlt!CDATAnbspraquonbspgtlt/Valuegt
  • lt/Settinggt
  • ltSettinggt
  • ltNamegtRootLevellt/Namegt
  • ltValuegt0lt/Valuegt
  • lt/Settinggt
  • lt/Settingsgt
  • lt/Objectgt

29
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.

30
Containers
  • 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

31
Resources
  • DotNetNuke.com The official DNN site.
  • SnowCovered.com Third party modules.
  • WWWCoder.com DNN news, articles, and resources.
  • Documentation at DotNetNuke.com

32
www.DotNetNuke.com
Write a Comment
User Comments (0)
About PowerShow.com