1 / 35

Introduction to DotNetNuke

Introduction to DotNetNuke. Agus Kurniawan, MVP (C#) agus.kurniawan@ai.astra.co.id 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 .

jarredm
Télécharger la présentation

Introduction to DotNetNuke

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction toDotNetNuke Agus Kurniawan, MVP (C#) agus.kurniawan@ai.astra.co.id Software Architect – PT. Astra International Tbk Group Leader of .NET Mobile - INDC

  2. Agenda • History • DotnetNuke overview • More Features! • Core Extensibility • Skinning • Module Development

  3. A Little History • 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!

  4. IBUYSPY - Problems • Support/Enhancements – No longer being worked on! • Missing Features • Multiple Communities • Portal Management • Hierarchical Site Layout (Menu) • Customization • Module Development • Graphical Changes • Core Extensibility

  5. DotNetNuke

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

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

  8. Timeline (cont.) • 3/23/2004 – DNN 2.0 • Complete Re-Write • 1500+ Source Control Transactions/Month • Provider Pattern for Data Access • http://msdn.microsoft.com/library/en-us/dnaspnet/html/asp02182004.asp • Skinning Engine • 6/4/2004 – DNN 2.1 • Providers for Scheduler/Logging/RichText • Crucial bug fixes

  9. Timeline (cont.) • The Future • Multi-Lingual (2.2) • Friendly Urls (2.2) • Search (2.?) • Client API (2.?) • www.dotnetnuke.com (roadmap)

  10. More Features!

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

  12. Portal Architecture 1 Installation (1DB/Web) lenders.yourcompany.com buyers.yourcompany.com Host dealers.yourcompany.com

  13. Core Extensibility

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

  15. Portal Architecture for Data Access Config AccessDataProvider SqlDataProvider Abstract Base Class OracleDataProvider

  16. Provider Pattern Everywhere • Data Provider • Rich Text Provider • Logging Provider • Scheduler Provider • Authentication (Soon?) • Everywhere customization *may* occur!

  17. Skinning

  18. Design Replace Pack Deploy Design Skin in Any Editor (Designer) Mark Dynamic Section in Skin with special PlaceHolders (Designer) Package into Zip File for Distribution (Designer) Install into your portal (Admin) The Skinning Process

  19. Design Design Skin in Any Editor (Designer) Setup • Design HTML in any editor • Note: “Normal Design” as you would design any website

  20. Replace Mark Dynamic Section in Skin with special PlaceHolders (Designer) Replace • Mark sections to inject module (ContentPane, LeftPane) • Mark dynamic functionality based on Skin Objects ([Title], [Menu], [Login]) • You can write your own Skin Objects!

  21. Pack Package into Zip File for Distribution (Designer) Pack • Pack up all files into a Zip

  22. Deploy Install into your portal (Admin) Setup • Install through File Manager as “Skin Package” • Note: You can apply at “Host”, “Portal”, “Page”

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

  24. More Information • Skinning Guide (/Documentation) • Skinning Contest (http://www.dotnetnuke.com/contest ) • Skin Object Example (/DesktopModules/PageTitle/) • Free/Buy Skins (http://www.dnnskins.com, http://www.xd.com.au, http://www.snowcovered.com )

  25. Module Development

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

  27. Develop Pack Deploy Create your Custom Functionality (Developer) Package Module for Installation (Developer) Install into Portal (Admin) Development Process Setup Initial Project Creation in Visual Studio (Developer)

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

  29. Develop Create your Custom Functionality (Developer) Develop • Add User Controls to Project • User Controls must Implement “PortalModuleControl” • Develop as “Normal” • Register Controls through Portal for Debugging

  30. Pack Package Module for Installation (Developer) Pack • Write Xml Manifest File (Skin.Xml) • Package into Zip File • Distribute

  31. Deploy Install into Portal (Admin) Deploy • Install to your portal through “File Manager” • Add to any page (Module will appear in list now)

  32. More Information • Module Developers Guide (/Documentation) • www.solpart.com (Menu Updates, Menu Module, and Skins) • www.smcculloch.net (Sample Modules/CodeSmith Templates) • www.dotnetnuke.dk (Tutorials/Dev Environment) • www.dnnjungle.com (Tutorials/VS.NET Enterprise Templates) • www.webhost4life.com / www.pureportals.com (DotNetNuke hosting / Free DotNetNuke Portals)

  33. Conclusion • Open Source Application with Strong Development Community • Extensible through Provider Pattern • Customizable through Skinning & Modules • “Off the Shelf” Portal Application at the right price!

  34. Questions?

  35. www.DotNetNuke.com Special Thanks to: Scott McCulloch DotNetNuke Core Team www.smcculloch.net smcculloch@iinet.net.au Jon Henning DotNetNuke Core Team www.solpart.com jhenning@solpart.com

More Related