To ensure schema and data updates to the application are synchronized with the code, follow the guidance in the Xperience docs for Continuous Integration.
If you are planning to make changes and contribute updates to the application, create a branch. See: Contributing for more details.
Run the CI Restore PowerShell script to populate the database with changes from the CI Repository
-
Use the VS Code task
Xperience: CI Restore
-
(alternative) Use the script directly
cd scripts
.\Restore-CI.ps1
-
Install and build the client dependencies
-
Use the VS Code task
npm: dev (Web)
-
(alternative) Run
npm install
and thennpm run dev
at the command line in the.\src\Kentico.Community.Portal.Web
directory -
(alternative) Run
Run-Web-Client.ps1
from the command line in the.\scripts
directory -
Use the VS Code task
npm: dev (Admin)
-
(alternative) Run
npm install
and thennpm run dev
at the command line in the.\src\Kentico.Community.Portal.Admin\Client
directory -
(alternative) Run
Run-Admin-Client.ps1
from the command line in the.\scripts
directory
-
-
Enable Azurite for local Azure Storage access
- Install the VS Code extension (installed with recommended extensions)
- Run Azurite from the VS Code command palette (
ctrl+shift+p
) withAzurite: Start
- (alternative) Use the Azurite documentation to install or start it with your IDE of choice
- (alternative) Disable Support Request Processing via your User Secrets configuration (see
SupportRequestProcessing
inappsettings.json
). This will disable the code from executing that requires Azurite
-
Launch server. App should now be running on localhost (see:
README.md
for ports)- Use the VS Code task
.NET: watch (Web)
- (alternative) Use the VS Code
.NET Debug and Hot Reload
Launch Configuration - (alternative) Start in VS
- Use the VS Code task
This project uses Webpack for Xperience Admin customizations in the Kentico.Community.Portal.Admin
project.
It uses Vite.js to serve and bundle client assets for the Xperience application Kentico.Community.Portal.Web
. The ASP.NET Core application proxies requests for static assets to the Vite dev server using the Vite.AspNetCore integration.
All generated production build client assets are ignored by source control and in a development environment client assets are served from the Vite dev server during development, so none of these assets will be visible on the file system when beginning development.
You will need to start the following servers to fully develop the application
- ASP.NET Core application -
.NET: watch (Web)
VS Code task - Vite dev server -
npm: dev (Web)
VS Code task- (alternative) Run
Run-Web-Client.ps1
from the command line in the.\scripts
directory
- (alternative) Run
- Webpack dev server -
npm: dev (Admin)
VS Code task- (alternative) Run
Run-Admin-Client.ps1
from the command line in the.\scripts
directory
- (alternative) Run
The Vite build process compiles the SCSS and JS in the ~/Client
folder into the ~/wwwroot/dist
folder during production builds. The generated CSS is trimmed using PurgeCSS to match what is being used in the .cshtml
templates.
After applying a new hotfix or Refresh, create
a backup of the database - either a .bacpac
or .bak
file and add it to the .\database
folder.
Then, add its file name to the first line of backups.txt
to make this new backup the starting point for any CI tests. This will also be the backup that developers new to the project will use when setting up their environment.
Finally, create a .zip
of the backup file, in the .\database
folder, with the same name as the backup, appended with .zip
.
The local administrator account credentials are:
- Username: administrator
- Password: Pass@12345
You can create a local user account once you login as administrator.