Introduction to DotNetNuke

download Introduction to DotNetNuke

of 35

  • date post

  • Category


  • view

  • download


Embed Size (px)


Introduction to DotNetNuke. Agus Kurniawan, MVP (C#) Software Architect – PT. Astra International Tbk Group Leader of .NET Mobile - INDC. Agenda. History DotnetNuke overview More Features! Core Extensibility Skinning Module Development. A Little History. - PowerPoint PPT Presentation

Transcript of Introduction to DotNetNuke

  • Introduction toDotNetNukeAgus Kurniawan, MVP (C#) Architect PT. Astra International TbkGroup Leader of .NET Mobile - INDC

  • AgendaHistoryDotnetNuke overviewMore Features!Core ExtensibilitySkinningModule Development

  • A Little HistoryDeveloped by Vertigo Software to showcase ASP.NET 1.0VB.Net/C#Dynamic Site Layout using User ControlsPortal Module ImplementationPortal Configuration using Sql ServerRole-Based SecurityGreat Starting Point!

  • IBUYSPY - ProblemsSupport/Enhancements No longer being worked on!Missing FeaturesMultiple CommunitiesPortal ManagementHierarchical Site Layout (Menu)CustomizationModule Development Graphical ChangesCore Extensibility

  • DotNetNuke

  • The DotNetNuke ProjectStarted by Shaun Walker of Perpetual Motion Interactive Systems Inc. in Jan. 2002 as an extension to IBuySpy, initially called IBuySpy Workshop.Now consists of 30 core team developers.Large community support, ASP.NET forums.Written in VB.NETOpen Source license.10,000 to over 50,000 lines of code

  • Timeline01/1/2002 - IBS Release12/24/2002 Released on ASP.Net forumsShaun Walker Perpetual Motion (Canada)IBuySpy Workshop3/15/2003 5/15/2003Re-branded as DotNetNuke (1.05 1.08)Private AssembliesIncluded Menu9/1/2003 DNN 1.10 (x)Core team formed world-wideStable release with some security patches

  • Timeline (cont.)3/23/2004 DNN 2.0Complete Re-Write 1500+ Source Control Transactions/MonthProvider Pattern for Data Access Skinning Engine6/4/2004 DNN 2.1Providers for Scheduler/Logging/RichTextCrucial bug fixes

  • Timeline (cont.)The FutureMulti-Lingual (2.2)Friendly Urls (2.2)Search (2.?)Client API (2.?) (roadmap)

  • More Features!

  • Completing the Portal ImplementationMultiple Portals per InstallationExtended Basic FeaturesUser Membership, Role Membership, Content AuthoringImplement Advanced FeaturesSearch Engine Optimization, Banner Advertising, Affiliate Relationship Management, and Hosting

  • Portal Architecture1 Installation (1DB/Web)

  • Core Extensibility

  • Provider Patterna provider is simply a contract between an API and the Business Logic/Data Abstraction Layer.Whidbey Pattern for ExtensibilityBuild new core features using this Pattern!Modules built using this pattern as well!

  • Portal Architecture for Data AccessAbstract Base ClassConfigAccessDataProviderSqlDataProviderOracleDataProvider

  • Provider Pattern EverywhereData ProviderRich Text ProviderLogging ProviderScheduler ProviderAuthentication (Soon?)Everywhere customization *may* occur!

  • Skinning

  • The Skinning Process

  • SetupDesign HTML in any editorNote: Normal Design as you would design any website

  • ReplaceMark sections to inject module (ContentPane, LeftPane)Mark dynamic functionality based on Skin Objects ([Title], [Menu], [Login])You can write your own Skin Objects!

  • PackPack up all files into a Zip

  • SetupInstall through File Manager as Skin PackageNote: You can apply at Host, Portal, Page

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

  • More InformationSkinning Guide (/Documentation)Skinning Contest ( )Skin Object Example (/DesktopModules/PageTitle/)Free/Buy Skins (,, )

  • Module Development

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

  • Development ProcessSetupInitial Project Creation in Visual Studio(Developer)

  • SetupCreate a new Class Project (/DesktopModules)Compilation Path (../../bin/)Name Project Appropriately (CompanyName.Module)Reference DotNetNuke Project

  • DevelopAdd User Controls to ProjectUser Controls must Implement PortalModuleControlDevelop as Normal Register Controls through Portal for Debugging

  • PackWrite Xml Manifest File (Skin.Xml)Package into Zip FileDistribute

  • DeployInstall to your portal through File ManagerAdd to any page (Module will appear in list now)

  • More InformationModule Developers Guide (/Documentation) (Menu Updates, Menu Module, and Skins) (Sample Modules/CodeSmith Templates) (Tutorials/Dev Environment) (Tutorials/VS.NET Enterprise Templates) / hosting / Free DotNetNuke Portals)

  • ConclusionOpen Source Application with Strong Development CommunityExtensible through Provider PatternCustomizable through Skinning & ModulesOff the Shelf Portal Application at the right price!

  • Questions?

  • www.DotNetNuke.comSpecial Thanks to: Scott McCullochDotNetNuke Core Jon HenningDotNetNuke Core Team

    Maybe architecture diagram?Solution to the Dead-End* provides an "off-the-shelf" portal software product which contains all of the key features required to operate a functional portal website. consists of a mature core portal framework that provides a solid foundation of building block services that developers can leverage to create a robust web application.

    Talk about History SportsManager Version 1 to Version 2

    Maybe Demo of new Modules, Site Management, EtcFirst Step was to complete IBuySpyFocus on re-architecting the solution removed IBS architecture

    Rainbow built more and more features in Core, DNN looked towards extensibilityDemo?Demo?