build a module in minutes...
TRANSCRIPT
BUILD A
DOTNETNUKE
MODULE IN
MINUTES
Module development for Beginners!
@WillStrohl | www.WillStrohl.com | [email protected]
WILL STROHL Sales Engineering Manager & Evangelist
Orlando, FL
@WillStrohl | www.WillStrohl.com | [email protected]
WILL STROHL Sales Engineering Manager & Evangelist
San Francisco, CA
@WillStrohl | www.WillStrohl.com | [email protected]
• Build vs. Buy
• Architecture
• Development Templates
• Module Walkthrough
• Development Tips (time permitting)
• Resources
AGENDA
IT’S JUST ASP.NET, PEOPLE!
• Store: http://store.dotnetnuke.com
• Forge: http://forge.dotnetnuke.com
– http://www.codeplex.com
– http://www.github.com
BUILD VS. BUY
DOTNETNUKE ARCHITECTURE
DotNetNukeDotNetNuke
ASP.NETASP.NET
.NET.NET
Internet Information ServerInternet Information Server
Windows ServerWindows Server
SQL
Server
DOTNETNUKE ARCHITECTURE
DotNetNuke
ASP.NETASP.NET
.NET.NET
Internet Information ServerInternet Information Server
Windows ServerWindows Server
Web Content Management System
Web Content Management System
Web Application FrameworkWeb 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-based
administration;
unique content,
appearance
and membership
for each portal
Site 1Site 1 Site NSite N
ModulesModules SkinsSkins WidgetsWidgets LanguagesLanguages ProvidersProviders
Multi-tenant
Site Architecture
Content
Pages
Content
Pages
Users Users
Single DotNetNuke 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
MODULE ARCHITECTURE
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’sWeb Services
DAL2, REST, ORM, ADO.Net, etc.
TODAY’S DEMO
Business Components
Data Source
User Controls
User Interface
DAL2
DotNetNuke API
• Official Module Template
– http://bit.ly/dnnmoduletemplate
• Social Module Template
– http://bit.ly/dnnsocialtemplate
• Other Templates:
– Gooddogs - http://bit.ly/dnngooddogs
– Subodh - http://bit.ly/dnnsubodh
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
THANK YOU!
Additional Resources:
• Development Wiki Article: http://bit.ly/dnnmoduledev
• Visual Studio Template: http://bit.ly/dnnmoduletemplate
• Official DNN Blogs: http://blogs.dotnetnuke.com
• Official DNN Wiki: http://bit.ly/dnnwiki
• DAL2 Documentation: http://bit.ly/dnndal2
• PetaPoco Documentation: http://bit.ly/petapoco
@WillStrohl | www.WillStrohl.com | [email protected]