DNN Blogs

Written for the Community, by the Community

Developing Extensions in DNN: A Beginner's Guide

Written By David Poindexter
2024-05-30

If you're new to DNN (DotNetNuke) and looking to develop extensions, you're in the right place. This guide will help you understand the primary patterns supported in DNN for module development and provide valuable resources to get you started.

Understanding the Primary Patterns

DNN supports three main patterns for module development:

  1. Web Forms
    This traditional pattern is still widely used and is suitable for many types of modules.
     
  2. MVC (Model-View-Controller)
    This pattern separates the application logic, user interface, and data model, offering a more organized approach to development.
     
  3. SPA (Single Page Application)
    This pattern uses HTML and Web API to create dynamic, single-page applications.

Each pattern has its advantages, and you can choose the one that best fits your project's needs. Moreover, you can get creative by combining these patterns with microservices for backend and database operations. For example, you could use an SPA module in DNN alongside a .NET Core solution hosted on Azure.

Essential Resources for Module Development

Here are some sample projects and templates to help you get started with each pattern:

For module templates, I recommend the Eraware DNN Templates, which are also available on the Visual Studio Marketplace.

These templates come with a robust setup, including:

  • Stencil for authoring web components
  • EntityFramework for database access
  • Web API for backend interaction
  • Swagger for API documentation
  • Nuke for build automation
  • DocFX for documentation
  • XUnit for unit/integration tests

Additional Tools and Resources

  • DNN Elements (DNN Elements GitHub Repository)
    An entire design system of pure web components that can be used with any framework (or no framework at all).
     
  • Documentation (DNN Community Docs)
    The current documentation, including API references, can be found here.

Learning Through Video Content

Many creators produce up-to-date video content to help you with DNN development. Here are a few recommended channels:

I hope you find this guide helpful as you embark on your journey into DNN module development. Good luck!

Total: 4 Comment(s)
Great Post Dave! Thanks for creating this whole picture before people start making decisions! Good stuff
Thursday, May 30, 2024 ·
You are most welcome Marco. I decided to go ahead and publish this since it addresses frequently asked questions in the community.
Thursday, May 30, 2024 ·
Great addition for developers new to DNN, thank you :-)
Monday, June 3, 2024 ·
You are welcome.
Monday, June 3, 2024 ·

Would you like to help us?

Awesome! Simply post in the forums using the link below and we'll get you started.

Get Involved