-
-
Notifications
You must be signed in to change notification settings - Fork 9
Home
Welcome to the generator-upendodnn wiki!
The UpendoDnn Generator empowers developers of any skill level to get started with building most kinds of extensions for their DNN website, using a single solution. This is really powerful for the built-in time-savings, of course. However, it really shines in environments where teams are involved, multiple types of DNN extensions, integrations with other systems/libraries/apps, etc.
If you're a DNN developer, all of the instructions you should need are in the project README, including a useful video showing you everything.
https://github.com/UpendoVentures/generator-upendodnn#readme
The following types of DNN extensions are directly supported as generated projects in your DNN solution.
- Solution Structure - Use this first, if this is a new project and no solution exists yet. This contains all of the expected solution structure and the required dependencies for the build process.
- Authentication Provider - This is a great starting point for creating your own authentication provider to replace the default login in DNN.
- Library - If you need to build a library for anything, such as integrating with your own (or other) systems, new business logic layer, or any other DLL you need, this is where you may consider starting, unless it's a DLL that already has a project type below (e.g., scheduled job, HCC gateway, etc.).
- Library: Scheduled Job - Scheduled jobs can be very useful in DNN, and this project type helps you quickly build out your own scheduled job in DNN that can perform any kind of scheduled logic you can imagine writing in code.
- Module: MVC - Helps you build a module using the MVC development pattern.
- Module: MVC+SPA - If you wish to use Angular with the MVC development pattern, use this template.
-
Module: SPA - There are options, based on your comfort and preference with one of the common SPA frameworks below, using the DNN SPA module development pattern.
- Angular
- ReactJS
- Vue 2
- Vue 3
- Module: Webforms - This is the most common type of module, historically.
- Persona Bar - Based on VueJS.
- Theme Object - Also known as a skin object, based on webforms.
- Hotcakes Commerce - If your project is using HCC, there's a template for that too!
Here are some resources for those of you who would like to help build and iterate on the upendodnn generator
.
First, get to know how to write a Yeoman generator.
Next, install this generator.
Now, you'll want to use your normal cloning technique to clone the repository to your development computer.
Finally, if you want to test the code you're writing - and you should - then, use the command prompt to navigate to the root folder where the generator project has been cloned in your file system. Your command to get to the root folder might look like the example below.
Command
cd C:\MyStuff\UpendoDnnGenerator\source-code\
Once you're there and you confirm this is the correct working directory, you will run the next command. You should see a package.json
in the same root folder, and the first line of real code in that file should "name": "generator-upendodnn"
.
Command
npm link
That's it! The next time you run the yo upendodnn
command, you should see your updates and/or errors to debug because of your updates. :)
To view a list of the generators you have installed, run the following command: yo --generators
If you're running into weird issues with Yeoman, you can run the following command to troubleshoot it: yo doctor
When this happens, it's probably because you're using some older node dependencies. Delete the node_modules
folder in the generator source code folder where you're developing (e.g., C:\Work\Generator-UpendoDNN\source-code\node_modules`). It's sometimes necessary to reboot as well.
Next, using the command line, navigate back to the source code folder, and run the npm install
command.
Once completed, in the command line window, you should now be able to navigate to your clean/test folder and the yo upendodnn
command should work, and the running code should be the source code.
You're in luck... We have a documentation article on how to debug, just for you! :)
Like what we're doing? Please sponsor us. Any amount is appreciated! 🙏🏽
This project is owned and maintained by Upendo Ventures, LLC for the benefit of everyone in the DNN CMS Community & Ecosystem.