DNNModDev: DotNetNuke Module Development
2 days ($500 per day)
Upcoming Classes: Sep 24-25 ; Nov 12-13 register
This course will span 2 days (16 hours) and teach developers already working in C# or VB.NET and Visual Studio 2008 how to build powerful DotNetNuke modules. The course will cover best practices in project setup, Core DNN properties and methods of value, and packaging and deployment of the module for both internal use and public use (resale).
Prerequisites:
- Intermediate .NET development experience
- Visual Studio 2008 or greater
- Basic SQL Server experience
Audience: This course will benefit Microsoft .NET developers who will be creating web applications and modules in DotNetNuke.
At course completion:
Students will be able to:
- Have a solid understanding of the DNN modular architecture
- Understand how to develop custom DNN modules
- Understand best practices for module usage
- Know how to package and deploy DNN modules
Course Topics:
Lesson 1: DNN Portal Framework Overview
· Portals overview
o Pages
o Panes
o Menus
o Users & Roles
o Modules
· DotNetNuke Framework
o Provider model
o Security
o Caching
o APIs
o Interfaces
Lesson 2: Starter Kits
· Review Starter Kits
· What is starter kit
· Download starter kit
· Install starter kit
· Review available projects
o WAP Module
o WSP Module
o DNN Web Site
· C# vs. VB.NET module projects
Lab: DNN Setup, module installation
· Create DNN site from starter kit
· Create database
· Change connection string
· Build & Test
Lesson 3: Module Definitions
· DNN Security
· Module Package
· WSP vs. WAP
Lab: Build module from starter kit
· Create project from starter kit
· Change connection string
· Set permissions
· Refactor module
· Create module definition
· Create module controls
· Build & Test
Lesson 4: Data-driven Modules
· DNN Properties
· DNN Lists
· Module Navigation
· Module Actions
· Data Sources
· Module Packaging
Lab: Debugging a Data-driven module
· Configuring a solution for debugging in DNN
· Setting build paths
· Common build errors
Lesson 5: DNN Module from Scratch
· Create new WAP
· Clean project
· Reference DNN assembly
· Create the Hello World Module
· Build & Test
Lesson 6: Data Access – LINQ to SQL Overview
· LINQ to SQL Overview
· Benefits of LINQ to SQL
· Entity Framework Overview
· Comparison of LINQ to SQL and Entity Framework
Lab: LINQ enabling DNN Instance
· Install LinqPrep module
· Determine whether .NET 3.5 is installed
· Determine if DNN web.config is upgraded to use .NET 3.5 assemblies
· Test LINQ
Lesson 7: Data Access – LINQ to SQL Development
· Creating DBML file
· Referencing LINQ data context
· Connection string considerations
Lab: Data-driven module from scratch with LINQ to SQL
· Create module control
· Create database tables
· Add LINQ designer
· Drop tables
· Reference LINQ on control
· Build & Test
Lesson 8: Using DNN interfaces
· ISortable
· ISearchable
· IActionable
· IUpgradable
· Localization
Lab: Implement Interfaces
Lesson 9: Module Presentation Layer
· Styling Modules with CSS
· Using JQUery in DNN
· Using AJAX in DNN
Lesson 10: Module Development Best Practices
· Best Practices
· What data access to use
· What to avoid in DNN
· When to use DNN framework
Lesson 11: SEO Enhancing modules
· Tables vs. tableless design
· SEO-friendly markup
Lesson 12: The Module Package
· Package Overview
· Source vs. PA
· Analyze module manifest
· Review resources
Lesson 13: Automating Module Packaging
· Analyzing the contents of a package
· Review the DNN WAP project
· What is Nant
· What is MSBuild
· Customizing the Nant file
· Integrating the MSBuild script
· Building the project
· Source vs. PA
· Review the temporary zip files
· Reviewing the package
· Installing the package
Lab: Finalize module, package, and deploy
· Versioning and Nant
· Testing SQL Scripts
Lesson 14: DNN Provider Model
· Exceptions
· Logging
· Caching
· Security
· Data
· Localization
Lesson 15: Using DNN’s API
· IsEditable
· IsAdmin
· UserInfo
· PortalSettings
· PortalInfo
· HostSettings
Upcoming Classes: Sep 24-25 ; Nov 12-13 register