The requirements to setup, develop, and build this project are listed below.
.NET SDK 7.0 or newer
- https://dotnet.microsoft.com/en-us/download/dotnet/7.0
- See
global.json
file for specific SDK requirements
- Node.js 18.12.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 example 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 example project Admin customization in development mode, add the following to your User Secrets for the application.
"CMSAdminClientModuleSettings": {
"kentico-xperience-integrations-lucene-admin": {
"Mode": "Proxy",
"Port": 3009
}
}
The Xperience web application requests client modules from a webpack dev server that runs parallel to the Xperience application.
Changes to client code are immediately integrated and don’t require a restart or rebuild of the web application.
Before you start developing, the webpack server needs to be manually started by running
npm run start
from the root of the module folder, in our case in the /src/Kentico.Xperience.Lucene.Admin/Client
folder.
-
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 theKentico.Xperience.Lucene
solutionuse
.NET: format (Lucene)
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 (Lucene)
task or execute its command and arguments at the command line This will generate a newKentico.Xperience.Lucene.Admin
package in thenuget-local
folder with a version matching the version in yourDirectory.Build.props
-
Update the
Directory.Packages.props
to populate theKentico.Xperience.Lucene.Admin
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
-
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.Lucene.Admin.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 change to ensure it is not committed to the repository -
Perform a normal build to reset any modified
packages.lock.json
files
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