During this presentation, I showed how quickly ad easily someone new to DNN can get started with development using a module template. Then, I kicked it up a notch and showed how large teams and projects can be built using DNN.
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Build a DNN Module in Minutes
1. BUILD A DNN
MODULE IN
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
3.
4. 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
11. 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
12. 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
13. 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.
15. TRADITIONAL DNN MODULE ARCHITECTURE
Business Components
Abstract Data Provider
Concrete Data Provider
User Controls
User Interface
DotNetNuke
API
16. 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
20. • 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
22. • 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
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
Hinweis der Redaktion
We believe selling online should be easy… for EVERYONE!