build a dnn module in minuteswillstrohl-presentations.s3.amazonaws.com/presentations/20150320... ·...
TRANSCRIPT
![Page 1: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/1.jpg)
BUILD A DNN
MODULE IN
MINUTES
Module development for everyone!
@WillStrohl | www.HotcakesCommerce.com
![Page 2: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/2.jpg)
WILL STROHL Director, Product Development
Hotcakes Commerce
San Francisco, CA
[email protected] | HotcakesCommerce.com
![Page 3: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/3.jpg)
![Page 4: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/4.jpg)
WILL STROHL Using DNN since the beginning…
@WillStrohl | www.WillStrohl.com | [email protected]
Co-founder, ODUG
Founder, DNNCon
Leader Training Working Group
DNN MVP
DNN Author
Former DNN Corp Employee
Co-Host, DNN Hangout
DNN Connect Member
![Page 6: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/6.jpg)
• Build vs. Buy
• Architecture
• Development Templates
• Module Walkthrough
• Development Tips
• Best Practices
• Resources
AGENDA
![Page 7: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/7.jpg)
![Page 8: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/8.jpg)
IT’S JUST ASP.NET, PEOPLE!
![Page 9: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/9.jpg)
• Store: http://store.dnnsoftware.com
• Forge: http://www.dnnsoftware.com/forge
– http://www.codeplex.com
– http://www.github.com
BUILD VS. BUY
![Page 10: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/10.jpg)
DOTNETNUKE ARCHITECTURE
DNN
ASP.NET
.NET
Internet Information Server
Windows Server
SQL
Server
![Page 11: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/11.jpg)
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
![Page 12: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/12.jpg)
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
![Page 13: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/13.jpg)
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.
![Page 14: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/14.jpg)
MODULE ARCHITECTURE
![Page 15: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/15.jpg)
TRADITIONAL DNN MODULE ARCHITECTURE
Business Components
Abstract Data Provider
Concrete Data Provider
User Controls
User Interface
DotNetNukeAPI
![Page 16: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/16.jpg)
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
![Page 17: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/17.jpg)
TODAY’S DEMO
Business Components
Data Source
User Controls
User Interface
DAL2
DotNetNuke API
![Page 18: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/18.jpg)
• 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
![Page 19: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/19.jpg)
DEMO
What does the code look like?
![Page 20: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/20.jpg)
• 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
![Page 21: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/21.jpg)
DNN STORE
![Page 22: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/22.jpg)
• 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
![Page 23: BUILD A DNN MODULE IN MINUTESwillstrohl-presentations.s3.amazonaws.com/Presentations/20150320... · DOTNETNUKE ARCHITECTURE DNN ASP.NET.NET Internet Information Server Windows Server](https://reader031.vdocuments.us/reader031/viewer/2022030501/5aae3d387f8b9a59478bcdea/html5/thumbnails/23.jpg)
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 | [email protected]