Page tree
Skip to end of metadata
Go to start of metadata

Summary: This section of documentation provides an explanation of how to run install, re-install and other CAST Server Manager tasks in an automated and repeatable way.

Introduction

The install/reinstall/update/uninstall of CAST AIP schemas and extensions is achieved using the GUI based application CAST Server Manager with the following menu options:

  • Schema Installation > Schema Installation
  • Schema Installation > Upgrade Installation
  • Schema Installation > Component Uninstall
  • Schema installation > Manage Extensions
  • Schema Installation > Troubleshooting > Remove Locks

If you need to automate these tasks, then you can do so by using the CLI (Command Line Interface) provided with the CAST Server Manager. This document explains how.

Prerequisites

Before you can starting using the CAST Server Manager CLI, you must ensure that you meet the following requirements:

(tick)An installation of CAST AIP is required, which must be located on the machine you wish to run the CLI from.
(tick)A CAST Server Manager connection profile specifying the target CAST Storage Service must already exist.

How does it work?

The CAST Management Studio CLI includes the following command arguments which allow you to automate all tasks. To execute an action via the command line, you must specify the SERVMAN.exe executable. Command arguments are expressed as verbs and then various mandatory and optional (enclosed in square brackets) options. Each command argument verb and various examples is listed and explained below.

Output codes

The CLI will return two output codes:

  • 0 = No error
  • 2 = Error exists

To force the display of an output code, CAST highly recommends running the CLI using a batch script file and using the following %ERRORLEVEL% syntax:

@echo off
SERVMAN.exe (command line)
echo %ERRORLEVEL%
pause

Commands

-INSTALL_COMBINED

 Click here to expand...

Available for CAST AIP ≥ 8.3.8 only.

-INSTALL_COMBINED(prefix:="<schema_prefix>", deliveryfolder:="<folder_path>", [extensions:="<filename.txt>"])

This command is equivalent to the Schema Installation option in the GUI for "combined" and will:

  • create a combined installation from scratch (Management, Analysis and Dashboard Service schemas)
  • provide a means to specify any additional extensions that need to be installed to the new combined installation (over and above the extensions that are always installed with CAST AIP)
  • configure the Delivery folder path for the combined installation

Notes

  • No CAST Management Studio connection profile is created for the new combined installation. You will need to create one manually.

Options

OptionsMandatory?Description
prefix:="<schema_prefix>"(tick)

Specifies the prefix to be used for the names of the CAST AIP schemas that will be installed:

  • <schema_prefix>_MNGT > Management Service
  • <schema_prefix>_LOCAL > Analysis Service
  • <schema_prefix>_CENTRAL > Dashboard Service
deliveryfolder:="<folder_path>"(tick)

Specifies the path to the Delivery folder.

Note that this option is required, however, it has no impact at the current time. It will be used in a future release of CAST AIP.
[extensions:="<filename.txt>"](error)

Specifies additional CAST AIP extensions you wish to install to your new combined installation. These extensions should already exist in:

%PROGRAMDATA%\CAST\CAST\Extensions

All "shipped extensions" are always installed regardless of whether the option is used or not. See Format of [extensions:="<filename.txt>"] for more information about how to use the .txt file.

[assessmentModel:=<empty|default>](error)

This option is ONLY for CAST internal usage or when requested to use it by CAST Support.

  • empty > Allows a combined schema installation to be created without any Assessment Model
  • default > Standard combined schema installation with default Assessment Model. This is the behaviour when the option is omitted.

-CONNECT_STRING

(tick)Use this option to specify the host CAST Storage Service/PostgreSQL instance.

-LOG

(error)Use this option to specify a log file.

Example

The following command line:

  • installs a combined installation with the prefix "test".
  • installs all additional CAST AIP extensions listed in the file "D:\extensions.txt".
  • sets the Delivery folder location for this combined installation to "C:\CASTMS\Delivery".
  • connects to the CSS3 on localhost.
  • generates a log file in C:\log.castlog saving in immediate mode.
SERVMAN.EXE -INSTALL_COMBINED(prefix:="test", extensions:="D:\extensions.txt", deliveryfolder:="C:\CASTMS\Delivery") -CONNECT_STRING("MY_CSS_HOST:2282",operator,CastAIP) -LOG(C:\log.castlog, -IMMEDIATE)

-MODIFY_COMBINED

 Click here to expand...

Available for CAST AIP ≥ 8.3.8 only.

