Build a Module in Minutes
Will Strohl
• CEO & Founder, Upendo Ventures
• Leader of the Awareness EAG
• Former CEO, Hotcakes Commerce
• Former DNN Corp employee
• Using DNN since 2003
• DNN MVP since 2013*
• DNN Author & Technical Editor
• Founder of DNNCon (Day of DNN)
• Founded 2 DNN User Groups*
• 25+ open source projects
https://upendoventures.com/How/People/Will-Strohl
“hismightiness”
@WillStrohl
Upendo Ventures
• Platform & Evoq
• E-Commerce
• Implementations
• Integrations
• Custom Modules
• Upgrades & Downgrades
• Custom Themes
• Training
• Fixing stuff other people did ;)
@UpendoVentures
UpendoVentures.com
We Use Technology to Help Your Business
Change People’s Lives
Build a Module in Minutes
Who?
• Content editors
• Website owners
• Website administrators
• Theme developers
• Extension developers
Why?
• Building a module can seem difficult
Why?
• Building an extension module can seem difficult
Agenda
• Build vs. Buy
• Types of Extensions
• Development Templates
• Module Walk-Through
• Development Tips
• Best Practices
• Resources
Build vs. Buy
• Question:
• How much is your time worth?
• DNN Store
• https://store.dnnsoftware.com/
• GitHub
• https://github.com/search?q=dnn&type=Repositories
• Forge
• http://dnnsoftware.org/Extension-Library
Types of Extensions
• Authentication Provider
• JavaScript Library
• Language Pack
• Library
• Persona Bar Plugin
• Provider*
• Skin Object
• Theme (and Container)
• Module
Module Templates
Current
• Christoc
• http://bit.ly/christocdnn
• DNN MVP
• http://bit.ly/dnnmvptemplate
• DNN 8 Templates
• http://bit.ly/ashdnntemplates
Legacy
• Social
• http://bit.ly/dnnsocialtemplate
• MaxiomTech
• http://bit.ly/maxiomdnn
• Gooddogs
• http://bit.ly/dnngooddogs
• Subodh
• http://bit.ly/dnnsubodh
• IRobinson
• http://bit.ly/irobinsondnn
Module Templates
generator-dnn
• By DNN MVP, Matt Rutledge
• Based on npm, yarn, yeoman
• Includes MVC, SPA, Persona Bar
• Builds in DesktopModules
https://github.com/mtrutledge/generator-dnn
https://www.npmjs.com/package/generator-dnn
generator-upendodnn
• By yours truly 
• Fork of generator-dnn
• Includes MVC, SPA, Personal Bar,
Webforms, Libraries, Scheduler,
Hotcakes*
• Builds outside of the website
https://github.com/UpendoVentures/generator-
upendodnn
https://www.npmjs.com/package/generator-
upendodnn
Demo
Best Practices
• Use the DNN API
• Use SQL provider tokens
• Be Windows Azure-friendly
• Support localization
• Use DNN form patterns
• Encode SQL scripts as UTF-8
• Look in DNN first
• Re-use DNN functionality
• Controls, CSS classes, plugins,
etc.
• NEVER do core code changes
• Test using EVS
• http://evs.dnnsoftware.com
Upendo Ventures
Final Q&A
We use technology to help your business
change people’s lives
UpendoVentures.com
solutions@upendoventures.com
(650) 381-9160
548 Market St. #65401
San Francisco, CA 94104

DNN-Connect 2019: Build a Module in Minutes

  • 1.
    Build a Modulein Minutes
  • 3.
    Will Strohl • CEO& Founder, Upendo Ventures • Leader of the Awareness EAG • Former CEO, Hotcakes Commerce • Former DNN Corp employee • Using DNN since 2003 • DNN MVP since 2013* • DNN Author & Technical Editor • Founder of DNNCon (Day of DNN) • Founded 2 DNN User Groups* • 25+ open source projects https://upendoventures.com/How/People/Will-Strohl “hismightiness” @WillStrohl
  • 4.
    Upendo Ventures • Platform& Evoq • E-Commerce • Implementations • Integrations • Custom Modules • Upgrades & Downgrades • Custom Themes • Training • Fixing stuff other people did ;) @UpendoVentures UpendoVentures.com We Use Technology to Help Your Business Change People’s Lives
  • 5.
    Build a Modulein Minutes
  • 6.
    Who? • Content editors •Website owners • Website administrators • Theme developers • Extension developers
  • 7.
    Why? • Building amodule can seem difficult
  • 8.
    Why? • Building anextension module can seem difficult
  • 9.
    Agenda • Build vs.Buy • Types of Extensions • Development Templates • Module Walk-Through • Development Tips • Best Practices • Resources
  • 10.
    Build vs. Buy •Question: • How much is your time worth? • DNN Store • https://store.dnnsoftware.com/ • GitHub • https://github.com/search?q=dnn&type=Repositories • Forge • http://dnnsoftware.org/Extension-Library
  • 11.
    Types of Extensions •Authentication Provider • JavaScript Library • Language Pack • Library • Persona Bar Plugin • Provider* • Skin Object • Theme (and Container) • Module
  • 12.
    Module Templates Current • Christoc •http://bit.ly/christocdnn • DNN MVP • http://bit.ly/dnnmvptemplate • DNN 8 Templates • http://bit.ly/ashdnntemplates Legacy • Social • http://bit.ly/dnnsocialtemplate • MaxiomTech • http://bit.ly/maxiomdnn • Gooddogs • http://bit.ly/dnngooddogs • Subodh • http://bit.ly/dnnsubodh • IRobinson • http://bit.ly/irobinsondnn
  • 13.
    Module Templates generator-dnn • ByDNN MVP, Matt Rutledge • Based on npm, yarn, yeoman • Includes MVC, SPA, Persona Bar • Builds in DesktopModules https://github.com/mtrutledge/generator-dnn https://www.npmjs.com/package/generator-dnn generator-upendodnn • By yours truly  • Fork of generator-dnn • Includes MVC, SPA, Personal Bar, Webforms, Libraries, Scheduler, Hotcakes* • Builds outside of the website https://github.com/UpendoVentures/generator- upendodnn https://www.npmjs.com/package/generator- upendodnn
  • 14.
  • 15.
    Best Practices • Usethe DNN API • Use SQL provider tokens • Be Windows Azure-friendly • Support localization • Use DNN form patterns • Encode SQL scripts as UTF-8 • Look in DNN first • Re-use DNN functionality • Controls, CSS classes, plugins, etc. • NEVER do core code changes • Test using EVS • http://evs.dnnsoftware.com
  • 17.
    Upendo Ventures Final Q&A Weuse technology to help your business change people’s lives UpendoVentures.com solutions@upendoventures.com (650) 381-9160 548 Market St. #65401 San Francisco, CA 94104

Editor's Notes

  • #13 … and many others over the years