BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server
Post on 18-Mar-2018
213 Views
Preview:
Transcript
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
• 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
functionalitySQL
Server
WEB CONTENT MANAGEMENT SYSTEM
Extensions
Browser-basedadministration;unique content,appearanceand membershipfor each portal
Site 1 Site N
Modules Skins Widgets Languages Providers
Multi-tenantSite Architecture
ContentPages
ContentPages
Users Users
Single DNN Installation
WEB APPLICATION FRAMEWORK
Core Services(API-enabled)
Data Logging Scheduling Html Editor NavigationSearch
Index/StorePermissions
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
DotNetNukeAPI
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
top related