### PowerShell Array Example for Server Names Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Demonstrates how to specify multiple application or web server names using PowerShell array syntax. ```PowerShell $targetAppServers = @("server1", "server2") $targetWebServers = @("webserver1", "webserver2") ``` -------------------------------- ### Example archITekt Reconfiguration Script Source: https://architekt.vsoft.pl/docs/en/Publication/Reconfiguration_of_the_application Demonstrates how to execute the archITekt Reconfigure script with various parameters, including setting configuration keys, enabling SSO, resetting passwords, and specifying project paths. ```PowerShell cd "C:\Program Files\VSoft\archITekt\Images\dev" .\Reconfigure.ps1 ` -pathProjectFolder " C:\VSoft\Projects\SAMPLE1" ` -envName "My new name" ` -reservedPortsBlockBegin "49000" ` -securityMode NONE ` -licenseFilePath "C:\My.new.license.xml" ` -configKeys "{ \"custom.myvariable\": \"specyfic value\" }" ` -FeatureSSO "On" ` -ResetDbPasswords ` -SetVipPasswords @{ "admin": "newpassword" } ``` -------------------------------- ### Database Initialization Scripts Source: https://architekt.vsoft.pl/docs/en/Publication/Technical_details_of_the_installation These SQL scripts are used for initializing the database server. They handle the creation of logins, databases, and granting necessary permissions. Specific scripts are called based on the database engine and environment setup. ```SQL Database script for login creation: .\Database\ScriptsMASTER\MASTER\_RUNTIME\MYDBENGINGE\!INITIALIZATION\ 001\_CreateLoginInMaster.sql Database script for environment database creation: .\Database\ScriptsMASTER\MASTER\_RUNTIME\MYDBENGINGE\!INITIALIZATION\*CreateDatabase\*.sql Database script for VERSION_SERVER database (SQL Server only): \Database\ScriptsMASTER\MASTER\_PROJECT\MYDBENGINGE\!INITIALIZATION\*CreateDatabase\*.sql General script path for granting permissions: .\Database\ScriptsMASTER\[nazwa bazy]\MYDBENGINGE\ Runtime script path for database modifications: .\Database\Scripts\[database name]\**MYDBENGINGE**\ ``` -------------------------------- ### PostgreSQL pg_ident.conf Configuration Example Source: https://architekt.vsoft.pl/docs/en/Publication/Preparation_of_infrastructure_on_the_OnPremises_environment Example of mapping domain users to PostgreSQL accounts in the pg_ident.conf file for PostgreSQL authentication. ```SQL map "MYDOMAIN_MAP" { ^{"sample.user@mydomain" = "sample.user"}; } ``` -------------------------------- ### Example: InstallOrUpdate Environment Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Provides a concrete example of running the InstallOnPremises.ps1 script to execute the 'ClusterInstallOrUpdate' command, illustrating typical usage. ```PowerShell cd "C:\Program Files\VSoft\archITekt\Images\dev" .\InstallOnPremises.ps1 \ -PathProjectFolder "C:\VSoft\Projects\SAMPLE1" \ -SetupCommand "ClusterInstallOrUpdate" ``` -------------------------------- ### Domain Account Installation Parameters Source: https://architekt.vsoft.pl/docs/en/Publication/Preparation_of_infrastructure_on_the_OnPremises_environment Parameters required for configuring the application to run under a specified domain account during installation. ```APIDOC applicationCredentialUser: type: string description: The domain username for the application service account. format: DOMAIN\user applicationCredentialPassword: type: string description: The password for the specified domain user. applicationDbAuthentication: type: string description: The method for authenticating the application with the database. enum: [UserPassword, Windows] ``` -------------------------------- ### Example archITekt OnPremisesCreate.ps1 Script Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Demonstrates the usage of the OnPremisesCreate.ps1 PowerShell script with a comprehensive set of parameters for configuring an archITekt on-premises environment, including environment names, database settings, server addresses, and feature flags. ```powershell cd "C:\Program Files\VSoft\archITekt\Images\dev" ./OnPremisesCreate.ps1 ` -envName "My sample application" ` -technicalName "SAMPLE1" ` -parentFolder "C:\VSoft\Projects" ` -versionProvider FileSystem ` -dbServer "mysqlserver\SQLEXPRESS" ` -dbUser "superadmin" ` -dbPassword "superadmin_password" ` -securityMode NONE ` -reservedPortsBlockBegin 48000 ` -applicationPackagePath "C:\SampleApp1.zip" ` -licenseFilePath "C:\My.license.xml" ` -appServerFQDNAddress "myappserver.localdomain" ` -webServerFQDNAddress "mywwwserver.localdomain" -targetAppServers @("myappserver1", "myappserver2") ` -targetWebServers @("mywwwserver1", "mywwwserver2")` -initialAdminUser "superadmin" ` -initialAdminPassword "initial-password" ` -configKeys @{ "custom.myvariable" = "specyfic value" } ` -FeatureSSO "Off" ``` -------------------------------- ### PostgreSQL pg_hba.conf Authentication Rule Example Source: https://architekt.vsoft.pl/docs/en/Publication/Preparation_of_infrastructure_on_the_OnPremises_environment Example of an authentication rule to be added to the pg_hba.conf file for PostgreSQL, enabling domain user authentication. ```SQL host all all 0.0.0.0/0 md5 ``` -------------------------------- ### Create OnPremises Environment with PowerShell Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment This PowerShell script automates the creation of an on-premises ArchITekt environment. It handles environment directory creation, database setup, and configuration based on provided parameters. ```powershell cd "C:\Program Files\VSoft\archITekt\Images\[image name]" ./OnPremisesCreate.ps1 ` -envName "[environment name]" ` -technicalName "[the technical name of the environment]" ` -parentFolder "[parent directory]" ` -runtimeFolder "[(option) runtime directory for application and web server other than default]" ` -runtimeFolderApp = “[(option) runtime folder for application server other than default]” ` -runtimeFolderWeb = “[(option) runtime directory for web server other than default]” ` -versionProvider "[type of the version server]" ` -dbServerProvider “(option) type of database server (”SQLServer”, ‘PostgreSQL’). Default value = “PostgreSQL”] ` -dbServer "[database server address] " ` -dbUser "[(option) user - database server administrator]" ` -dbPassword "[(option) password of the user - administrator of the database server]" ` -securityMode "[type of security]" ` -reservedPortsBlockBegin "[beginning of the reserved port area]" ` -applicationPackagePath "[(option) path to the archive with the initial application]" ` -licenseFilePath "[path to the license file for the environment]" ` -appServerFQDNAddress "[public name of the web server]" ` -appServerCustomWcfPort "[(option) use of a port other than the standard (80, 433) for services installed on the apllication server]" ` -webServerFQDNAddress "[public name of the application server]" ` -webServerCustomWebSiteName "[(option) installation of the application on a non-standard web site]” ` -webServerCustomIISPort "[(option) use of a port other than the standard (80, 433) for applications installed on the web server]" ` -targetAppServers "[list of application servers on which the application is to be installed] " ` -targetWebServers "[list of web servers on which the application is to be installed]" ` -appServer_HttpsCertificate "[(option) fingerprint of the application server certificate]"` -webServer_HttpsCertificate "[( option) fingerprint of the web server certificate]" ` -applicationDbAuthentication "[(option) determining how the system connects to the database: domain or user/password]" ` -applicationCredentialAdminUser "[(option) domain administrative user in the database]" ` -applicationCredentialUser "[(optional) domain user in the database]" ` -applicationCredentialPassword "[(option) domain user in the database]" ` -initialAdminUser "[name of environment administrator]" ` -initialAdminPassword "[environment administrator password]" ` -SecurityPassword "[(option) Environment security password]" ` -configKeys "[(option) Hashtable containing parameters to be saved in the technical configuration]" ` -elasticPoolName "[(option) pool name if installed on Azure SQL]" ` -FeatureSSO "[(option) enable/disable SSO login function (Single Sign On)]" ``` -------------------------------- ### Application Installer Parameters Source: https://architekt.vsoft.pl/docs/en/Publication/Preparation_of_infrastructure_on_the_OnPremises_environment Technical data parameters required during the application installation process for configuring database connections and server details. ```APIDOC Database server: dbServer: Instance address of the database server (e.g. mydbserver\SQLEXPRESS) dbUser: Username for database connection (Not required if a domain user is used) dbPassword: Password for database connection (Not required if a domain user is used) Application server: targetAppServers: Name of the server for application components (Computer name/hostname) targetWebServers: Name of the server for web components (Computer name/hostname) appServerFQDNAddress: The FQDN by which the application server is visible on the network (e.g. myserver.local.domain) webServerFQDNAddress: The FQDN by which the web server is visible on the network (e.g. myserver.local.domain) Ports: reservedPortsBlockBegin: Start of the reserved ports block used internally by the application (e.g. 48000) ``` -------------------------------- ### NUnit VtsGuiTestRunner Example for Test Execution Source: https://architekt.vsoft.pl/docs/en/Mass_Data_Processing_Module/Data_Processing/GUI_tests Demonstrates how to use the VtsGuiTestRunner class to create and run NUnit test cases. This example shows the setup for a test fixture that loads test data from a package file and logs results. ```csharp public static class NUnitVtsGuiTestRunner { public static IEnumerable GetRunneres(string a_packageFile, string a_logDir) { var testCases = new List(); VtsGuiTestRunner.GetRunneres( a_packageFile, a_logDir, Console.WriteLine, Assert.Fail, _ => testCases.Add( new TestCaseData(_.TestRunner) .SetCategory(_.TestCaseGroupName) .SetName(_.TestCaseGroupName + "." + _.TestCaseName) .SetDescription(_.TestCaseDescription) ) ); return testCases; } } [TestFixture] public sealed class VTS_GUI_Tests { [Test, TestCaseSource(typeof(VTS_GUI_Tests), "TestCasesAllPass")] public void AllPass(Action a_test) { PerformanceConfig.State currentPerfState = null; try { currentPerfState = PerformanceConfig.GetCurrentState(); PerformanceConfig.OptimizeForTest(); a_test(); } finally { PerformanceConfig.SetState(currentPerfState); } } public static IEnumerable TestCasesAllPass { get { var settings = new TestSettingsVTS2(); String pathToTestFile = Path.Combine(settings.InputDataPath, "TestCreatedInGui"); return NUnitVtsGuiTestRunner.GetRunneres(pathToTestFile + @"\" + @"all_pass.vts2p", pathToTestFile + @"\Logs"); } } } ``` -------------------------------- ### archITekt Installation Script Parameters Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment This documentation details the parameters available for the archITekt installation script. It covers cluster configuration, service settings, database connectivity, security modes, port reservations, file paths, and network addresses required for a successful deployment. Parameters include options for cluster credentials, failover cluster configuration, service startup types, MySQL plugin usage, image version locking, and a WhatIf validation mode. ```APIDOC Installation Script Parameters: General Options: -ClusterServerCredential: (option) providing credentials (PSCredential) for installation on the cluster - if the user running the script does not have administrator rights on the cluster machines. -FailoverCluster: (option) Name of failover cluster. -FailoverClusterGroup: (option) Group name - Generic service type role for archITekt services. -ServiceStartupType: (option) archITekt service startup mode ("Automatic", "AutomaticDelayedStart", "Disabled", "Manual"). Default value = "Automatic". -UsePluginMySql: (option) whether to enable a plugin to connect to MySQL databases (“On”, “Off”). Default value = “Off”. -LockedImageVersion: (option) lock image version substitution (“On”, “Off”). Default value = “Off”. -WhatIf: (option) validates parameters, does not run environment creation operation. Detailed Arguments: - envName: The name of the environment presented on the application login page. It can contain any set of characters. - technicalName: The technical name of the environment. It may consist of letters (without national characters) and numbers. It must start with a letter. Used as: database name prefix, web application name, project directory name, server installation directory name (c:\vsoft\[technicalName]). - parentFolder: Parent directory where the project will be installed. After invoking the command, the project directory will be [parentFolder]\[technicalName]. - runtimeFolder: The runtime directory where the application components will be installed on the server(s). In case it is not specified, then the application components will be installed in the default location "c:\vsoft\[technicalName]". Specifying this parameter is possible if none of the parameters “runtimeFolderApp”, “runtimeFolderWeb” are specified. - runtimeFolderApp, runtimeFolderWeb: The runtime directories where the application components will be installed on the server(s): application (runtimeFolderApp), and web (runtimeFolderWeb). Specifying these parameters is possible if the parameter “runtimeFolder” is not specified. - versionProvider: The type of version server. Acceptable values are: FileSystem, System.Data.SqlClient. - dbServer: Database server address. It must be reachable both from the computer on which the script is run and from the servers on which the application will be installed. - dbServerProvider: Type of database server. Acceptable values: SQLServer, PostgreSQL. - dbUser, dbPassword: Database server username and password. In the case of domain login to the database, these parameters should not be specified. - securityMode: Type of protection for the application being installed. Acceptable values are: SSL, NONE. If SSL is specified, communication with the WWW application and WebServices will be secured with SSL certificates (fingerprints of the certificates must be provided). - reservedPortsBlockBegin: The first of the range of ports used for internal application needs. The application uses 2 ports (reservedPortsBlockBegin, reservedPortsBlockBegin+1) for communication between components. Traffic between servers on these ports must be open. The application uses consecutive ports (reservedPortsBlockBegin+2 and next) to run LibreOffice in server mode. - applicationPackagePath: Path to the package initially installed on the environment. - licenseFilePath: The path to the license file for this environment. - appServerFQDNAddress: The name under which the environment application servers will be available in the network. The name must match the name given in the certificate indicated in the appServer_HttpsCertificate variable. - appServerCustomWcfPort: Other than the standard port on which the application server services will be issued. By default, the services run on ports 80 (unsecured) and 433 (SSL secured). - webServerFQDNAddress: The name under which the web applications of the environment will be available on the network. The name must match the name given in the certificate indicated in the webServer_HttpsCertificate variable. - webServerCustomWebSiteName: Different from the standard web site used by web applications. The web site at the time of component installation must exist on the web server (the installer does not create or delete the web site). ``` -------------------------------- ### Troubleshooting archITekt Add-in Installation Source: https://architekt.vsoft.pl/docs/en/VDS/Best_practices Steps to manually fix issues with the archITekt add-in in MS Word, such as the add-in not starting or the tab not appearing. This involves removing and reinstalling the add-in via COM Add-ins and checking registry settings. ```APIDOC Troubleshooting archITekt Add-in: 1. **Manual Repair Steps**: * Open MS Word. * Navigate to File -> Options -> Add-ins. * Locate the VDS list and note the folder path. * Go to Manage -> COM Add-ins -> Go. * Select the 'VDS add-in' and click 'Remove'. (Administrator mode may be required). * Open the VDS folder (path from step 2) in File Explorer. * Run 'VSoft.Document.Services.Addin.vsto' to reinstall. * Start MS Word to check for the 'VDS' tab. 2. **Registry Key Verification**: * Check the registry key: `HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\VSoft.Document.Services.Addin` * Ensure the `LoadBehavior` tag is set to `3` (for automatic launch). * To access the registry editor: Press Windows + R, type 'regedit', and press Enter. ``` -------------------------------- ### Setup Parameters Source: https://architekt.vsoft.pl/docs/en/Mass_Data_Processing_Module/Tasks/Tasks_description Configuration options for script execution, including key type verification, SQL command timeouts, database selection, and task resumption logic. ```APIDOC Check key type: Description: Enables verification of the key type at the stage of validation (technical, for backward compatibility). Default: False Timeout: Description: 'Timeout' parameter of SQL command, expressed in seconds. Preparation for long-lasting commands. Default: 1 hour Database: Description: Logical name of database on which the queries will be executed. An empty value will result in the global parameter 'DefaultDbName' being used. Last executed: Description: Initial ID of the recently executed package. Value used in advanced scenarios to resume particularly long-lasting tasks. Partial resume: Description: Option enables making a decision whether resumption of the task is to be continued starting from the place when the last package has been successfully executed. If not, resumption will restart the execution. ``` -------------------------------- ### Workflow Start Configuration Source: https://architekt.vsoft.pl/docs/en/Mass_Data_Processing_Module/Blocks/General_tools Explains how to configure the Workflow Start block to initiate a specific workflow. This includes selecting the workflow, defining the input data root, and mapping workflow variables. ```archITekt Block: Workflow Start Configuration: 1. Select the workflow to launch in the Properties panel. 2. In the Details tab, select the input data root (record for which the workflow runs). 3. Map workflow variables with data from the selected data schema. Annotation Invocation: - Right-click on a record or field -> 'Start workflow' context menu. - Specify workflow in Operations tab properties or via '_Process' ghost field. - Workflow variables defined in the workflow are passed as input. ``` -------------------------------- ### Example Connection String in Config Source: https://architekt.vsoft.pl/docs/en/Publication/ConfigMerge Provides a standard example of a connection string entry for a 'DICTIONARIES' setting within a generic configuration file. It specifies the connection string and provider. ```XML ``` -------------------------------- ### Remote Installation Parameters Source: https://architekt.vsoft.pl/docs/en/Publication/Preparation_of_infrastructure_on_the_OnPremises_environment Specifies target application and web servers for remote installation. When connecting outside the domain, use the format ': ' for the server address. ```PowerShell -targetAppServers "myserver4: 13.95.136.102" -targetWebServers "myserver5: 40.68.91.205" ``` -------------------------------- ### Application Server Installation Functions Source: https://architekt.vsoft.pl/docs/en/Publication/Technical_details_of_the_installation Key PowerShell functions executed during the application server installation process. These functions manage Windows features, service permissions, and network configurations. ```PowerShell Install-ARCHWindowsRequiredFeatures - Located in .\InstallToolsDeploymentTools.psm1 - Enables necessary Windows features for the application. Grant-VSOFTLogOnAsService - Located in .\InstallTools.psm1 - Grants the specified user account the 'Log on as a service' privilege. ``` -------------------------------- ### OnPremisesCreate.ps1 Script Parameters Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Detailed documentation for the parameters accepted by the `OnPremisesCreate.ps1` PowerShell script, used for configuring and deploying an on-premises ArchITekt environment. ```APIDOC OnPremisesCreate.ps1 Script Parameters: -envName [environment name] - Description: Specifies the name for the new environment. - Type: String - Required: Yes -technicalName [the technical name of the environment] - Description: Defines the technical identifier for the environment. - Type: String - Required: Yes -parentFolder [parent directory] - Description: The parent directory where the environment directory will be created. - Type: String - Required: Yes -runtimeFolder [(option) runtime directory for application and web server other than default] - Description: Sets a common runtime directory for both application and web servers, overriding the default. - Type: String - Required: No -runtimeFolderApp = “[(option) runtime folder for application server other than default]” - Description: Sets a specific runtime directory for the application server, overriding the default. - Type: String - Required: No -runtimeFolderWeb = “[(option) runtime directory for web server other than default]” - Description: Sets a specific runtime directory for the web server, overriding the default. - Type: String - Required: No -versionProvider [type of the version server] - Description: Specifies the type of version server to be used. - Type: String - Required: Yes -dbServerProvider “(option) type of database server (”SQLServer”, ‘PostgreSQL’). Default value = “PostgreSQL”] - Description: Specifies the type of database server. Defaults to PostgreSQL. - Type: String - Required: No -dbServer "[database server address] " - Description: The address or hostname of the database server. - Type: String - Required: Yes -dbUser "[(option) user - database server administrator]" - Description: The username for connecting to the database server as an administrator. - Type: String - Required: No -dbPassword "[(option) password of the user - administrator of the database server]" - Description: The password for the database server administrator user. - Type: String - Required: No -securityMode "[type of security]" - Description: Defines the security mode for the environment. - Type: String - Required: Yes -reservedPortsBlockBegin "[beginning of the reserved port area]" - Description: Specifies the starting port number for a block of reserved ports. - Type: Integer - Required: Yes -applicationPackagePath "[(option) path to the archive with the initial application]" - Description: Path to the archive file containing the initial application package. - Type: String - Required: No -licenseFilePath "[path to the license file for the environment]" - Description: Path to the license file required for the environment. - Type: String - Required: Yes -appServerFQDNAddress "[public name of the web server]" - Description: The fully qualified domain name (FQDN) for the application server. - Type: String - Required: Yes -appServerCustomWcfPort "[(option) use of a port other than the standard (80, 433) for services installed on the apllication server]" - Description: Specifies a custom port for WCF services on the application server, deviating from standard ports 80/433. - Type: Integer - Required: No -webServerFQDNAddress "[public name of the application server]" - Description: The fully qualified domain name (FQDN) for the web server. - Type: String - Required: Yes -webServerCustomWebSiteName "[(option) installation of the application on a non-standard web site]” - Description: Specifies a custom website name for application installation on the web server. - Type: String - Required: No -webServerCustomIISPort "[(option) use of a port other than the standard (80, 433) for applications installed on the web server]" - Description: Specifies a custom port for the web server, deviating from standard ports 80/433. - Type: Integer - Required: No -targetAppServers "[list of application servers on which the application is to be installed] " - Description: A list of application servers where the application should be installed. - Type: String (comma-separated list) - Required: Yes -targetWebServers "[list of web servers on which the application is to be installed]" - Description: A list of web servers where the application should be installed. - Type: String (comma-separated list) - Required: Yes -appServer_HttpsCertificate "[(option) fingerprint of the application server certificate]" - Description: The fingerprint of the HTTPS certificate for the application server. - Type: String - Required: No -webServer_HttpsCertificate "[( option) fingerprint of the web server certificate]" - Description: The fingerprint of the HTTPS certificate for the web server. - Type: String - Required: No -applicationDbAuthentication "[(option) determining how the system connects to the database: domain or user/password]" - Description: Specifies the database authentication method (e.g., 'Domain', 'UserPassword'). - Type: String - Required: No -applicationCredentialAdminUser "[(option) domain administrative user in the database]" - Description: The domain administrative user for database authentication. - Type: String - Required: No -applicationCredentialUser "[(optional) domain user in the database]" - Description: The domain user for database authentication. - Type: String - Required: No -applicationCredentialPassword "[(option) domain user in the database]" - Description: The password for the domain user in database authentication. - Type: String - Required: No -initialAdminUser "[name of environment administrator]" - Description: The username for the initial environment administrator. - Type: String - Required: Yes -initialAdminPassword "[environment administrator password]" - Description: The password for the initial environment administrator. - Type: String - Required: Yes -SecurityPassword "[(option) Environment security password]" - Description: A security password for the environment. - Type: String - Required: No -configKeys "[(option) Hashtable containing parameters to be saved in the technical configuration]" - Description: A hashtable containing parameters to be saved in the technical configuration. - Type: Hashtable - Required: No -elasticPoolName "[(option) pool name if installed on Azure SQL]" - Description: The name of the elastic pool if installing on Azure SQL. - Type: String - Required: No -FeatureSSO "[(option) enable/disable SSO login function (Single Sign On)]" - Description: Enables or disables the Single Sign On (SSO) login function. - Type: Boolean - Required: No ``` -------------------------------- ### Example SQL Script Directory Names Source: https://architekt.vsoft.pl/docs/en/Publication/Project_package Provides examples of valid directory names for SQL scripts based on the specified naming convention. ```plaintext Example 1: 241122.1233 Example 2: 241122.1233$auto_gen ``` -------------------------------- ### Calculator Web Service API Source: https://architekt.vsoft.pl/docs/en/Tutorials/Webservice Documentation for the Calculator ASMX web service. This service provides basic arithmetic operations. It is used as an example for calling external services. ```APIDOC Calculator Web Service (ASMX) Endpoint: http://www.dneonline.com/calculator.asmx This service provides methods for performing arithmetic operations. Methods: 1. Add - Description: Adds two numbers. - Signature: Add(int intA, int intB) - Parameters: - intA: The first integer operand. - intB: The second integer operand. - Returns: The sum of intA and intB (int). - Example: ```xml 5 3 ``` 2. Subtract - Description: Subtracts the second number from the first. - Signature: Subtract(int intA, int intB) - Parameters: - intA: The minuend. - intB: The subtrahend. - Returns: The difference between intA and intB (int). - Example: ```xml 10 4 ``` 3. Multiply - Description: Multiplies two numbers. - Signature: Multiply(int intA, int intB) - Parameters: - intA: The first factor. - intB: The second factor. - Returns: The product of intA and intB (int). - Example: ```xml 6 7 ``` 4. Divide - Description: Divides the first number by the second. - Signature: Divide(int intA, int intB) - Parameters: - intA: The dividend. - intB: The divisor. - Returns: The quotient of intA and intB (int). - Error Conditions: Division by zero will result in an error. - Example: ```xml 20 5 ``` ``` -------------------------------- ### Data Loading Script Example Source: https://architekt.vsoft.pl/docs/en/Mass_Data_Processing_Module/Tasks/Tasks_description An example illustrating the structure of a data loading script, including directives for specifying the destination table, input file header, field mappings, data types, and validation rules for individual fields. ```DSL #DESTINATION_TABLE loading.IBS_CIF #FILE_HEADER ACN|ZSYPLN|BOO|CC|CIFCLCD|DLC|LFU|CIFOFF|DAO|DEP|DOB|DOD|EDUC|FAXNUM|LNM| … #MAPPINGS ZSYPLN, TARGET_ZSY #FIELD_TYPES ZHCV Decimal(.) DTD1 Date(yyyy/MM/dd) #FIELD_VALIDATION CIFCLCD, SKIP CIFOFF, RECOVER FAXNUM, NONE ``` -------------------------------- ### Network Configuration Commands Source: https://architekt.vsoft.pl/docs/en/Publication/Technical_details_of_the_installation Command-line utilities used to configure network access for the application server. This includes reserving ports for services and binding SSL certificates to specific ports. ```APIDOC netsh http add urlacl url=http://*:/ sddl=D:(A;;GX;;;SY)(A;;GX;;;LS)(A;;GX;;;AU) - Reserves the specified port for HTTP access, granting permissions to System, Local Service, and Administrators. netsh http add sslcert ipport=0.0.0.0: certhash= appid={your-app-id} - Binds an SSL certificate to the specified port for all IP addresses, enabling HTTPS. ``` -------------------------------- ### Run InstallOnPremises Script Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Demonstrates how to navigate to the script directory and execute the InstallOnPremises.ps1 script with essential parameters like PathProjectFolder and SetupCommand. ```PowerShell cd "C:\Program Files\VSoft\archITekt\Images\[ image name]" .\InstallOnPremises.ps1 \ -PathProjectFolder [environment directory] \ -SetupCommand [command] -ClusterServerCredential "[(option) providing credentials (PSCredential) for installation on the cluster - if the user running the script does not have administrator rights on the cluster machines]" ``` -------------------------------- ### Enable PS Remoting Source: https://architekt.vsoft.pl/docs/en/Publication/Preparation_of_infrastructure_on_the_OnPremises_environment Enables PowerShell Remoting on a server, which is a prerequisite for remote installations of the application. ```powershell Enable-PSRemoting ``` -------------------------------- ### Clustered Environment Installation Parameters Source: https://architekt.vsoft.pl/docs/en/Publication/Preparation_of_infrastructure_on_the_OnPremises_environment Parameters required for configuring the application in a clustered environment, specifying server group FQDNs and member names. ```APIDOC webServerFQDNAddress: type: string description: The fully qualified domain name (FQDN) by which the web layer servers are visible on the network. example: webserver.local.domain targetWebServers: type: array items: { type: string, description: Computer name (hostname) } description: A list of all server hostnames belonging to the web layer group. appServerFQDNAddress: type: string description: The fully qualified domain name (FQDN) by which the application layer servers are visible on the network. example: appserver.local.domain targetAppServers: type: array items: { type: string, description: Computer name (hostname) } description: A list of all server hostnames belonging to the application layer group. ``` -------------------------------- ### PowerShell Hash Table for Configuration Keys Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Illustrates the structure for providing custom configuration variables as a PowerShell hash table, including how to specify variables for specific nodes. ```PowerShell $configKeys = @{ "common.connection.provider_ad" = "LDAP://my.server.local:389" "custom.myvariable" = "specific value" "variable_name@node_name" = "value_for_specific_node" } ``` -------------------------------- ### InstallOnPremises Script Commands Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Documentation for commands available via the InstallOnPremises.ps1 script, detailing their functionality for managing environment components on servers. ```APIDOC InstallOnPremises Script Commands Parameters: - PathProjectFolder: project (environment) directory. - SetupCommand: command executed. - ClusterServerCredential: cluster administrator credentials - given when the installation is performed by a user who does not have administrative rights on the cluster. This is an object of type System.Management.Automation.PSCredential. - SecurityPassword: environment security password (required to be provided if the environment uses an encrypted technical configuration). Available Commands: 1. ClusterVerifyPrerequisities - Verifies the state of the environment. Automatically run as part of any other command. 2. ClusterInstallOrUpdate - Installs environment components (if they were not on a particular server) or updates them (if they were already installed). - Faster than ClusterForceReinstall as it compares current configuration with the state at installation time using checksums. 3. ClusterForceReinstall - Removes the environment components from the server and installs them on it again. - Recommended for emergency situations. 4. ClusterUninstall - Uninstalls environment components from all servers. 5. Uninstall - Uninstalls environment components. 6. ClusterStop - Stops the running of the environment (stops services and pools of web applications). 7. ClusterStart - Starts the running of the environment (starts services and pools of web applications). Note on Uninstalling: - Uninstalling the environment does not remove the databases. - The UninstallOnPremisesComponents.ps1 script is created on each server during installation, allowing uninstallation without access to the project directory. ``` -------------------------------- ### archITekt Post-Reconfiguration Scripts Source: https://architekt.vsoft.pl/docs/en/Publication/Reconfiguration_of_the_application Provides commands for updating the environment after reconfiguration, including options for installation or forced reinstallation, and a script for manually uninstalling application components. ```PowerShell cd "C:\Program Files\VSoft\archITekt\Images\[image name]" .\InstallOnPremises.ps1 ` -PathProjectFolder [environment directory] ` -SetupCommand [command: ClusterInstallOrUpdate or ClusterForceReinstall] ``` ```PowerShell cd "C:\VSoft\[technicalName]" .\UninstallOnPremisesComponents.ps1 ``` -------------------------------- ### INI Configuration File Example Source: https://architekt.vsoft.pl/docs/en/Publication/Technical_configuration Demonstrates the structure and syntax of a .config.ini file for defining application variables, including sections for sensitive data and variable substitution using .NET references. ```INI ; This file is in the form of the Key=Value line. ; In the standard .NET configuration (xml) you can use {Keys} and they will be substituted at the start. ; Keys with sensitive content (with passwords, etc...) should be placed in the [SecuritySensitive] section. ; Keys can also be in the form of .NET references, such as: ; {#System.Environment.MachineName} ; {#System.AppDomain.CurrentDomain.BaseDirectory} -- the directory from which the program/module was started ; {#System.DateTime.Now} -- current date and time ; {#System.DateTime.UtcNow} -- current UTC date and time studio.mode = InProc studio.winAuth = true ; connection to the database [SecuritySensitive] common.connection.db_config = data source=RBABICZ10\SQLEXPRESS;initial catalog=ARCHITEKT_DEMO_191_CONFIG;User Id=xxx;Password=xxx;MultipleActiveResultSets=True; [SecuritySensitive] my.secrect.password = very_secret_123 ``` -------------------------------- ### Example Connection Strings in vts Config Source: https://architekt.vsoft.pl/docs/en/Publication/ConfigMerge Illustrates the structure of connection string entries within a .vts configuration file. It shows how to define connection strings for different databases. ```XML ``` -------------------------------- ### Database Authentication Types Source: https://architekt.vsoft.pl/docs/en/Publication/Installing_the_application_on_the_OnPremises_environment Details the acceptable values for the applicationDbAuthentication parameter, specifying how the application connects to the database. ```APIDOC applicationDbAuthentication: Values: "Windows", "UserPassword" - Windows: Connects to the database using Windows domain login. Requires 'applicationCredentialAdminUser' and 'applicationCredentialUser' to be specified. - UserPassword: Connects to the database using a username and password. Application users '[technicalName]_admin' and '[technicalName]_user' will be created in the database. ``` -------------------------------- ### Algorithm Construction with Decision Tables Source: https://architekt.vsoft.pl/docs/en/Algorithms/Calculation_of_the_insurance_premium Describes the process of building a visual algorithm that incorporates decision tables for tariff rate calculation and discount application. ```APIDOC Algorithm Construction Steps: 1. Create New Algorithm: Select 'File > New > Algorithm'. 2. Connect Data Structure: Point to the relevant data structure. 3. Add 'Decide' Block: Drag and drop a 'Decide' block, connect it to 'Start'. 4. Add 'Table' Blocks: - Connect a 'Table' block to 'Decide', name it 'TariffRate'. - Connect another 'Table' block to 'TariffRate', name it 'PostCodeDiscount'. - Connect a third 'Table' block to 'PostCodeDiscount', name it 'InsuranceDiscount'. 5. Add 'Calculate' Blocks: - Add a 'Calculate' block, name it 'TariffRateValue', connect it to 'InsuranceDiscount'. - Add another 'Calculate' block, name it 'TarrifRateAfterDiscount', connect it to 'TariffRateValue'. 6. Connect to Output: - Connect 'TarrifRateAfterDiscount' to the algorithm's output element. - Connect the 'Decide' block to the algorithm's output element. Expected Algorithm Structure: Start -> Decide -> TariffRate (Table) -> PostCodeDiscount (Table) -> InsuranceDiscount (Table) -> TariffRateValue (Calculate) -> TarrifRateAfterDiscount (Calculate) -> Output ``` -------------------------------- ### Reconfigure Script Parameters (APIDOC) Source: https://architekt.vsoft.pl/docs/en/Publication/Reconfiguration_of_the_application Detailed documentation for the parameters accepted by the Reconfigure.ps1 script. This includes descriptions, acceptable values, and whether a reinstallation of environment components is required for the change to take effect. ```APIDOC Reconfigure.ps1 Script Parameters: Mandatory Parameter: -pathProjectFolder: The directory path for the project (environment) to be reconfigured. Optional Parameters: -envName: The name of the environment displayed on the application login page. Accepts any characters. Reinstallation: No. -securityMode: Type of protection for the application. Acceptable values: SSL, NONE. If SSL is specified, SSL certificates are required. Reinstallation: Yes. -reservedPortsBlockBegin: The starting port number for internal application communication. The application uses two consecutive ports for inter-component communication and subsequent ports for LibreOffice server mode. Reinstallation: Yes. -licenseFilePath: Path to the license file. The file is copied to the "[project directory]\Licenses" directory. Reinstallation: No. -appServerFQDNAddress: The network name for the environment's application servers. Must match the name in the appServer_HttpsCertificate. Reinstallation: Yes. -webServerFQDNAddress: The network name for the environment's web servers. Must match the name in the webServer_HttpsCertificate. Reinstallation: Yes. -targetAppServers: A list of application servers for installation. Reinstallation: Yes. -targetWebServers: A list of web servers for installation. Reinstallation: Yes. -appServer_HttpsCertificate: Fingerprint of the application server's SSL certificate. Reinstallation: Yes. -webServer_HttpsCertificate: Fingerprint of the web server's SSL certificate. Reinstallation: Yes. -applicationCredentialPassword: New password for the domain user. Reinstallation: Yes. -configKeys: A Hashtable containing parameters to be changed or deleted in the technical configuration. Reinstallation: Not specified (likely No). -FeatureSSO: Enables or disables Single Sign On (SSO). Reinstallation: Not specified. -SecurityPassword: The environment security password. Reinstallation: Not specified. -NewSecurityPassword: A new environment security password. Reinstallation: Not specified. -RemoveSecurityPassword: Removes environment configuration encryption. Reinstallation: Not specified. -ResetDbPasswords: A switch to reset database user passwords. Reinstallation: Not specified. -SetVipPasswords: Sets new passwords for VIP provider users. Reinstallation: Not specified. -ClusterServerCredential: PSCredential object for cluster installation if the current user lacks administrator rights. Reinstallation: Not specified. -ServiceStartupType: Sets the archITect service startup mode (e.g., "Automatic", "Manual"). Default: "Automatic". Reinstallation: Not specified. -UsePluginMySql: Enables or disables the MySQL database connection plugin. Default: "Off". Reinstallation: Not specified. -LockedImageVersion: Blocks image version substitution. Default: "Off". Reinstallation: Not specified. -WhatIf: Validates parameters without executing the environment creation operation. Reinstallation: N/A. ``` -------------------------------- ### Font Management for Document Generation Source: https://architekt.vsoft.pl/docs/en/VDS/Best_practices Recommendations for managing fonts when using the Document generation service, including installation and embedding practices. ```APIDOC Font Management: 1. **Additional Fonts**: * Install additional fonts on the Windows directory of the server where Document generation is installed. * Typically, this involves right-clicking the font file and selecting 'Install'. 2. **Font Embedding**: * Attaching fonts to an MS Word document can lead to performance issues due to increased file size. * It is recommended that fonts are not attached to the document/template to optimize performance. ``` -------------------------------- ### Variable Substitution Example Source: https://architekt.vsoft.pl/docs/en/Publication/Technical_configuration Demonstrates how to use a configuration variable within an XML application setting. The value of the variable, defined elsewhere, is substituted at runtime. ```xml ```