As a low code developer, every now and then I dip my toes in hard core development. Today I wanted to tried out the new mvc rendering pipeline that Sacha Trauwaen is building for DNN.
The solution Sacha is bringing, should improve the speed of the dnn sites, amongst creating a path forward to a .Net core version of DNN. Have side by side rendering engines allows user to mix and match extensions that are (in)dependent of system.web for their front-end rendering.
Creating a dev version of DNN from the source code was a bit more work than anticipated, first I create a fork of the DNN.Platform on GitHub. Next I started Visual Studio 2022 and cloned the repo, after getting some coffee, it was done
Next I read the docs, especially the: build docs (https://github.com/schotman/Dnn.Platform/blob/develop/.github/BUILD.md) as DNN cannot be build by hitting F5 in VS.
The docs required me to create an empty database with the necessary permissions for the DB user (he must be owner), and of course new IIS website, this is all daily bread for DNN consultants. After these steps I need to run
.\Build.ps1 --target=CreateSettings
To get myself a settings file called settings.local.json the needs to be in the root of local repo folder. After filling in all the necessary fields, I could run:
.\Build.ps1 --target=ResetDevSite
Of course, it is not that easy, the build process started complaining that I my whatever sdk version 9.0.102 was installed (I had 9.0.100 which works fine as well), noor did I have the right node.js version. Fortunately, after installing the new node package the installer run until the end and seemed successful. It took a while though, but it is a onetime action.
Next I could start the new DNN site, which started ok-ish, but it had a strange version number, version 09.06.00 while the code base is 09.13.08.
After various unsuccessful re-attempts, I turned to the DNN discord page. There I quickly got some pointers from Jeremy Farrance and Daniel Valadas (thanks guys) that put me on the right track.
I seems that the file gitversion.yml got a property called “next-version” which has the value 9.6.0. this may have directed the build process to create a 09.06.00 DNN version. You can require s specific version to be build by setting the “Version” property to a specific version: "Version": "09.13.08" in the settings.local.json
After changing this value all was good, I got myself a brand new dnn 09.13.08 application.