Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Auto spin up local Dnn instance, with module on page, and debugger attached - to streamline local debugging! #14
At the moment, there is a small bit of additional effort that a developer must go through in order to have a working dev environment. There is also a small bit of effort that a developer must go through before they can test / debug each module for the first time.
Per Dev Environment:
Per Module being developed:
How this feature will work
When a developer is ready to run / debug a module they will run a command in the package manager console window:
This command is fairly lengthy, so the developer would probably just hit "up" on the keyboard and then "enter" to re-rerun it within the package manager console whenever required.
The result would be, they would be presented with a browser window displaying their module on a page, and with the VS debugger attached. This would be the equivalent in a Website project to clicking the "play" button in vs.
To explain this command:
First time - vanilla environment.
The first time this command is run on a vanilla environment it will be slower due to having to perform those one time costs that a developer would previously of had to do manually:
Subsequent times this command is run though, it should be speedier:
Things that occur every time the command is run, and may vary considerably in time:
A problem with downloading the installation zip for the DotNetNuke website on the fly, is that the download URL's may change over time. Ideally i'd like something that I am in control of so that the downloads are in a known location. This means I need to host the Dnn Installation packages somewhere that the DnnPackager can download them from. The easiest location I can think of is to put them in a public GitHub repo as that then is essentially free hosting, and I can retain ownership of that repository.
The download process then could either use
Let's go full out. Let's create a full on VS project system / flavour so that i can take full control over the VS run / deploy commands. That way it gets rid of the powershell command and the developer can just run the project as normal and let the magic unfold