build a module in minutes...

21
BUILD A DOTNETNUKE MODULE IN MINUTES Module development for Beginners! @WillStrohl | www.WillStrohl.com | [email protected]

Upload: phungcong

Post on 18-Mar-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

BUILD A

DOTNETNUKE

MODULE IN

MINUTES

Module development for Beginners!

@WillStrohl | www.WillStrohl.com | [email protected]

Page 2: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

WILL STROHL Sales Engineering Manager & Evangelist

Orlando, FL

@WillStrohl | www.WillStrohl.com | [email protected]

Page 3: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

WILL STROHL Sales Engineering Manager & Evangelist

San Francisco, CA

@WillStrohl | www.WillStrohl.com | [email protected]

Page 4: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

• Build vs. Buy

• Architecture

• Development Templates

• Module Walkthrough

• Development Tips (time permitting)

• Resources

AGENDA

Page 5: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content
Page 6: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

IT’S JUST ASP.NET, PEOPLE!

Page 7: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

• Store: http://store.dotnetnuke.com

• Forge: http://forge.dotnetnuke.com

– http://www.codeplex.com

– http://www.github.com

BUILD VS. BUY

Page 8: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

DOTNETNUKE ARCHITECTURE

DotNetNukeDotNetNuke

ASP.NETASP.NET

.NET.NET

Internet Information ServerInternet Information Server

Windows ServerWindows Server

SQL

Server

Page 9: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

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

Page 10: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

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

Page 11: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

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 12: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

MODULE ARCHITECTURE

Page 13: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

MODULE ARCHITECTURE

Page 14: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

MODULE ARCHITECTURE

Page 15: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

TRADITIONAL DNN MODULE ARCHITECTURE

Business Components

Abstract Data Provider

Concrete Data Provider

User Controls

User Interface

DotNetNuke

API

Page 16: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

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.

Page 17: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

TODAY’S DEMO

Business Components

Data Source

User Controls

User Interface

DAL2

DotNetNuke API

Page 18: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

• 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

Page 19: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

DEMO

What does the code look like?

Page 20: Build a Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

• 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 Module in Minutes 20130208willstrohl-presentations.s3.amazonaws.com/Presentations/20130209... · DotNetNuke ASP.NET.NET Internet Information Server Windows Server Web Content

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]