-MODIFY_COMBINED(management:="<mngt_name>", [assessmentModel:=<activateNewRules|disableNewRules|replaceByNewAssessmentModel>], [extensions:="<filename.txt>"], [installLatestDependencies:=<true|false>], [skipLookupLegacyUADefaultLocation:=<true|false>])

This command is multi-functional that is aimed at two scenarios:

  • Upgrade an existing combined installation (Management, Analysis and Dashboard Service schemas) to a new release of CAST AIP - equivalent to the Upgrade Installation option in GUI.
  • Install new extensions, upgrade existing extensions or deactivate existing extensions to an existing combined installation (Management, Analysis and Dashboard Service schemas) - equivalent to the Manage Extensions option in the GUI.
  • A combination of the above can also be run.

An upgrade will always be run when the Management Service schema referenced in the management:="<mngt_name>" option was installed with an older release of CAST Server Manager. Therefore, if you only need to work with extensions then you should ensure that the release number of CAST Server Manager and the release number of the Management Service schema are identical.

Options

OptionMandatory?Description
management:="<mngt_name>"(tick)

Specifies the name of the Management Service schema for the Combined Installation you want to run the option on. An upgrade will always be run when the Management Service schema referenced in the management:="<mngt_name>" option was installed with an older release of CAST Server Manager

[assessmentModel:=<activateNewRules|disableNewRules|replaceByNewAssessmentModel|leaveUnchanged>](error)

This option is only applicable when running an Upgrade and must not be used when working only with extensions. It enables you to choose your Assessment Model upgrade strategy. There are three parameter values available for this option (these parameter values are discussed in AIP Core - Application - schema upgrade on each AIP Node):

  • activateNewRules
  • disableNewRules
  • replaceByNewAssessmentModel
  • leaveUnchanged (available from 8.3.29 - this option is ONLY for CAST internal usage or when requested to use it by CAST Support. When selected no Assessment Model upgrade is performed for the Management schema)

If the option is omitted when running an upgrade, the default parameter value is set to activateNewRules.

[extensions:="<filename.txt>"](error)

See Format of [extensions:="<filename.txt>"] for more information about how to use the .txt file.

When an upgrade is run

  • If you do not specify a .txt file, then the following will occur:
    • extensions shipped with CAST AIP and not already installed will be automatically installed
    • any previously installed extensions will not be automatically upgraded, even if a more recent version of an extension is shipped with the new release of AIP or has been downloaded to the workstation manually. To benefit from latest improvements and bug fixing in the most recent extension version, you need to explicitly list the extensions you want to upgrade/install during the CAST AIP upgrade.
  • If you specify a .txt file containing a list of extensions, then the following will occur:
    • extensions shipped with CAST AIP and not already installed will be automatically installed
    • any previously installed extensions listed in the .txt file will be upgraded
    • any previously installed extensions listed in the .txt file for deactivation will be deactivated
    • any extensions listed in the .txt file that are not already installed will be installed

When an upgrade is not run

In this scenario, the purpose is to install, upgrade or deactivate extensions, therefore you should specify a .txt file and list the extensions you want to work with.

For all scenarios, any extensions listed in the .txt file for upgrade/installation should already exist in:

%PROGRAMDATA%\CAST\CAST\Extensions
[installLatestDependencies:=<true|false>](error)

This option is set to true if omitted. Will automatically install any required dependencies of the extension(s) specified in [extensions:="<filename.txt>"]:

  • true - will select the most recent version available (i.e. highest number)
  • false - will select the oldest version available (i.e. lowest number) - this is not recommended except in specific circumstances.

Both will only consider compatible versions.

[skipLookupLegacyUADefaultLocation:=<true|false>](error)

This option is set to true if omitted. Prevents the installation of extensions from the legacy %PROGRAMDATA%\CAST\CAST\<version> location on disk (this was the location used to install extensions prior to the introduction of the CAST Extension Downloader):

  • true - none of the content of %PROGRAMDATA%\CAST\CAST\<version> location will be used
  • false - any content found in %PROGRAMDATA%\CAST\CAST\<version> location will be used
Setting this option to false is not recommended and should only be done when requested by CAST Support.
[installationStrategy:=<regular|optimized>](error)

Available in CAST AIP ≥ 8.3.20. This option is set to optimized if omitted. Provides a more streamlined process when running -MODIFY_COMBINED to install/upgrade/deactivate extensions. Using regular will run -MODIFY_COMBINED as in CAST AIP ≤ 8.3.19.

Setting this option to regular is not recommended and should only be done when requested by CAST Support.

-CONNECT_STRING

(tick)Use this option to specify the host CAST Storage Service/PostgreSQL instance.

