How To Guide POS Installation Instructions for Windows
Description
This How-to guide explains the installation of the Point-of-Sale (POS) on Windows 10.
Enactor POS
Notes
This guide will require information from your Estate Manager environment.
Overview
This guide will cover installing the Enactor POS application on Windows.
The Estate Manager must be installed and configured before you install the POS application.
Additionally, the following entities should be configured prior to installation: device, Location, and pos terminal.
You will need to have the following information before you can complete the POS installation. Use the worksheet in this document to record the values you will need for the installation.
Prerequisites
In addition to the prerequisites required by each database server, you will need the following:
- Database server with user and database created
- Minimum 10GB of free disk space
- Network connectivity to the Estate Manager
- Network connectivity to the Store Server, if applicable
Deployment Models
The POS configuration will depend on the deployment model. Specifically, will the Store Server be deployed or will the POS connect to the Estate Manager.
Store Server
When a Store Server is deployed for a Location, the POS will need additional configuration to make user of the Store Server's services.
The process connection is StandardPosBackOfficeEstateManager (unless a customer-specific process connection is being used), and the Device Type will typically be POS.
No Store Server
When the Store Server is not deployed for a Location, the POS will note make use of any Store Server functionality and will connect directly to the Estate Manager.
The process connection is StandardPosEstateManager (unless a customer-specific process connection is being used).
There are two difference Device Types that can be used for a fixed POS in this scenario.
A Master POS (Device Type of MASTER_POS) is able to process cash management functions for both itself and other POS devices in the store.
A standard POS (Device Type of POS) needs to connect to either a Master POS or the Estate Manager to complete any cash management processes.
Pre-Installation
There are 3 files that are used to install the POS application:
- EnactorPOS-x.x.x-example.ini - this file should be populated the necessary configuration data for the POS installation; this file will be copied to installer.ini and modified with the location and device specific values prior to running the installer.
- EnactorPOS-x.x.x.bat - a script file that can execute the Windows installer with options.
- EnactorPOS-x.x.x.msi - the Windows installer for the POS with version x.x.x.
Create the installer.ini file
The installer requires a configuration file named installer.ini in the same directory.
To create the installer.ini file, copy the EnactorPOS-x.x.x-example.ini to installer.ini.
Edit the installer.ini file
The enactor.xml configuration file for the POS is created by the installer using the data in the installer.ini file. It is essential to set the values correctly prior to install so that future updates of the application using the Application Updater will have the correct values when the POS is updated.
The installer.ini file is a Windows INI file with key and value pairs identified by key=value. The file contains the necessary parameters for configuring the POS during installation. This document provides instructions for populating installer.ini with the required configuration.
Modifications to installer.ini
The installer.ini file needs to be modified to meet the requirements of the device being installed. The example file that is provided with the installer contains all values that are possible for the installer. Not all values will need to be set. Use the values from the worksheet unless otherwise instructed.
Server Base Url
A Base URL can be used for service invocations from the POS to the Estate Manager or other devices.
Each Base URL contains a Hostname / IP address and a port.
Eg: SERVER_EMAPP_URL_BASE=http://xxx.xxx.xxx.xxx:yyyyy/
where xxx is the hostname or IP address of the server and yyyyy is the port.
Note that in a Docker Estate Manager environment, the Swarm Leader's IP address or hostname should be used for any Estate Manager URL's.
Device and Location Details
The Device Type and Device ID must match the configuration from the Estate Manager for this device. The standard model for Device ID is pos@<Location ID>.<company>.
For example, pos1@0001.enactor is POS 1 in Location 0001 for company enactor. Device ID's are case sensitive so use the exact string that was used in the configuration.
The device types for POS are
- POS - Standard POS
- MASTER_POS - Master POS
Location IDs will be set when configuring the Locations. The Location ID should be set for the store where the POS is being installed.
Process Connection
The process connection defines how the POS connects to the services.
The process connection should be set as follows:
StandardPosBackOfficeEstateManager - a Store Server is deployed for the install Location StandardPosEstateManager - a Store Server is not deployed for the install Location
Database Server
Each POS requires a database. This will contain all the required configuration, plus other data such as transactions and messages.
The database configuration will vary depending on the database server that is used, for example MariaDB or MS SQL Server. This document describes configuring the POS to use a MariaDB database.
The database server also has an identifier that is used by the application to make the connection to the database. Database identifiers will look like the following:
MYSQL
A JDBC database driver is used to connect to the database server. The driver will vary depending on the database server that is used. When MariaDB is used database drivers will look like the following:
com.mysql.jdbc.Driver
The POS connects to the database using a URL or connection string that includes the database server name, the database server port, and the database name. Connections strings are specific to the database server type and will look like the following:
jdbc:mysql://HOST:PORT/DATABASE?serverTimezone=UTC&defaultFetchSize=1000&useCursorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&characterEncoding=UTF-8
Installation steps for MariaDB
Configuring MariaDB is described in a separate How-to Guide. (How To Guide MariaDB Server - Install Instructions for Windows)
After installation open the HeidiSQL client application and run the following commands to create a User and a Database:
CREATE USER 'enactorpos'@'localhost' IDENTIFIED BY 'En4ct0rSt0re';
CREATE DATABASE IF NOT EXISTS enactorpos;
GRANT ALL PRIVILEGES ON enactorpos.* TO 'enactorpos'@'localhost';
This script will create a user with ID enactorpos and password En4ct0rSt0re and a database named enactorpos.
Installation Worksheet
The following information will be needed to create the installer.ini for the installation.
Note:
The Example Value column below contains example values in this document. These values will vary according to the environment configuration.
Estate Manager (EM)
Note that in a Docker Estate Manager environment, the Swarm Leader's IP address or hostname should be used for these values.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_EMAPP_URL_BASE | http://xxx.xxx.xxx.xxx:39830 | Server.EMApp.URL.Base | Estate Manager application. Where xxx is the IP address or hostname of the Estate Manager. |
SERVER_EMPROC_URL_BASE | http:// xxx.xxx.xxx.xxx:39832 | Server.EMProc.URL.Base | Estate Manager Processing. Where xxx is the IP address or hostname of the Estate Manager. |
SERVER_EMWS_URL_BASE | http:// xxx.xxx.xxx.xxx:39833 | Server.EMWS.URL.Base | Estate Manager Web Services. Where xxx is the IP address or hostname of the Estate Manager. |
SERVER_BP_URL_BASE | http:// xxx.xxx.xxx.xxx:39831 | Server.BP.URL.Base | Estate Manager Business Process. Where xxx is the IP address or hostname of the Estate Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being
used then the port numbers should be amended to reflect those being used.
Store Server
If Store Servers aren't being used in the estate, these parameters may be populated with the Estate Manager values.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_BOAPP_URL_BASE | http:// xxx.xxx.xxx.xxx:39848 | Server.BOApp.URL.Base | Back Office Application. Where xxx is the IP address or hostname of the Store Server. |
SERVER_BOPROC_URL_BASE | http:// xxx.xxx.xxx.xxx:39848 | Server.BOProc.URL.Base | Back Office Processing. Where xxx is the IP address or hostname of the Store Server. |
SERVER_BOREPORTS_URL_BASE | http:// xxx.xxx.xxx.xxx:39848 | Server.BOReports.URL.Base | Back Office Reports. Where xxx is the IP address or hostname of the Store Server. |
SERVER_BOWS_URL_BASE | http:// xxx.xxx.xxx.xxx:39848 | Server.BOWS.URL.Base | Back Office Web Services. Where xxx is the IP address or hostname of the Store Server. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Card Authorisation
It is possible to configure multiple card authorisation servers. These configuration settings can also be used for Gift Card authorisation.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_CARD_AUTH1_URL_BASE | http://xxx.xxx.xxx.xxx:39856 | Server.CardAuth1.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager) |
SERVER_CARD_AUTH2_URL_BASE | http://xxx.xxx.xxx.xxx:39856 | Server.CardAuth2.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager) |
SERVER_CARD_AUTH3_URL_BASE | http://40.85.134.4:39856 | Server.CardAuth3.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager) |
SERVER_CARD_AUTH4_URL_BASE | http://40.85.134.4:39856 | Server.CardAuth4.URL.Base | Where xxx is the IP address or hostname of the machine where the card auth server is installed. (Usually, but not always, the Estate Manager). |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Database Server
Contains the necessary configuration to enable the PDP server to connect to the database.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
DATABASE_DRIVER | com.mysql.jdbc.Driver | driverName | The driver will vary depending on the database server that is used. When MariaDB is installed, com.mysql.jdbc.Driver is specified. |
DATABASE_IDENTIFIER | MYSQL | QueryTranslator.DatabaseIdentifier | The database server also has an identifier that is used by the application to make the connection to the database. When a MariaDB is used, MYSQL is used as the identifier. |
DATABASE_PASSWORD | En4ct0rSt0re | encryptedPassword | Database Password that the POS will use. |
DATABASE_SCHEMA | enactorpos | Common.DatabaseSchema | Database Schema name that the POS will connect to. |
DATABASE_URL | jdbc:mysql://localhost:3306/enactorpos?serverTimezone=UTC&defaultFetchSize=1000&useCursorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&characterEncoding=UTF-8 | serverName | Database Server URL that the POS will connect to. |
DATABASE_USERNAME | enactorpos | username | Database Username that the POS will use. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Process Connections
If the estate uses Store Servers, then StandardPosBackOfficeEstateManager should be specified. Otherwise, StandardPosEstateManager should be used (unless there is a customer-specific process connection).
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
PROCESS_CONNECTION_DEFINITION | StandardPosBackOfficeEstateManager | ProcessConnections.DefinitionId |
Process Set
Defines the Process Set and Parent Process set that the POS will use.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
PROCESS_SET | NextGen | Common.ProcessSet | If the React UI is NOT being used, this value should be set to NextGen unless an Enactor representative advises otherwise. It should be defined as HTMLPos if the React UI is being used on the POS. |
PARENT_PROCESS_SET | NextGen | Common.ParentProcessSet | This should be defined as NextGen unless an Enactor representative advises otherwise. |
Device and Location
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
DEVICE_ID | pos1@0001.Enactor | Service.DeviceID Container.DeviceId JMX.ApplicationId | The POS Device ID which is configured in the EM Device maintenance for the POS should be a given. Eg:posx@<Locationid>.<company> |
DEVICE_TYPE | POS | Service.DeviceType | May be either POS or MASTER_POS - further details below this table. |
LOCATION_ID | 0001 | Service.LocationID | Must match the Location ID that is configured on the Estate Manager. |
The Device Type may be different according to the connectivity type which it holds with a Store Server and EM. This is as follows:
- If POS connects to the Estate Manager via a Back Office: DEVICE_TYPE=POS
- If POS connects to the Estate Manager directly: DEVICE_TYPE=POS
- If Master POS that connects to the Estate Manager directly: DEVICE_TYPE=MASTER_POS
React POS
If the Enactor React UI is going to be used on the POS, the following values should be set. Some of these values populate configuration in the POS startup script instead of the enactor.xml.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SWING_PAGE_ELEMENT_HANDLER_FACTORY_CLASSNAME | com.enactor.coreUI.swing.json.pageElementHandlers.SwingJsonPageElementHandlerFactory | SwingPageElementHandlerFactory.Classname | Required value to enable React mode in the POS |
POS_SWING_PROMPT_FACTORY_CLASSNAME | com.enactor.pos.json.factories.PosMixedModeSwingPromptFactory | PosSwingPromptFactory.ClassName | Required value to enable React mode in the POS |
REACT_POS_CONTENT_URL | HTMLPos/index.html | ReactPos.contentUrl | Defines the initial URL the POS will load. |
PROCESS_SET | HTMLPos | Common.ProcessSet | Required value to enable React mode in the POS |
FULL_SCREEN | true | N/A - set in startup script | Defines whether the POS starts in full screen mode |
BROWSER_TYPE | chromium | Browser.Type | Defines which browser type is used by the POS in React mode. Recommended value is chromium. |
HTML_POS_MODE | true | N/A - set in startup script | Defines whether the POS starts in React POS mode |
VIEW_TYPE_ID | HTMLPos | N/A - set in startup script | Required value to enable React mode in the POS |
SOLR
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_SOLR_URL_BASE | http://xxx.xxx.xxx.xxx:39846/solr/ | Server.Solr.URL.Base | Where xxx is the IP address or hostname of the Solr Index server. (Usually, but not always, the Estate Manager) |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Reports
Where a Store Server is installed in the same Location, the Store Server hostname or IP address should be used. Where there is no Store Server, the Estate Manager hostname or IP address should be used.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_EMREPORTS_URL_BASE | http://xxx.xxx.xxx.xxx:39848 - where a Store Server is being used.http://xxx.xxx.xxx.xxx:39831 - where there is no Store Server. | Server.EMREPORT.HostServer.Reports.Host | Where xxx is the hostname or IP address of either the Store Server or Estate Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Advanced Configuration
Broadcast Proxy
The POS can be configured to use its local Store Server (or, indeed, any other Store Server) as a download proxy for broadcasts and application updates. This parameter is optional and does not have to be used. If there are no Store Servers in the estate, this value does not need to be set.
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
BROADCAST_DOWNLOAD_PROXY_URL | http://xxx.xxx.xxx.xxx:39848/WebCore/FileDownloadServlet | Broadcast.DownloadProxyUrl | Where xxx is the hostname or IP address of the Store Server. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Device Theme
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
LOCAL_THEME | localTheme | If there is a need to use a local theme for the POS, then this should be configured. By default, this is set to null. | |
PARENT_THEME | NextGen1024x768 | parentTheme | The Parent Theme defined for the POS. By default, this is set to null and configured in the POS Terminal configuration. |
THEME | NextGen1024x768 | theme | The Theme defined for the POS. By default, this is set to null and configured in the POS Terminal configuration. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Order Parameters
If the Enactor Orders Module is being used, the following configuration should be defined:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_ORDER | true | Modules.OrderModule | Determines whether the Orders module is enabled on the PDP server. |
SERVER_OMBP_URL_BASE | http://xxx.xxx.xxx.xxx:39834/ | Server.OMBP.URL.Base | Where xxx is the IP address or hostname of the Order Manager. |
SERVER_OMPROC_URL_BASE | http://xxx.xxx.xxx.xxx:39836/ | Server.OMProc.URL.Base | Where xxx is the IP address or hostname of the Order Manager. |
SERVER_OMWS_URL_BASE | http://xxx.xxx.xxx.xxx:39837/ | Server.OMWS.URL.Base | Where xxx is the IP address or hostname of the Order Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Inventory Module
If the Enactor Inventory Module is being used, the following configuration should be defined:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_INVENTORY | true | Modules.InventoryModule | Determines whether the Inventory module is enabled on the PDP server. |
SERVER_IMBP_URL_BASE | http://xxx.xxx.xxx.xxx:39842/ | Server.IMBP.URL.Base | Where xxx is the IP address or hostname of the Inventory Manager. |
SERVER_IMPROC_URL_BASE | http://xxx.xxx.xxx.xxx:39844/ | Server.IMProc.URL.Base | Where xxx is the IP address or hostname of the Inventory Manager. |
SERVER_IMWS_URL_BASE | http://xxx.xxx.xxx.xxx:39845/ | Server.IMWS.URL.Base | Where xxx is the IP address or hostname of the Inventory Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Customer Collection Module
If the Enactor Customer Collection Module is being used, the following configuration should be defined:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_CUSTOMER_COLLECTIONS | true | Modules.CustomerCollectionsModule | Determines whether the Customer Collections module is enabled on the PDP Server. |
CRM Module
If the Enactor CRM Module is being used, the following configuration should be defined:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_CRM | true | Determines whether the CRM module is enabled on the PDP Server. | |
SERVER_CMAPP_URL_BASE | http://xxx.xxx.xxx.xxx:39838/ | Server.CMApp.URL.Base | Where xxx is the IP address or hostname of the Customer Manager. |
SERVER_CMPROC_URL_BASE | http://xxx.xxx.xxx.xxx:39840/ | Server.CMProc.URL.Base | Where xxx is the IP address or hostname of the Customer Manager. |
SERVER_CMWS_URL_BASE | http://xxx.xxx.xxx.xxx:39841/ | Server.CMWS.URL.Base | Where xxx is the IP address or hostname of the Customer Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Repair Module
If the Enactor Repairs Module is being used, the following configuration should be defined:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_REPAIR | true | Modules.RepairModule | Determines whether the Repair module is enabled on the PDP Server. |
Time Attendance Module
If the Enactor Time & Attendance Module is being used, the following configuration should be defined:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
MODULE_TIME_ATTENDANCE | true | Modules.TimeAttendanceModule | Determines whether the Time & Attendance module is enabled on the PDP Server. |
Payments
Enactor Payments configuration:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_TMS_URL_BASE | http://xxx.xxx.xxx.xxx:39888/WebTerminalManager/ | Server.TMS.URL.Base | Where xxx is the IP address or hostname of the Web Terminal Manager. |
USE_PAYMENT_SERVICE | false | Common.UsePaymentService | This parameter is mostly deprecated - only set to true on the advice of an Enactor representative. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Promotion Module
If the Enactor Promotion Manager Module is being used, the following configuration should be defined:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_PMAPP_URL_BASE | http://xxx.xxx.xxx.xxx:39891/ | Server.PMApp.URL.Base | Where xxx is the IP address or hostname of the Promotion Manager. |
SERVER_PM_URL_BASE | http://xxx.xxx.xxx.xxx:39892/ | Server.PM.URL.Base | Where xxx is the IP address or hostname of the Promotion Manager. |
SERVER_PMWS_URL_BASE | http://xxx.xxx.xxx.xxx:39890/ | Server.PMWS.URL.Base | Where xxx is the IP address or hostname of the Promotion Manager. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Gift Card
If Enactor gift cards are being used, the following parameters can be set should the Gift Card Auth Server be different from the Payment Card Auth Server:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
SERVER_GIFT_CARD_AUTH1_URL_BASE | http://xxx.xxx.xxx.xxx:39856/ | Server.GiftCardAuth1.URL.Base | Where xxx is the IP address or hostname of the Gift Card Auth Server. |
SERVER_GIFT_CARD_AUTH2_URL_BASE | http://xxx.xxx.xxx.xxx:39856/ | Server.GiftCardAuth2.URL.Base | Where xxx is the IP address or hostname of the Gift Card Auth Server. |
Note: The ports specified above are Enactor's default values - if alternative port numbers are being used then the port numbers should be amended to reflect those being used.
Message Service Authentication
Configuration for secure messaging:
Property .ini file | Example Value | Enactor.xml value | Description |
---|---|---|---|
AUTHENTICATION_DEFAULT_PASSWORD | p@55w0rd | Authentication.DefaultPassword encrypt="true" | Should match the Authentication password defined on the Estate Manager. |
AUTHENTICATION_DEFAULT_USERID | userid | Authentication.DefaultUserId | Should match the Authentication user defined on the Estate Manager. |
MESSAGE_SERVICES_DEFAULT_AUTH_TYPE | HTTP_BASIC | MessageServices.DefaultAuthenticationType | Defines the security setting for service access. Available values are NONE, HTTP_BASIC, HTTP_TOKEN. Default value is HTTP_BASIC. |
Using values from the worksheet
The following text should be amended so the values match those in the worksheet above, then saved to an installer.ini file in the same directory as the Enactor PDP Server MSI.
; --- EXAMPLE ENACTOR INSTALLER CONFIGURATION FILE ---
; This file includes the ini file values used for configuring the
Enactor ; installer
; It is provided as a starting point for new installers, and should be
copied, edited to add settings
; appropriate for the customer and device and then managed with other
project configuration
;------General Configuration for the POS
;EM Configuration
SERVER_EMAPP_URL_BASE=\${installer.serverEMAppUrlBase}
SERVER_EMPROC_URL_BASE=\${installer.serverEMProcUrlBase}
SERVER_EMWS_URL_BASE=\${installer.serverEMWSUrlBase}
SERVER_BP_URL_BASE=\${installer.serverBPUrlBase}
;Store Server Configuration
SERVER_BOAPP_URL_BASE=\${installer.serverBOAppUrlBase}
SERVER_BOPROC_URL_BASE=\${installer.serverBOProcUrlBase}
SERVER_BOREPORTS_URL_BASE=\${installer.serverBOReportsUrlBase}
SERVER_BOWS_URL_BASE=\${installer.serverBOWSUrlBase}
;Card Authorisation Configuration
SERVER_CARD_AUTH1_URL_BASE=\${installer.serverCardAuth1UrlBase}
SERVER_CARD_AUTH2_URL_BASE=\${installer.serverCardAuth2UrlBase}
SERVER_CARD_AUTH3_URL_BASE=\${installer.serverCardAuth3UrlBase}
SERVER_CARD_AUTH4_URL_BASE=\${installer.serverCardAuth4UrlBase}
;Database Configuration
DATABASE_DRIVER=com.mysql.jdbc.Driver
DATABASE_IDENTIFIER=MYSQL
DATABASE_PASSWORD=\${installer.databasePassword}
DATABASE_SCHEMA=enactorpos
DATABASE_URL=jdbc:mysql://localhost:3306/enactorpos?serverTimezone=UTC&defaultFetchSize=1000&useCu
rsorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&a
mp;characterEncoding=UTF-8
DATABASE_USERNAME=\${installer.databaseUsername}
;Process Connection Configuration
PROCESS_CONNECTION_DEFINITION=StandardPosBackOfficeEstateManager
;Process Set Configuration
PROCESS_SET=HTMLPos
PARENT_PROCESS_SET=NextGen
;Device and Location Configuration
DEVICE_ID=\${installer.deviceId}
DEVICE_TYPE=POS
LOCATION_ID=\${installer.locationId}
;If React POS installation
SWING_PAGE_ELEMENT_HANDLER_FACTORY_CLASSNAME=com.enactor.coreUI.swing.json.pageElementHandlers.SwingJs
onPageElementHandlerFactory
POS_SWING_PROMPT_FACTORY_CLASSNAME=com.enactor.pos.json.factories.PosMixedModeSwingPromptFactory
REACT_POS_CONTENT_URL=HTMLPos/index.html
PROCESS_SET=HTMLPos
FULL_SCREEN=true
BROWSER_TYPE=chromium
HTML_POS_MODE=true
VIEW_TYPE_ID=HTMLPos
;SOLR configuration
SERVER_SOLR_URL_BASE=\${installer.serverSolrUrlBase}
;Report Configuration
SERVER_EMREPORTS_URL_BASE=\${installer.ReportsUrlBase}
;Broadcast Proxy Configuration
BROADCAST_DOWNLOAD_PROXY_URL=http://xxx.xxx.xxx.xxx:39848/WebCore/FileDownloadServlet
;Device Theme Configuration
LOCAL_THEME=
PARENT_THEME=
THEME=
;Order Module configuration
MODULE_ORDER=\${installer.modulesOrder}
SERVER_OMBP_URL_BASE=\${installer.serverOMBPUrlBase}
SERVER_OMPROC_URL_BASE=\${installer.serverOMProcUrlBase}
SERVER_OMWS_URL_BASE=\${installer.serverOMWSUrlBase}
;Inventory Module configuration
MODULE_INVENTORY=\${installer.modulesInventory}
SERVER_IMBP_URL_BASE=\${installer.serverIMBPUrlBase}
SERVER_IMPROC_URL_BASE=\${installer.serverIMProcUrlBase}
SERVER_IMWS_URL_BASE=\${installer.serverIMWSUrlBase}
;Customer Collection Module
MODULE_CUSTOMER_COLLECTIONS=false
;CRM Configuration
MODULE_CRM=false
SERVER_CMAPP_URL_BASE=\${installer.serverCMAppUrlBase}
SERVER_CMPROC_URL_BASE=\${installer.serverCMProcUrlBase}
SERVER_CMWS_URL_BASE={installer.serverCMWSUrlBase}
;Repair Module Configuration
MODULE_REPAIR=false
;Time & Attendance Module Configuration
MODULE_TIME_ATTENDANCE=\${installer.modulesTimeAttendance}
;Payment Module Configuration
SERVER_TMS_URL_BASE=\${installer.serverTMSUrlBase}
USE_PAYMENT_SERVICE=false
;Promotion Module Configuration
SERVER_PMAPP_URL_BASE=\${installer.serverPMAppUrlBase}
SERVER_PM_URL_BASE=\${installer.serverPMUrlBase}
SERVER_PMWS_URL_BASE=\${installer.serverPMWSUrlBase}
;Gift Card Configuration
SERVER_GIFT_CARD_AUTH1_URL_BASE=\${installer.serverGiftCardAuth1UrlBase}
SERVER_GIFT_CARD_AUTH2_URL_BASE=\${installer.serverGiftCardAuth2UrlBase}
;Message Service Authentication Configuration
AUTHENTICATION_DEFAULT_PASSWORD=\${installer.AUTHENTICATIONDEFAULTPASSWORD}
AUTHENTICATION_DEFAULT_USERID=\${installer.AUTHENTICATIONDEFAULTUSERID}
MESSAGE_SERVICES_DEFAULT_AUTH_TYPE=\${installer.MESSAGESERVICESDEFAULTAUTHTYPE}
Installing the POS
Once the installer.ini file has been defined, the installation can proceed.
Manual Installation
Ensure the provided MSI and the installer.ini file are in the same folder. Double click on the MSI file.
Choose Next.
The installation location can be amended here.
Choose Next.
Choose Install.
If User Account Control is enabled, the following prompt will be displayed:
Choose Yes.
Installation will proceed.
Choose Finish.
The POS is installed. Following this, the Enactor services will start and begin creating the necessary database tables.
Scripted Installation
The POS can be installed without using the UI from the command line.
The POS MSI can be installed using the msiexec command - further information about using msiexec can be found at the following link:
https://learn.microsoft.com/en-us/windows/win32/msi/command-line-options
Broadcasting Data
Once the POS installation completes, the application will connect to the Estate Manager, Store Server (if applicable) and subscribe to various message queues.
Once the subscriptions have completed, configuration and other data should be broadcast from the Estate Manager to the POS. (Enactor reference configuration contains two broadcasts that can be used for this purpose - New Build All Static Data and New Build All Product Data).
Once these broadcasts have completed, the Enactor POS application and Windows service should be restarted.
Uninstalling the POS
The simplest way to uninstall the POS is via Windows Control Panel.
Alternatively, it can be uninstalled via the command line using the msiexec application.