The requirements to setup, develop, and build this project are listed below.
.NET SDK 8.0 or newer
- https://dotnet.microsoft.com/en-us/download/dotnet/8.0
- See
global.json
file for specific SDK requirements
- Node.js 20.10.0 or newer
- NVM for Windows to manage multiple installed versions of Node.js
- See
engines
in the solutionpackage.json
for specific version requirements
- VS Code
- Visual Studio
- Rider
SQL Server 2019 or newer compatible database
- MS SQL Server Management Studio
- Azure Data Studio
Running the sample project requires creating a new Xperience by Kentico database using the included template.
Change directory in your console to ./examples/DancingGoat
and follow the instructions in the Xperience
documentation on creating a new database.
To run the Sample app Admin customization in development mode, add the following to your User Secrets for the application.
"CMSAdminClientModuleSettings": {
"kentico-xperience-integrations-tagmanager": {
"Mode": "Proxy",
"Port": 3009
}
}
-
Create a new branch with one of the following prefixes
feat/
- for new functionalityrefactor/
- for restructuring of existing featuresfix/
- for bugfixes
-
Run
dotnet format
against thesrc/Kentico.Xperience.TagManager
projectuse
dotnet: format
VS Code task. -
Commit changes, with a commit message preferably following the Conventional Commits convention.
-
Generate a local package using the VS Code
.NET: pack (TagManager)
task or execute its command and arguments at the command line This will generate a newKentico.Xperience.TagManager
package in thenuget-local
folder with a version matching the version in yourDirectory.Build.props
-
Update the
Directory.Packages.props
to populate theKentico.Xperience.TagManager
packageVersion=""
with the matching the value from the project'sDirectory.Build.props
In the future, we will be able to use floating versions to automatically select the highest (local) package version
-
Update the
nuget.config
by uncommenting the<package pattern="Kentico.Xperience.TagManager" />
entry in<packageSource key="LocalPackages">
. This will tell NuGet to resolve the current library from the local nuget package folder instead of the class library. -
Build the solution with the
LOCAL_NUGET=true
propertyYou can use the VS Code
.NET: build (Solution) - LOCAL_NUGET
task -
Make sure the
Kentico.Xperience.TagManager.dll
version in theexamples\DancingGoat\bin\Debug\net6.0\
folder is the right version -
Run the
DancingGoat
application and ensure all functionality is correctYou can use the
.NET Launch (DancingGoat) - LOCAL_NUGET
lauch setting in VS Code -
Undo the
Directory.Packages.props
version number andnuget.config
changes to ensure they are not committed to the repository -
Perform a normal build to reset any modified
packages.lock.json
files, which were modified when switching from a class library to a NuGet reference
Once ready, create a PR on GitHub. The PR will need to have all comments resolved and all tests passing before it will be merged.
- The PR should have a helpful description of the scope of changes being contributed.
- Include screenshots or video to reflect UX or UI updates
- Indicate if new settings need to be applied when the changes are merged - locally or in other environments