BUILD A DNN
MODULE IN
MINUTES
Module development for everyone!
@WillStrohl | www.HotcakesCommerce.com
WILL STROHL Director, Product Development
Hotcakes Commerce
San Francisco, CA
info@HotcakesCommerce.com | HotcakesCommerce.com
WILL STROHL Using DNN since the beginning…
@WillStrohl | www.WillStrohl.com | will.strohl@gmail.com
Co-founder, ODUG
Founder, DNNCon
Leader Training Working Group
DNN MVP
DNN Author
Former DNN Corp Employee
Co-Host, DNN Hangout
DNN Connect Member
http://bit.ly/dnn7book
• Build vs. Buy
• Architecture
• Development Templates
• Module Walkthrough
• Development Tips
• Best Practices
• Resources
AGENDA
IT’S JUST ASP.NET, PEOPLE!
• Store: http://store.dnnsoftware.com
• Forge: http://www.dnnsoftware.com/forge
– http://www.codeplex.com
– http://www.github.com
BUILD VS. BUY
DOTNETNUKE ARCHITECTURE
DNN
ASP.NET
.NET
Internet Information Server
Windows Server
SQL
Server
DOTNETNUKE ARCHITECTURE
DNN
ASP.NET
.NET
Internet Information Server
Windows Server
Web Content
Management System
Web Application Framework
Used by end-users
to create dynamic
and interactive
websites
Used by developers
to create
application
functionality
SQL
Server
WEB CONTENT MANAGEMENT SYSTEM
Extensions
Browser-based
administration;
unique content,
appearance
and membership
for each portal
Site 1 Site N
Modules Skins Widgets Languages Providers
Multi-tenant
Site Architecture
Content
Pages
Content
Pages
Users Users
Single DNN Installation
WEB APPLICATION FRAMEWORK
Core Services
(API-enabled)
Data Logging Scheduling Html Editor Navigation
Search
Index/Store
Permissions
Caching Friendly URL Membership Roles Profiles Authentication
Plug-in Providers
Forms, LiveID,
Google,
Facebook,
Twitter, Active
Directory, Custom
Security, Syndication, Instrumentation, Localization …
RADControls for ASP.NET AJAX UI Components
Extensions
User Controls, VB/C#, CSS, HTML, JQuery, etc.
MODULE ARCHITECTURE
TRADITIONAL DNN MODULE ARCHITECTURE
Business Components
Abstract Data Provider
Concrete Data Provider
User Controls
User Interface
DotNetNuke
API
DNN MODULE ARCHITECTURE
Business Components
Abstract Data
Provider
Concrete Data
Provider
User Controls
User Interface
Other DB’s
DAL2, REST, ORM, ADO.Net, etc.
Web Services
TODAY’S DEMO
Business Components
Data Source
User Controls
User Interface
DAL2
DotNetNuke API
• Most Popular Module Template
– http://bit.ly/dnnmoduletemplate
• DNN MVP Module Template
– http://bit.ly/dnnmvptemplate
• Social Module Template
– http://bit.ly/dnnsocialtemplate
• Other Templates*:
– Gooddogs - http://bit.ly/dnngooddogs
– Subodh - http://bit.ly/dnnsubodh
• Other:
– http://bit.ly/dnnextensions
MODULE
DEVELOPMENT
TEMPLATES
DEMO
What does the code look like?
• Encode DataProvider script files as UTF-8
• Use existing modules as a starting point
• Use project templates as a starting point
• Use templates like CodeSmith
• Localize from version 01.00.00
• Use DNN controls and CSS classes
• Use EditUrl() and NavigateUrl()
• Look for DNN functionality FIRST
– object browser
– API help file
MODULE
DEVELOPMENT
TIPS
DNN STORE
• Use the API whenever possible
• SQL provider tokens
• Windows Azure-friendly
• Supports localization
• DNN form pattern & CSS classes
• No core changes
• Thorough manifest file
• Installs without error
• Seamless uninstall
• Develop for scale
• Reasonable security
MODULE
DEVELOPMENT
BEST
PRACTICES
THANK YOU!
Additional Resources:
• Development Wiki Article: http://bit.ly/dnnmoduledev
• Visual Studio Template: http://bit.ly/dnnmoduletemplate
• Team Development Example: http://bit.ly/dnnextensions
• Official DNN Wiki: http://bit.ly/dnnwiki
• DAL2 Documentation: http://bit.ly/dnndal2
• Best Practices Guide: http://bit.ly/icgmoduledev
• DNN Connect: http://dnn-connect.org
@WillStrohl | www.WillStrohl.com | will.strohl@gmail.com