-LOG

(error)Use this option to specify a log file.

Example

The following command line:

  • Will run an upgrade on the Management Service schema called "app1" and the associated Analysis and Dashboard Service schemas - i.e. in this scenario, the combined installation schemas were installed with an older release of CAST AIP, therefore CAST Server Manager has determined that an upgrade will be run.
  • uses the Management Service schema located on the CAST Storage Service 3 installed on the server "localhost".
  • generates a log file in C:\log.castlog saving in immediate mode.
SERVMAN.EXE -MODIFY_COMBINED(management:="app1", assessmentModel:=activateNewRules, extensions:="D:\extensions.txt", installLatestDependencies:=true) -CONNECT_STRING("MY_CSS_HOST:2282",operator,CastAIP) -LOG(C:\log.castlog, -IMMEDIATE)

-REMOVE_LOCKS

 Click here to expand...

Available for CAST AIP ≥ 8.3.6 only.

-REMOVE_LOCKS(management:="<mngt_name>")

This option runs the remove locks option on the Management, Analysis and Dashboard Service schemas that are part of a Combined Installation (specified via the parent Management Service schema). In most situations, the database locks created by CAST AIP applications are removed after the accompanying process has successfully completed or when the application is closed. However, locks may sometimes remain in place following an application error or if the connection to the database server is lost. This option therefore enables you to clear these locks without having to restart the RDBMS.

Notes

  • If a Measurement Service schema has been installed as part of the Combined Installation, the remove locks option will not function on this Measurement Service schema.
  • The option CANNOT be run on individual schemas (i.e. Measurement Services or other schemas installed as "standalone").

Options

OptionMandatory?Description
management:="<mngt_name>"(tick)

Specifies the name of the Management Service schema for the Combined Installation you want to run the option on.

-CONNECT_STRING

(tick)Use this option to specify the host CAST Storage Service/PostgreSQL instance.

-LOG

(error)Use this option to specify a log file.

Example

The following command line:

  • runs the remove lock option on the Management Service schema called "app1" and the associated Analysis and Dashboard Service schemas.
  • uses the Management Service schema located on the CAST Storage Service 3 installed on the server "localhost".
  • generates a log file in C:\log.castlog saving in immediate mode.
SERVMAN.EXE -REMOVE_LOCKS(management:="app1") -CONNECT_STRING("MY_CSS_HOST:2282",operator,CastAIP) -LOG(C:\log.castlog, -IMMEDIATE)

-UNINSTALL_COMBINED

 Click here to expand...

Available for CAST AIP ≥ 8.3.6 only.

This option will run an uninstall action on the Management, Analysis and Dashboard Service schemas that are part of a Combined Installation (specified via the parent Management Service schema). 

Notes

  • If a Measurement Service schema has been installed as part of the Combined Installation, the uninstall option will not function on this Measurement Service schema.
  • The option CANNOT be run on individual schemas (i.e. Measurement Services or other schemas installed as "standalone").
  • The schemas are deleted and all data is irrecoverably lost.

Options

OptionMandatory?Description
management:="<mngt_name>"(tick)

Specifies the name of the Management Service schema for the Combined Installation you want to run the option on.

-CONNECT_STRING

(tick)Use this option to specify the host CAST Storage Service/PostgreSQL instance.

-LOG

(error)Use this option to specify a log file.

Example

The following command line:

  • runs the uninstall option on the Management Service schema called "app1" and the associated Analysis and Dashboard Service schemas.
  • uses the Management Service schema located on the CAST Storage Service 3 installed on the server "localhost".
  • generates a log file in C:\log.castlog saving in immediate mode.
SERVMAN.EXE -UNINSTALL_COMBINED(management:="app1") -CONNECT_STRING("MY_CSS_HOST:2282",operator,CastAIP) -LOG(C:\log.castlog, -IMMEDIATE)

Options

-CONNECT_STRING

 Click here to expand...

-CONNECT_STRING("<server_name/IP_address:port>",<username>,<password>)

This option provides a means to connect to the required CAST Storage Service for use with certain other CLI functions:

Notes

  • The option only functions with a CAST Storage Service.

Options

"<server_name/IP_address:port>"

Specifies the target CAST Storage Service using the server DNS name or IP address and port number:

  • CAST Storage Service 3: [SERVER_DNS_NAME]:2282 or [SERVER_IP_ADDRESS]:2282

  • CAST Storage Service 2: [SERVER_DNS_NAME]:2280 or [SERVER_IP_ADDRESS]:2280

