Introduction to DotNetNuke - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Introduction to DotNetNuke

Description:

... API and the Business Logic/Data Abstraction Layer. ... More Information. Skinning Guide (/Documentation) ... Skin Object Example (/DesktopModules/PageTitle ... – PowerPoint PPT presentation

Number of Views:654
Avg rating:3.0/5.0
Slides: 35
Provided by: patrick185
Category:

less

Transcript and Presenter's Notes

Title: Introduction to DotNetNuke


1
Introduction to DotNetNuke
  • Scott McCulloch
  • DotNetNuke Core Team
  • www.smcculloch.net

2
IBUYSPY
  • Developed by Vertigo Software to showcase ASP.NET
    1.0
  • VB.Net/C
  • Dynamic Site Layout using User Controls
  • Portal Module Implementation
  • Portal Configuration using Sql Server
  • Role-Based Security
  • Great Starting Point!

3
IBUYSPY - Problems
  • Support/Enhancements No longer being worked on!
    (www.aspsmith.com/ibs)
  • Missing Features
  • Multiple Communities
  • Portal Management
  • Customisation
  • Module Development
  • Graphical Changes
  • Core Extensibility

4
DotNetNuke
5
The DotNetNuke Project
  • Started by Shaun Walker of Perpetual Motion
    Interactive Systems Inc. in Jan. 2002 as an
    extension to IBuySpy, initially called IBuySpy
    Workshop.
  • 105,538 Registered Users (18th Nov, 2004)
  • Now consists of 30 core team developers.
  • Large community support, ASP.NET forums.
  • Written in VB.NET
  • Open Source license.
  • 10,000 to over 50,000 lines of code

6
Timeline
  • 01/1/2002 - IBS Release
  • 24/12/2002 Released on ASP.Net forums
  • Shaun Walker Perpetual Motion (Canada)
  • IBuySpy Workshop
  • 15/3/2003 15/5/2003
  • Re-branded as DotNetNuke (1.05 1.08)
  • Private Assemblies
  • 1/9/2003 DNN 1.10 (x)
  • Core team formed world-wide
  • Stable release with some security patches

7
Timeline (cont.)
  • 23/3/2004 DNN 2.0
  • Complete Re-Write
  • 1500 Source Control Transactions/Month
  • Provider Pattern for Data Access
  • Skinning Engine
  • 4/6/2004 DNN 2.1
  • Providers for Scheduler/Logging/RichText
  • Crucial bug fixes

8
Timeline (cont.)
  • The Future
  • Multi-Lingual (2.2)
  • Friendly Urls (2.2)
  • Search (2.2)
  • Whidbey Providers (2.2)
  • www.dotnetnuke.com (roadmap)

9
More Features!
10
Completing the Portal Implementation
  • Multiple Portals per Installation
  • Extended Basic Features
  • User Membership, Role Membership, Content
    Authoring
  • Implement Advanced Features
  • Search Engine Optimization, Banner Advertising,
    Affiliate Relationship Management, and Hosting

11
Portal Architecture
1 Installation (1DB/Web)
CarPoint.ninemsn.com.au
BoatPoint.ninemsn.com.au
Host
BikePoint.ninemsn.com.au
12
Core Extensibility
13
Provider Pattern
  • a provider is simply a contract between an API
    and the Business Logic/Data Abstraction Layer.
  • Whidbey Pattern for Extensibility
  • Build new core features using this Pattern!
  • Modules built using this pattern as well!

14
Portal Architecture for Data Access
Config
AccessDataProvider
SqlDataProvider
Abstract Base Class
OracleDataProvider
15
Provider Pattern Everywhere
  • Data Provider
  • Rich Text Provider
  • Logging Provider
  • Scheduler Provider
  • Whidbey Providers (Membership, Role, Profile)
    coming soon!
  • Everywhere customisation may occur!

16
Skinning
17
The Skinning Process
18
Setup
  • Design HTML in any editor
  • Note Normal Design as you would design any
    website

19
Replace
  • Mark sections to inject module (ContentPane,
    LeftPane)
  • Mark dynamic functionality based on Skin Objects
    (Title, Menu, Login)
  • Note You can write your own Skin Objects! (Not
    Covered)

20
Pack
  • Pack up all files into a Zip

21
Setup
  • Install through File Manager as Skin Package
  • Note You can apply at Host, Portal, Page

22
Further Notes
  • You can write your own Skin Objects (e.g.
    replacement menus)
  • Container Packages are the content around a
    Module
  • You can write Skins as ASCX to skip conversion
    Process

23
More Information
  • Skinning Guide (/Documentation)
  • Skinning Contest (http//www.dotnetnuke.com/contes
    t )
  • Skin Object Example (/DesktopModules/PageTitle/)
  • Free/Buy Skins (http//www.dnnskins.com,
    http//www.snowcovered.com )

24
Module Development
25
What are Modules?
  • Written in .NET code, C, VB.NET
  • Promotes code reuse.
  • Allows you to extend DotNetNuke.
  • Customizable (using the module container)
  • Compiled assemblies.

26
Development Process
Setup
Initial Project Creation in Visual
Studio (Developer)
27
Setup
  • Create a new Class Project (/DesktopModules)
  • Compilation Path (../../bin/)
  • Name Project Appropriately (CompanyName.Module)
  • Reference DotNetNuke Project

28
Develop
  • Add User Controls to Project
  • User Controls must Implement PortalModuleControl
  • Develop as Normal
  • Register Controls through Portal for Debugging

29
Pack
  • Write Xml Manifest File (ModuleName.dnn)
  • Package into Zip File
  • Distribute

30
Deploy
  • Install to your portal through File Manager
  • Add to any page (Module will appear in list now)

31
More Information
  • Module Developers Guide (/Documentation)
  • www.smcculloch.net (Sample
    Modules/CodeSmith Templates)
  • www.dotnetnuke.dk (Tutorials/Dev
    Environment)
  • dnnjungle.vmasanas.net
    (Tutorials/VS.NET Enterprise Templates)

32
Conclusion
  • Open Source Application with Strong Development
    Community
  • Extensible through Provider Pattern
  • Customisable through Skinning Modules
  • Off the Shelf Portal Application at the right
    price!

33
Questions?
34
www.DotNetNuke.com
Scott McCulloch DotNetNuke Core
Team www.smcculloch.net smcculloch_at_iinet.net.au
Write a Comment
User Comments (0)
About PowerShow.com