Feb 9, 2013 ... DOTNETNUKE. MODULE IN. MINUTES. Module development for Beginners! @
WillStrohl | www.WillStrohl.com |
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]
AGENDA
• • • • • •
Build vs. Buy Architecture Development Templates Module Walkthrough Development Tips (time permitting) Resources
IT’S JUST ASP.NET, PEOPLE!
BUILD VS. BUY
• Store: http://store.dotnetnuke.com • Forge: http://forge.dotnetnuke.com – http://www.codeplex.com – http://www.github.com
DOTNETNUKE ARCHITECTURE
DotNetNuke ASP.NET .NET Internet Information Server Windows Server
SQL Server
DOTNETNUKE ARCHITECTURE Used by end-users to create dynamic and interactive websites
Used by developers to create application functionality
DotNetNuke Web Content Management System Web Application Framework ASP.NET .NET Internet Information Server Windows Server
SQL Server
WEB CONTENT MANAGEMENT SYSTEM
Users
Content Pages
Content Pages
Skins
Multi-tenant Site Architecture
Site N
Site 1 Modules
Users
Widgets
Languages
Single DotNetNuke Installation
Browser-based administration; unique content, appearance and membership for each portal
Providers
Extensions
WEB APPLICATION FRAMEWORK
Extensions RADControls for ASP.NET AJAX
UI Components
User Controls, VB/C#, CSS, HTML, JQuery, etc. Security, Syndication, Instrumentation, Localization … Data
Caching
Logging
Friendly URL
Scheduling
Membership
Html Editor
Roles
Navigation
Profiles
Search Index/Store
Permissions
Authentication
Core Services (API-enabled)
Plug-in Providers Forms, LiveID, Google, Facebook, Twitter, Active Directory, Custom
MODULE ARCHITECTURE
MODULE ARCHITECTURE
MODULE ARCHITECTURE
TRADITIONAL DNN MODULE ARCHITECTURE
User Interface
User Controls
Business Components
DotNetNuke API Abstract Data Provider Concrete Data Provider
DNN MODULE ARCHITECTURE
User Interface
User Controls
Business Components Abstract Data Provider Concrete Data Provider
DAL2, REST, ORM, ADO.Net, etc. Web Services
Other DB’s
TODAY’S DEMO
User Interface
User Controls
Business Components
DAL2
DotNetNuke API Data Source
MODULE DEVELOPMENT TEMPLATES
• 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
DEMO
What does the code look like?
MODULE DEVELOPMENT TIPS
• • • • • • • •
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
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]