username

Provide the username to access the CAST Storage Service. Default username for the CAST Storage Service is "operator".

<password>

Password that corresponds to the specified username. Default password for the "operator" user is "CastAIP".

Example

-CONNECT_STRING("MY_CSS_HOST:2282",operator,CastAIP)

-LOG

 Click here to expand...

-LOG(<filename>,[<arguments>],[<maxlines>])

This option defines the log file.

Notes

  • If not specified, the default logging location will be used.
  • If you need to specify more than one argument, please separate the arguments with a space: SERVMAN.EXE -LOG(c:\log.castlog, -IMMEDIATE -TRUNCATE).
  • If you are only specifying one argument, you can also use the argument without a dash and without an initial space: SERVMAN.EXE -LOG(c:\log.castlog,IMMEDIATE).
  • If you want to rapidly deactivate an option, you can use the "!" character after the dash: SERVMAN.EXE -LOG(c:\log.castlog, -!IMMEDIATE -!TRUNCATE).

Options

  • <filename> specify the name and location of the output log file (use the .castlog extension)
  • <arguments> specify any of the following log file parameters
-USELOGFILEactivates the use log file mode
-IMMEDIATEactivates the immediate save mode (i.e. entries will be written to the log file every time a message is sent by the server or by Server Manager.)
-TRUNCATEactivates the truncate file mode (i.e. the log file will be emptied each time Server Manager is executed.)
  • <maxlines> sets the log file's maximum length

Example

The following command line activates saving to the log file in immediate mode:

-LOG(c:\log.castlog, -IMMEDIATE)

Format of [extensions:="<filename.txt>"]

 Click here to expand...

When using the -INSTALL_COMBINED and -MODIFY_COMBINED commands, it is possible to use an option called [extensions:="<filename.txt>"]. The .txt file uses the following format:

<EXTENSION_1>,<EXTENSION_2>,<EXTENSION_3>=remove,<EXTENSION_4>=1.4.0-funcrel

Where extension IDs are separated by a comma:

  • <EXTENSION_1> - the extension ID. For example, for the JAX-WS extension this is com.castsoftware.jaxws. You can find this ID in a number of places. For example in %PROGRAMDATA%\CAST\CAST\Extensions, the ID is the name of the folder containing the extension, minus any version numbers:

  • <EXTENSION_3>=remove - this signifies that the extension should be deactivated
  • <EXTENSION_4>=1.4.0-funcrel - this signifies that the "1.4.0-funcrel" version of the extension should be installed/upgraded

For example, the following will:

  • install/upgrade the latest versions of the JAX-WS and .NET Analyzer extensions
  • deactivate the Python extension
  • install/upgrade version 1.4.0-funcrel of the SpringData extension
com.castsoftware.jaxws,com.castsoftware.dotnet,com.castsoftware.python=remove,com.castsoftware.springdata=1.4.0-funcrel

Deprecated commands

-INSTALL_CONFIG_FILE (<Path to XML file>)

This option enables you to specify the XML file that contains the specific database install/re-install instructions. Below is a list of the tags that you can use to perform the necessary tasks:

This command is deprecated. You should use -INSTALL_COMBINED or -MODIFY_COMBINED instead.

Installing/refreshing schemas individually

 Click to expand...

This command is deprecated. You should use -INSTALL_COMBINED or -MODIFY_COMBINED instead.

The target database/schema MUST ALREADY EXIST before executing the commands.

TagsAttributes/ContentsRequired?ExplanationNotes
<?xml version="1.0" encoding="ISO-8859-1"?>
-(tick)This is the root tag and must be present.
<CAST-AutomaticInstall>
-(tick)This tag must be present and all other tags must be contained within it.
<ServerInstall>
Must be located within <CAST-AutomaticInstall>. See below for attributes:(tick)This tag defines the settings for connecting to the target RDBMS/CSS.

ProfileSystem="PROFILE_NAME"
(tick)Specifies the name of the CAST Server Manager connection profile that will be used for connecting to the target RDBMS/CSS.

ServerType="CASTStorageService|Oracle|SqlServer"
(tick)Specifies the type of server you are connecting to. Please use only the appropriate type.

UserSystem="USER_NAME"
(tick)Specifies the user name that will be used for connecting to the target RDBMS/CSS.

SystemPassword="PASSWORD"
(tick)Specifies the password for the User Name that will be used for connecting to the target RDBMS/CSS.