Build a DNN Module in Minutes

  • 1.
    BUILD A DNN MODULEIN MINUTES Module development for everyone! @WillStrohl | www.HotcakesCommerce.com
  • 2.
    WILL STROHL Director,Product Development Hotcakes Commerce San Francisco, CA info@HotcakesCommerce.com | HotcakesCommerce.com
  • 4.
    WILL STROHL UsingDNN since the beginning… @WillStrohl | www.WillStrohl.com | will.strohl@gmail.com Co-founder, ODUG Founder, DNNCon Leader Training Working Group DNN MVP DNN Author Former DNN Corp Employee Co-Host, DNN Hangout DNN Connect Member
  • 5.
  • 6.
    • Build vs.Buy • Architecture • Development Templates • Module Walkthrough • Development Tips • Best Practices • Resources AGENDA
  • 8.
  • 9.
    • Store: http://store.dnnsoftware.com •Forge: http://www.dnnsoftware.com/forge – http://www.codeplex.com – http://www.github.com BUILD VS. BUY
  • 10.
  • 11.
    DOTNETNUKE ARCHITECTURE DNN ASP.NET .NET Internet InformationServer Windows Server Web Content Management System Web Application Framework Used by end-users to create dynamic and interactive websites Used by developers to create application functionality SQL Server
  • 12.
    WEB CONTENT MANAGEMENTSYSTEM Extensions Browser-based administration; unique content, appearance and membership for each portal Site 1 Site N Modules Skins Widgets Languages Providers Multi-tenant Site Architecture Content Pages Content Pages Users Users Single DNN Installation
  • 13.
    WEB APPLICATION FRAMEWORK CoreServices (API-enabled) Data Logging Scheduling Html Editor Navigation Search Index/Store Permissions Caching Friendly URL Membership Roles Profiles Authentication Plug-in Providers Forms, LiveID, Google, Facebook, Twitter, Active Directory, Custom Security, Syndication, Instrumentation, Localization … RADControls for ASP.NET AJAX UI Components Extensions User Controls, VB/C#, CSS, HTML, JQuery, etc.
  • 14.
  • 15.
    TRADITIONAL DNN MODULEARCHITECTURE Business Components Abstract Data Provider Concrete Data Provider User Controls User Interface DotNetNuke API
  • 16.
    DNN MODULE ARCHITECTURE BusinessComponents Abstract Data Provider Concrete Data Provider User Controls User Interface Other DB’s DAL2, REST, ORM, ADO.Net, etc. Web Services
  • 17.
    TODAY’S DEMO Business Components DataSource User Controls User Interface DAL2 DotNetNuke API
  • 18.
    • Most PopularModule Template – http://bit.ly/dnnmoduletemplate • DNN MVP Module Template – http://bit.ly/dnnmvptemplate • Social Module Template – http://bit.ly/dnnsocialtemplate • Other Templates*: – Gooddogs - http://bit.ly/dnngooddogs – Subodh - http://bit.ly/dnnsubodh • Other: – http://bit.ly/dnnextensions MODULE DEVELOPMENT TEMPLATES
  • 19.
    DEMO What does thecode look like?
  • 20.
    • Encode DataProviderscript files as UTF-8 • Use existing modules as a starting point • Use project templates as a starting point • Use templates like CodeSmith • Localize from version 01.00.00 • Use DNN controls and CSS classes • Use EditUrl() and NavigateUrl() • Look for DNN functionality FIRST – object browser – API help file MODULE DEVELOPMENT TIPS
  • 21.
  • 22.
    • Use theAPI whenever possible • SQL provider tokens • Windows Azure-friendly • Supports localization • DNN form pattern & CSS classes • No core changes • Thorough manifest file • Installs without error • Seamless uninstall • Develop for scale • Reasonable security MODULE DEVELOPMENT BEST PRACTICES
  • 23.
    THANK YOU! Additional Resources: •Development Wiki Article: http://bit.ly/dnnmoduledev • Visual Studio Template: http://bit.ly/dnnmoduletemplate • Team Development Example: http://bit.ly/dnnextensions • Official DNN Wiki: http://bit.ly/dnnwiki • DAL2 Documentation: http://bit.ly/dnndal2 • Best Practices Guide: http://bit.ly/icgmoduledev • DNN Connect: http://dnn-connect.org @WillStrohl | www.WillStrohl.com | will.strohl@gmail.com

Editor's Notes

  • #4 We believe selling online should be easy… for EVERYONE!
  • #19 * I have no experience with these
  • #23 API: Content Items Taxonomy File Manager DAL2 Security Input filter No sessions