What settings will be deployed to the solution

Although the PowerServer C# solution allows you to make changes to it, you will have to be aware that some settings in the solution might be updated every time when the PowerServer project is built and deployed in the PowerBuilder IDE.

PowerServer project settings

Will be updated to

By

Overwrite strategy

.NET Server page > Advanced tab > Auth Template

ServerAPIs project > Authentication

Build

When selecting a different authentication template, you will be prompted whether to overwrite the existing authentication.

.NET Server page > Advanced tab > Namespace

AppModels project

Build

Overwritten all the time.

.NET Server page > Basic tab > Port number in the "Web API URL" group box

ServerAPIs project > Properties > launchSettings.json > port number in "applicationUrl"

Note: this port number will be used in the development environment.

Deploy

Determined by the "Overwrite server settings (DB connection, .NET server listening port, and license)" option.

When the option is selected, the port number in "applicationUrl" will be updated, otherwise it will not be changed.

.NET Server page > Basic tab > [/path] in the "Web API URL" group box

ServerAPIs project > Server.json > "PathBase"

Deploy

Determined by the "Overwrite server settings (DB connection, .NET server listening port, and license)" option.

When the option is selected, the path in "PathBase" will be updated, otherwise it will not be changed.

URL in the "Web API URL" group The complete URL will be deployed to Web server Deploy Overwritten all the time.

.NET Server page > Basic tab > License settings

ServerAPIs project > Server.json > "PowerServer" > "LicenseKey" and "LicenseCode"

Deploy

Determined by the "Overwrite server settings (DB connection, .NET server listening port, and license)" option.

When the option is selected, both "LicenseKey" and "LicenseCode" will be updated, otherwise they will not be changed.

Database page > Advanced tab > the current DB connection profile

ServerAPIs project > AppConfig > AppConfig.json

Deploy

Overwritten all the time.

Database page > Advanced tab > database caches configured in all DB connection profiles

ServerAPIs project > AppConfig > Applications.json or Applications.[DBConnectionProfile].json > "Connections" > "Default" > [cache name]

("Default" refers to the default cache group.)

Deploy

Determined by the "Overwrite server settings (DB connection, .NET server listening port, and license)" option.

New caches will be added regardless if this option is selected or not.

If there are multiple caches, there will be multiple [cache name] blocks. When this option is selected, and if a cache with the same name is configured in the Database page, the corresponding [cache name] block will be overwritten; if there is no cache with the same name in the Database page, the [cache name] block will not be overwritten. When this option is not selected, all [cache name] blocks will not be overwritten.

By the way, if you create new cache groups (besides "Default"), these new cache groups will not be overwritten regardless if this option is selected or not.

Database page > Advanced tab > transaction-to-cache mappings configured in all DB connection profiles

ServerAPIs project > AppConfig > Applications.json or Applications.[DBConnectionProfile].json > "Applications" > [app name] > "CloudTransactions" > [transaction name]

Deploy

Determined by the "Overwrite server settings (DB connection, .NET server listening port, and license)" option.

New transactions will be added regardless if this option is selected or not.

If there are multiple transaction objects, there will be multiple [transaction name] blocks. When this option is selected, and if a transaction object with the same name is configured in the Database page, the corresponding [transaction name] block will be overwritten; if there is no transaction with the same name in the Database page, the [transaction name] block will not be overwritten. When this option is not selected, all [transaction name] blocks will not be overwritten.