ServerName="CSS_SERVER_NAME:2280|ORACLE_TNS_NAME|MS_SERVER_NAME" 
(error)Specifies the name of the server you are connecting to.
  • Please use either ServerName or ConnectionString - not both!
  • MS_SERVER_NAME can also be of the form COMPUTER\SERVER_NAME

ConnectionString="CONNECTION_STRING"
(error)Specifies the connection string specific to the server you are connecting to.
<InstallDatabase> or <RefreshDatabase>
Must be located within <ServerInstall>. See below for attributes:(tick)

This tag defines the database/schema to be installed and the packages/extensions that will be installed.

Use <InstallDatabase> to install CAST AIP database/schema from scratch. Equivalent to the Database/Schema Installation > Database/Schema Installation option in the GUI.

Use <RefreshDatabase> to run a reinstall of the target CAST AIP database/schema. Equivalent to the Database/Schema Installation > Component Reinstall option in the GUI.

Note that it is ONLY possible to include either ONE single <InstallDatabase> or ONE single <RefreshDatabase> tag in an XML file.

This means that to seamlessly install/re-install all CAST AIP databases/schemas in one go, please create one XML file per CAST AIP database/schema you wish to install/re-install.


DbName="DB_NAME"
(tick)Specifies the name of the database you want to install. This database/schema must ALREADY exist!

DbPassword="DB_PASSWORD"
(tick)Only valid when working with CAST AIP schemas installed on Oracle Server: specifies the password for the corresponding schema defined in "DbName".
<PackName>
Must be located within <InstallDatabase> or <RefreshDatabase>. See below for contents:(tick)

Specifies the "packs" that should be installed to the target CAST AIP database/schema. The list of "packs will differ depending on the type of database you are installing (MNGT/ANALYSIS/DASHBOARD/MEASURE).

Note that you CANNOT mix packs for different CAST AIP database/schemas in one single <InstallDatabase> / <RefreshDatabase> tag and nor can you use multiple <InstallDatabase> / <RefreshDatabase> tags in one single XML file.

Analysis Service database/schema:

<PackName>BASE_LOCAL</PackName>
<PackName>ADG_LOCAL_APPW</PackName>
<PackName>KMS_LOCAL</PackName>
<PackName>KMS2_LOCAL</PackName>
(tick)Use these packs to install an Analysis Service.

Dashboard Service database/schema:

<PackName>ADG_FULL_CENTRAL</PackName>
(tick)Use these packs to install a Dashboard Service.

Management Service database/schema:

<PackName>PMC_MAIN</PackName>
(tick)Use these packs to install a Management Service.

Measurement Service database/schema:

<PackName>AAD_MAIN</PackName>
(tick)Use these packs to install a Measurement Service.
<Plugin>
Must be located within <InstallDatabase> or <RefreshDatabase>. See below for attributes:(error)Specifies the Extension that you would like to install to the target CAST AIP database/schema.

Note that an extension must be installed to the Analysis Service, Dashboard Service and the Management Service.

Measurement Services do not require the installation of extensions


id="EXTENSION_ID"
(error)Specifies the id of the extension to install. 

This extension must exist in:

  • %PROGRAMDATA%\CAST\CAST\Extensions

version="<VERSION_NUMBER> | remove"
(error)

<VERSION_NUMBER>:

Specifies a specific version of an Extension to install. If this is omitted, then the most recent version that has been downloaded will be installed.

remove:

Using version="remove" will deactivate the extension.


<InstallDependencies> 
Must be located within <InstallDatabase> or <RefreshDatabase>. See below for attributes:(error)Only for use when installing an Extension.

strategy="TakeLatest|TakeMinimal"
(error)

Will automatically install any required dependencies of the specified extension(s). CAST recommends using this option otherwise you will need to manually specify the dependencies, which can lead to command line failure if the incorrect dependencies are specified.

  • TakeLatest will select the most recent version available (i.e. highest number)
  • TakeMinimal will select the oldest version available (i.e. lowest number)

Both will only consider compatible versions.

The dependencies must exist in:

  • %PROGRAMDATA%\CAST\CAST\Extension
<SkipLookupLegacyUADefaultLocation/>
Must be located within <InstallDatabase>.(error)Prevents installation of extensions from the legacy %PROGRAMDATA%\CAST\CAST\<version> location on disk (this was the location used to install extensions prior to the introduction of the CAST Extension Downloader). If this parameter is included none of the content of  %PROGRAMDATA%\CAST\CAST\<version> location will be used.

When using "Manage Extensions" in CAST Server Manager GUI, %PROGRAMDATA%\CAST\CAST\<version> is displayed as a single extension named <all users dir>.

