40FINGERS Blog

DNN builden

DNN builden

De nieuwe mvc rendering pipeline

27-01-2025

Als low-code developer stort ik me zo nu en dan op hardcore development. Vandaag wilde ik de nieuwe MVC-rendering pipeline uitproberen die Sacha Trauwaen voor DNN bouwt.
De oplossing die Sacha aandraagt, zou de snelheid van de DNN-sites moeten verbeteren en tegelijkertijd een pad creëren naar een .Net Core-versie van DNN. Door rendering engines naast elkaar bruikbaar te maken, kunnen gebruikers extensies combineren voor beide technologieen.
Het maken van een dev-versie van DNN vanuit de broncode was iets meer werk dan verwacht. Eerst heb ik een fork van het DNN.Platform op GitHub gemaakt. Vervolgens startte ik Visual Studio 2022 en kloonde de repository. 
Vervolgens las ik de documentatie, met name de build docs (https://github.com/schotman/Dnn.Platform/blob/develop/.github/BUILD.md), omdat DNN niet gebouwd kan worden door simpelweg op F5 te drukken in Visual Studio.
De documentatie vereiste dat ik een lege database aanmaakte met de benodigde rechten voor de databasegebruiker (hij moet eigenaar zijn), en natuurlijk een nieuwe IIS-website, gelukkig is dit allemaal dagelijkse kost voor DNN-consultants. Na deze stappen moest ik:

.\Build.ps1 --target=CreateSettings

Om een ​​config bestand met de naam settings.local.json te krijgen, deze moet in de root van de lokale repository map staan. Nadat ik alle benodigde velden had ingevuld, kon ik het volgende uitvoeren:

.\Build.ps1 --target=ResetDevSite

Natuurlijk is het niet zo eenvoudig. Het buildproces begon te klagen dat mijn SDK-versie 9.0.102 was geïnstalleerd (ik had 9.0.100, wat ook prima werkt), en ik had ook niet de juiste Node.js-versie. Gelukkig draaide het installatieprogramma na de installatie van het nieuwe Node-pakket tot het einde en leek succesvol. Het duurde wel even, maar het is een eenmalige actie.

Vervolgens kon ik de nieuwe DNN-site starten, die redelijk goed begon, maar een vreemd versienummer had, versie 09.06.00, terwijl de codebase 09.13.08 is.
Na verschillende mislukte pogingen ging ik naar de DNN Discord-pagina. Daar kreeg ik snel wat tips van Jeremy Farrance en Daniel Valadas (bedankt heren) die me op het juiste spoor zetten. Het lijkt erop dat het bestand gitversion.yml een eigenschap heeft met de naam "next-version" en de waarde 9.6.0. Dit kan het buildproces hebben aangezet om een ​​DNN-versie 09.06.00 te maken. Je kunt een specifieke versie vereisen door de eigenschap "Version" in te stellen op een specifieke versie: "Version": "09.13.08" in settings.local.json.

Nadat ik deze waarde had aangepast, was alles in orde en had ik een gloednieuwe DNN-applicatie voor 09.13.08. Hoera!