Default behaviour is to activate it, and this tag is to disable it.

Notes

  • If the path to the XML file contains white spaces (for example: C:\Script Folder\local.xml) then you must enclose the path with quote marks, e.g.: -INSTALL_CONFIG_FILE ("C:\Script Folder\local.xml")
  • You can only call ONE XML file per command line and within that XML file, only ONE CAST AIP database/schema can be installed/re-installed. As such, if you want to seamlessly install/re-install all CAST AIP databases/schemas in one go, please consider using a batch file to call the command as many time as necessary, and create one XML file per CAST AIP database/schema you wish to install/re-install.
  • CAST AIP Extensions:
    • The above parameters can be used when installing CAST AIP databases/schemas from scratch, or when you want to install the extensions on existing CAST AIP databases/schemas:
      • To install extensions at the same time as installing new CAST AIP databases/schemas, simply include the required parameters alongside the <PackName> parameters
      • To install extensions to existing CAST AIP databases/schemas, remove all <PackName> parameters, and include only the parameters relevant to extensions within the <InstallDatabase> or <RefreshDatabase> tag.
    • CAST AIP extensions must be installed to the AnalysisDashboard and Management Service databases, therefore you need to include the same extension related parameters in each XML file (one for each database) and then run the command line for each XML file.

Examples

The examples given for the CAST Storage Service assume that you are using the operator login with the default password.

Analysis Service
**** This example file contains parameters for use in CAST Storage Service, Oracle and Microsoft environments - remember to remove the elements you do not need ****

**** This example file contains parameters to install a CAST database from scratch. Please change the InstallDatabase parameter to RefreshDatabase if you need to re-install an existing database. For example:
<InstallDatabase DbName="DB_NAME" > becomes <RefreshDatabase DbName="DB_NAME" > ****

CSS (CAST Storage Service)

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ServerName="NEFYN:2280" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ConnectionString="LIBPQ:NEFYN:2280" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >BASE_LOCAL</PackName>
   <PackName >ADG_LOCAL_APPW</PackName>
   <PackName >KMS_LOCAL</PackName>
   <PackName >KMS2_LOCAL</PackName>
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   

  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Oracle

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="TNS_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" DbPassword="DB_PASSWORD" >
   <PackName >BASE_LOCAL</PackName>
   <PackName >ADG_LOCAL_APPW</PackName>
   <PackName >KMS_LOCAL</PackName>
   <PackName >KMS2_LOCAL</PackName>
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Microsoft

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="SERVER_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >BASE_LOCAL</PackName>
   <PackName >ADG_LOCAL_APPW</PackName>
   <PackName >KMS_LOCAL</PackName>
   <PackName >KMS2_LOCAL</PackName>

   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
</InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>
Dashboard Service
**** This example file contains parameters for use in CAST Storage Service, Oracle and Microsoft environments - remember to remove the elements you do not need ****

**** This example file contains parameters to install a CAST database from scratch. Please change the InstallDatabase parameter to RefreshDatabase if you need to re-install an existing database. For example:
<InstallDatabase DbName="DB_NAME" > becomes <RefreshDatabase DbName="DB_NAME" > ****

CSS (CAST Storage Service)

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ServerName="NEFYN:2280" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ConnectionString="LIBPQ:NEFYN:2280" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >ADG_FULL_CENTRAL</PackName>
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Oracle

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="TNS_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" DbPassword="DB_PASSWORD" >
   <PackName >ADG_FULL_CENTRAL</PackName>
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>     
   
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Microsoft

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="SERVER_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >ADG_FULL_CENTRAL</PackName>
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
</InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>
Management Service
**** This example file contains parameters for use in CAST Storage Service, Oracle and Microsoft environments - remember to remove the elements you do not need ****

**** This example file contains parameters to install a CAST database from scratch. Please change the InstallDatabase parameter to RefreshDatabase if you need to re-install an existing database. For example:
<InstallDatabase DbName="DB_NAME" > becomes <RefreshDatabase DbName="DB_NAME" > ****


CSS (CAST Storage Service)

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ServerName="NEFYN:2280" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ConnectionString="LIBPQ:NEFYN:2280" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >PMC_MAIN</PackName>
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Oracle

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="TNS_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" DbPassword="DB_PASSWORD" >
   <PackName >PMC_MAIN</PackName>
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Microsoft

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="SERVER_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >PMC_MAIN</PackName>

   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent that has been downloaded -->
   <Plugin id="com.castsoftware.html5"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
</InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>
Measurement Service
**** This example file contains parameters for use in CAST Storage Service, Oracle and Microsoft environments - remember to remove the elements you do not need ****

**** This example file contains parameters to install a CAST database from scratch. Please change the InstallDatabase parameter to RefreshDatabase if you need to re-install an existing database. For example:
<InstallDatabase DbName="DB_NAME" > becomes <RefreshDatabase DbName="DB_NAME" > ****


CSS (CAST Storage Service)

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ServerName="NEFYN:2280" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ConnectionString="LIBPQ:NEFYN:2280" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >AAD_MAIN</PackName>
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Oracle

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="TNS_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" DbPassword="DB_PASSWORD" >
   <PackName >AAD_MAIN</PackName>   
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Microsoft

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="SERVER_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <InstallDatabase DbName="DB_NAME" >
   <PackName >AAD_MAIN</PackName>
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>

Managing extensions

 Click to expand...

This command is used to install new extensions and upgrade/remove existing extensions.

This command is deprecated. You should use -MODIFY_COMBINED instead.

TagsAttributes/ContentsRequired?ExplanationNotes
<?xml version="1.0" encoding="ISO-8859-1"?>
-(tick)This is the root tag and must be present.
<CAST-AutomaticInstall>
-(tick)This tag must be present and all other tags must be contained within it.
<ServerInstall>
Must be located within <CAST-AutomaticInstall>. See below for attributes:(tick)This tag defines the settings for connecting to the target RDBMS/CSS.

ProfileSystem="PROFILE_NAME"
(tick)Specifies the name of the CAST Server Manager connection profile that will be used for connecting to the target RDBMS/CSS.

ServerType="CASTStorageService|Oracle|SqlServer"
(tick)Specifies the type of server you are connecting to. Please use only the appropriate type.

UserSystem="USER_NAME"
(tick)Specifies the user name that will be used for connecting to the target RDBMS/CSS.

SystemPassword="PASSWORD"
(tick)Specifies the password for the User Name that will be used for connecting to the target RDBMS/CSS.

ServerName="CSS_SERVER_NAME:2280|ORACLE_TNS_NAME|MS_SERVER_NAME" 
(error)Specifies the name of the server you are connecting to.
  • Please use either ServerName or ConnectionString - not both!
  • MS_SERVER_NAME can also be of the form COMPUTER\SERVER_NAME

ConnectionString="CONNECTION_STRING"
(error)Specifies the connection string specific to the server you are connecting to.
<MangagePlugins>
Must be located within <ServerInstall>. See below for attributes:(tick)This tag defines the settings for the "manage extensions" action.

SchemaPrefix="<schema_prefix>"
(tick)

Specifies the schema prefix to be used. For example, SchemaPrefix="TEST" will result in 'manage extensions" action being run on the following schemas:

  • TEST_MNGT
  • TEST_CENTRAL
  • TEST_LOCAL

<Plugin>

Must be located within <MangagePlugins>. See below for attributes:

(tick)Specifies the extensions that you would like to work with.



id="EXTENSION_ID"
(tick)

Specifies the ID of the extension to work with, for example:

com.castsoftware.html5

This extension must already exist in:

  • %PROGRAMDATA%\CAST\CAST\Extensions

version="<VERSION_NUMBER> | remove"
(error)

<VERSION_NUMBER>

Specifies a specific version of an Extension to work with. If this is omitted, then the most recent version that has been downloaded will be used.

remove

Using version="remove" will deactivate the extension.


<InstallDependencies> 
Must be located within <MangagePlugins>. See below for attributes:(error)Used when installing new extensions.

strategy="TakeLatest|TakeMinimal"
(error)

Will automatically install any required dependencies of the specified extension(s). CAST recommends using this option otherwise you will need to manually specify the dependencies, which can lead to command line failure if the incorrect dependencies are specified.

  • TakeLatest will select the most recent version available (i.e. highest number)
  • TakeMinimal will select the oldest version available (i.e. lowest number)

Both will only consider compatible versions.

The dependencies must exist in:

  • %PROGRAMDATA%\CAST\CAST\Extension
<SkipLookupLegacyUADefaultLocation/>
Must be located within <MangagePlugins>. See below for attributes:(error)Prevents installation of extensions from the legacy %PROGRAMDATA%\CAST\CAST\<version> location on disk (this was the location used to install extensions prior to the introduction of the CAST Extension Downloader). If this parameter is included none of the content of  %PROGRAMDATA%\CAST\CAST\<version> location will be used.

When using "Manage Extensions" in CAST Server Manager GUI, %PROGRAMDATA%\CAST\CAST\<version> is displayed as a single extension named <all users dir>.

Default behaviour is to activate it, and this tag is used to disable it.

Notes

  • If the path to the XML file contains white spaces (for example: C:\Script Folder\local.xml) then you must enclose the path with quote marks, e.g.: -INSTALL_CONFIG_FILE ("C:\Script Folder\local.xml")
  • You can only call ONE XML file per command line.

Examples

The examples given for the CAST Storage Service assume that you are using the operator login with the default password.

**** This example file contains parameters for use in CAST Storage Service, Oracle and Microsoft environments - remember to remove the elements you do not need ****

**** This example file contains parameters to work with a set of extensions ****

CSS (CAST Storage Service)

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ServerName="NEFYN:2280" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ConnectionString="LIBPQ:NEFYN:2280" > -->
  <ManagePlugins SchemaPrefix="<schema_prefix>" >
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent version that has been downloaded -->
   <Plugin id="com.castsoftware.angularjs"/>


   <!-- Extensions: deactivate the specified extension -->
   <Plugin id="com.castsoftware.nodejs" version="remove"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   

  </ManagePlugins>
 </ServerInstall>
</CAST-AutomaticInstall>

Oracle

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="TNS_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="Oracle" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <ManagePlugins SchemaPrefix="<schema_prefix>" >
   
   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent version that has been downloaded -->
   <Plugin id="com.castsoftware.angularjs"/>

   <!-- Extensions: deactivate the specified extension -->
   <Plugin id="com.castsoftware.nodejs" version="remove"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
  </ManagePlugins>
 </ServerInstall>
</CAST-AutomaticInstall>

Microsoft

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYYY" ServerName="SERVER_NAME" >
 <!-- <ServerInstall ProfileSystem="PROFILE_NAME" ServerType="SqlServer" UserSystem="XXXX" SystemPassword="YYYY" ConnectionString="CONNECTION_STRING" > -->
  <ManagePlugins SchemaPrefix="<schema_prefix>" >

   <!-- Extensions: install a specific version -->
   <Plugin id="com.castsoftware.html5" version="1.1.0"/>
   
   <!-- Extensions: install most recent version that has been downloaded -->
   <Plugin id="com.castsoftware.angularjs"/>

   <!-- Extensions: deactivate the specified extension -->
   <Plugin id="com.castsoftware.nodejs" version="remove"/>
   
   <!-- Extensions: automatically install any required dependencies, using the most recent version that has been downloaded -->
   <InstallDependencies strategy="TakeLatest"/>

   <!-- Extensions: prevents installation from the legacy %programdata%\CAST\CAST\<version> location -->
   <SkipLookupLegacyUADefaultLocation/>   
   
  </ManagePlugins>
 </ServerInstall>
</CAST-AutomaticInstall>

-UPGRADE

This command is deprecated except where you need to upgrade a Measurement schema. For all other schemas, should use -MODIFY_COMBINED instead.

 Click here to expand...

This option is only to be used in situations where you need to run an upgrade of the CAST Measurement Service schema in CLI mode.

Notes

  • The option MUST be used in conjunction with the -INSTALL_CONFIG_FILE option
  • The XML file specified in the -INSTALL_CONFIG_FILE option MUST ONLY use the <InstallDatabase> tag, and NOT <RefreshDatabase>
  • Measurement Service schemas only function with a CAST Storage Service.

Example

The following command line upgrades a Measurement Service schema from a previous release to the current release.

SERVMAN.EXE -INSTALL_CONFIG_FILE ("C:\Script Folder\measure.xml") -UPGRADE -LOG(c:\log.castlog, -IMMEDIATE)

The XML file specified in the -INSTALL_CONFIG_FILE option should take the following form:

<?xml version="1.0" encoding="ISO-8859-1"?>
<CAST-AutomaticInstall>
<!-- Use either ServerName= or ConnectionString= -->
 <!-- <ServerInstall ProfileSystem="[PROFILE_NAME]" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ServerName="[SERVER]:2280" > -->
 <ServerInstall ProfileSystem="[PROFILE_NAME]" ServerType="CASTStorageService" UserSystem="operator" SystemPassword="CastAIP" ConnectionString="LIBPQ:[SERVER]:2280" >
  <InstallDatabase DbName="[MEASUREMENT_SERVICE_SCHEMA_NAME]">
    <PackName>AAD_MAIN</PackName>
  </InstallDatabase>
 </ServerInstall>
</CAST-AutomaticInstall>


  • No labels