Skip to main content

How To Guide Native Swing POS Installation for Windows WIP

Introduction

The purpose of this document is to describe the necessary configuration needed to install the Enactor Native POS application.

Overview

This guide will cover the installation of the Enactor Native POS application on Windows.

The Estate Manager must be installed and configured before you install the Native POS application. Additionally, the following entities should be configured prior to installation: device, location, and POS terminal. Configuration steps for device, location, and POS terminal settings are described in the separate document: How To Configure a New Store.

Prerequisites

To complete the installation, you need:

  • Minimum 10GB of free disk space.

  • Database server with user and database schema created.

  • Estate Manager on version 2.7.1529 or greater.

  • The following configuration present in the Estate Manager:

    • Option set - NATIVE_POS_CONFIG_OPTIONS

    • User - BROADCAST_USER

    • Predefined broadcasts - NATIVE_POS_PDB

    • Process details - PingExtension

      • For Automatic limited broadcast

        • LimitedBroadcastExtension

        • ExportAndBroadcastFilteredData

        • TargetBroadcastDataBroadcastProcessor

    • Pos Terminal Template - REACT_RETAIL_REDUCED_POS_TEMPLATE

  • Network connectivity to the Estate Manager.

  • Network connectivity to the Store Server (v2.7.1529 or greater), if applicable.

*contact your Enactor CSM to receive any of these.

If the Embedded PDC is used, you will also need the following payment configuration:

  • Device (for the PDC)

  • Payment Device (for the PED)

  • Payment Device Host (for the PDC)

  • EFT Merchant ID (for the location)

  • EFT Terminal ID (for the PDC)

Deployment Models

The Native POS configuration will depend on the deployment model. Specifically, will the store server be deployed or will the Native POS connect directly to the Estate Manager.

With Store Server

When a store server is deployed for a location, the Native POS will need additional information about the store server hostname for each of the component servers - application, processing, services, and reports.

The process connection will be StandardPosBackOfficeEstateManager.

Architecture diagram showing deployment with a Store Server

Without Store Server

When the store server is not deployed for a location, the Native POS will connect to the Estate Manager for the component servers - application, processing, services, and reports. Use the Estate Manager hostnames for the store server component server hostnames.

The process connection will be StandardPosEstateManager.

Architecture diagram showing deployment with a Store Server

Pre-Installation

Prior to commencing the installation, you should have a database server and a schema created. Installation steps for MariaDB are described in a separate document: How To Guide MariaDB Server Install Instructions for Windows.

There are two files used to install the POS application:

  • EnactorNativePOS-x.x.x-example.ini - a file with all configuration data for the Native POS installer; this file will be copied to installer.ini and can be modified with specific values prior to running the msi installer.

  • EnactorNativePOS-x.x.x.msi - the Windows installer for the Native POS with version x.x.x.

Create the installer.ini file

The installer will look for a configuration file in the same directory: installer.ini.

To create the installer.ini file, copy the EnactorNativePOS-x.x.x-example.ini and rename as installer.ini.

Edit the installer.ini file

The base configuration file for the Native POS application 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 if the Native 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 core properties that are required to install the Enactor Native POS application. We will replace values in the file as needed for the POS application.

Required Modifications

The installer.ini file must be modified to meet the requirements of the database connection. The example file that is provided with the installer contains all the core values that need to be configured. Use the values from the worksheet unless otherwise instructed.

Installation Worksheet

The following information can be used to help populate the installer.ini file.

Note: The 'Example Value' column below contains sample values. These values will vary depending on the environment configuration and database used.

Database Server

The following table contains the required configuration to enable the Native POS to connect to the database.

Property .ini fileExample Valueenactor.xml valueDescription
DATABASE_DRIVERcom.mysql.jdbc.DriverdriverNameThe driver will vary depending on the database server that is used. When MariaDB is installed, com.mysql.jdbc.Driver is specified.
DATABASE_IDENTIFIERMYSQLQueryTranslator.DatabaseIdentifierThe database server also has an identifier that is used by the application to make the connection to the database. When MariaDB is used, MYSQL is used as the identifier.
DATABASE_PASSWORDEn4ct0rSt0reencryptedPasswordDatabase Password that the Native POS will use.
DATABASE_SCHEMAenactorposCommon.DatabaseSchemaDatabase Schema name that the Native POS will connect to.
DATABASE_URLjdbc:mysql://localhost:3306/enactorpos?serverTimezone=UTC&defaultFetchSize=1000&useCursorFetch=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FLondon&useUnicode=true&characterEncoding=UTF-8serverNameDatabase Server URL that the Native POS will connect to.
DATABASE_USERNAMEenactorposusernameDatabase Username that the Native POS will use.

Note: The ports specified above are Enactor's default values - if alternative port numbers are used, they should be updated accordingly.

Optional Database Installation

This section can be skipped if MariaDB is already installed.

The following table contains the configuration required to perform a MariaDB server installation alongside the Native POS installation.

Property .ini fileExample ValueDescription
ENABLE_DATABASE_INSTALLATIONtrueThe flag to instruct the installer that a headless installation of MariaDB should be carried out alongside the Native POS installation.
DATABASE_INSTALL_PATH${installer.databaseInstallPath}The path where the database will be installed. If the default value is used, the installation path will be: {enactorRoot}\shared\mariadb
DATABASE_PORT3306The database port.
DATABASE_DOWNLOAD_URLhttps://downloads.mariadb.com/MariaDB/mariadb-10.11.3/winx64-packages/mariadb-10.11.3-winx64.zipThe web address to download the version of MariaDB server to install.

Note: The ports specified above are Enactor's default values - if alternative port numbers are used, they should be updated accordingly.

Configuration Steps

The following steps outline how to configure the Option Set, Client Configuration Set, Device and POS Terminal to enable serial registration for a Native POS device.

Attribute / Option Sets

Option Sets are typically used to create user-configurable data entry fields, for which value options may also be supplied. The option set described in this step contains all the necessary properties used by the Enactor Native POS application.

The Attribute / Option Set maintenance application can be accessed through:

Configuration -> Merchandise -> Attribute / Option Sets

Architecture diagram showing deployment with a Store Server

Architecture diagram showing deployment with a Store Server

Find and press View on the NATIVE_POS_CONFIG_OPTIONS entry to view its contents. This Option Set is included in the Standard Configuration 2 bundle.

Architecture diagram showing deployment with a Store Server

Architecture diagram showing deployment with a Store Server

This entry is of type 'Client Configuration' for the Region 'All' and is already populated with core, additional, and payment configuration options.

Core Configuration

NameID
Development Mode EnabledCommon.DevelopmentMode
Axis2 URLaxis2.url
Broadcast Default Download Server Host NameBroadcast.DefaultDownloadServerHostName
Broadcast Default Download Server PortBroadcast.DefaultDownloadServerPort
Bpel Runtime URLBpel.RuntimeURL
Report PDF Viewer CommandReport.PDFViewerCommand
Back Office App URL BaseServer.BOApp.URL.Base
Back Office Proc URL BaseServer.BOProc.URL.Base
Back Office Proc RMI URL BaseServer.BOProcRMI.URL.Base
Back Office Reports URL BaseServer.BOReports.URL.Base
Back Office Web Service URL BaseServer.BOWS.URL.Base
Business Processing URL BaseServer.BP.URL.Base
Card Authorisation 1 URL BaseServer.CardAuth1.URL.Base
Card Authorisation 2 URL BaseServer.CardAuth2.URL.Base
Gift Card Authorisation 1 URL BaseServer.GiftCardAuth1.URL.Base
Gift Card Authorisation 2 URL BaseServer.GiftCardAuth2.URL.Base
CM App URL BaseServer.CMApp.URL.Base
CM Proc URL BaseServer.CMProc.URL.Base
CM Web Service URL BaseServer.CMWS.URL.Base
EM App URL BaseServer.EMApp.URL.Base
EM Proc URL BaseServer.EMProc.URL.Base
EM Reports URL BaseServer.EMReports.URL.Base
EM Web Service URL BaseServer.EMWS.URL.Base
PM URL BaseServer.PM.URL.Base
IM Proc URL BaseServer.IMProc.URL.Base
IM WS URL BaseServer.IMWS.URL.Base
OM WS URL BaseServer.OMWS.URL.Base
RRS URL BaseServer.RRS.URL.Base
Process Connections Definition IDProcessConnections.DefinitionId
React Pos Content URLReactPos.contentUrl
Synchronous Retail Queue Connector ModuleServiceModules.SynchronousRetailQueueConnectorModule
Synchronous Scheduled Job Feeder ModuleServiceModules.SynchronousScheduledJobFeederModule

Additional Configuration

NameID
Automatic PurgingModule.AutomaticPurging.Enabled
Predefined Broadcast ID for Automatic BroadcastBroadcast.Predefined.BroadcastID
Broadcast Changes PeriodBroadcast.ChangesPeriod
Enable Run ServicesCommon.Manage.EnableRunServices
Background Services SupportedBackgroundServices.Supported
Keep Screen OnCommon.KeepScreenOn
Customer Collections ModuleModules.CustomerCollectionsModule
Order ModuleModules.OrderModule
Time Attendance ModuleModules.TimeAttendanceModule
Re-Register PasswordApplication.Settings.Password

Payments Configuration

NameID
Embedded PDCPdc.EmbeddedPdcEnabled
PDC Company NamePdc.CompanyName
PDC Datasource NamePdc.DatasourceName
PDC Database LocationPdc.DatabaseLocation
Payment Portal HostServer.PP.Host
PDC Primary TMS URLPdc.PrimaryTmsUrl
PDC Secondary TDMS URLPdc.SecondaryTmsUrl
PDC Key IDPdc.KeyId
PDC Public KeyPdc.PublicKey

Press Cancel as no configuration changes are needed here.

Adding Additional Options to Option Sets

The NATIVE_POS_CONFIG_OPTIONS Option Set, referenced in this document, provides a baseline of common properties for configuration.

Please note that this set is not exhaustive; it does not contain every possible property available in the enactor.xml file. If your implementation requires a property that is not already listed, you must add it.

The following steps will guide you through adding any new properties to the Option Set.

Edit the Option Set.

Architecture diagram showing deployment with a Store Server

Select Add.

Architecture diagram showing deployment with a Store Server

Select the appropriate option type (such as 'Add Boolean Option' for true/false or 'Add Text Option' for text) that matches the kind of data this property will store.

Fill in the Option ID with the exact property ID (e.g., Broadcast.Predefined.BroadcastID) and then enter a friendly Name (e.g., 'Predefined Broadcast ID') that will be used as the display label.

Architecture diagram showing deployment with a Store Server

Press Save

Client Configuration Set

To enable the use of the previously viewed Option Set, a Client Configuration Set must be configured with the appropriate values for each property. These values will be used during the serial registration step to generate the enactor.xml file used by the application.

The Client Configuration Set maintenance application can be accessed through:

Administration -> Devices -> Client Configuration Sets

Architecture diagram showing deployment with a Store Server

Architecture diagram showing deployment with a Store Server

Press the Create a new Configuration Set button.

General tab

Architecture diagram showing deployment with a Store Server

Configure these properties as follow:

NameValueDescription
DescriptionNative POS Client Configuration SwingProvide a name for the client configuration set.
Device TypePOSSelect the device type.
Operating SystemWindowsSelect the operating system.

Select the Properties tab.

Properties tab

Select Native Pos Config Options from the Property Set drop down list.

Architecture diagram showing deployment with a Store Server

Values for each property can be entered here. These values will be used to generate the enactor.xml file during the registration process using a serial number.

All available properties are described below, along with sample values. The properties are categorized into Core, Additional, and Payments groups.

Core Configuration

Configure these properties as follow, replacing xx.xxx.xx.xxx with your Estate Manager Ip address:

NameValueDescription
Axis2 URLhttp://xx.xxx.xx.xxx:39833/axis2Set the axis 2 URL.
Broadcast Default Download Server Host Namexx.xxx.xx.xxxSet the broadcast default download server host name.
Broadcast Default Download Server Port39832Set the broadcast default download server port.
Bpel Runtime URLhttp://xx.xxx.xx.xxx:39832/WebCoreSet the bpel runtime URL.
Report PDF Viewer Command
Back Office App URL Basehttp://xx.xxx.xx.xxx:39848Set the back office app URL.
Back Office Proc URL Basehttp://xx.xxx.xx.xxx:39848Set the back office proc URL.
Back Office Proc RMI URL Basehttp://xx.xxx.xx.xxx:39848Set the back office proc RMI URL.
Back Office Reports URL Basehttp://xx.xxx.xx.xxx:39848Set the back office reports URL.
Back Office Web Service URL Basehttp://xx.xxx.xx.xxx:39848Set the back office web service URL.
Business Processing URL Basehttp://xx.xxx.xx.xxx:39832Set the business processing URL.
Card Authorisation 1 URL Basehttp://xx.xxx.xx.xxx:39856Set the first card auth server URL.
Card Authorisation 2 URL Basehttp://xx.xxx.xx.xxx:39856Set the second card auth server URL.
Gift Card Authorisation 1 URL Basehttp://xx.xxx.xx.xxx:39856Set the first gift card auth server URL.
Gift Card Authorisation 2 URL Basehttp://xx.xxx.xx.xxx:39856Set the second gift card auth server URL
CM App URL Basehttp://xx.xxx.xx.xxx:39830Set the CM app URL.
CM Proc URL Basehttp://xx.xxx.xx.xxx:39832Set the CM proc URL.
CM Web Service URL Basehttp://xx.xxx.xx.xxx:39833Set the CM web service URL.
EM App URL Basehttp://xx.xxx.xx.xxx:39830Set the EM app URL.
EM Proc URL Basehttp://xx.xxx.xx.xxx:39832Set the EM proc URL.
EM Reports URL Basehttp://xx.xxx.xx.xxx:39831Set the EM reports URL.
EM Web Service URL Basehttp://xx.xxx.xx.xxx:39833Set the EM web service URL.
PM URL Basehttp://xx.xxx.xx.xxx:39833Set the PM URL.
IM Proc URL Basehttp://xx.xxx.xx.xxx:39832Set the IM proc URL.
IM WS URL Basehttp://xx.xxx.xx.xxx:39833Set the IM web service URL.
OM WS URL Basehttp://xx.xxx.xx.xxx:39837Set the OM web service URL.
RRS URL Basehttp://xx.xxx.xx.xxx:39833Set the RRS URL.
Process Connections Definition IDStandardPosBackOfficeEstateManagerSet the process connection diagram based on your deployment model: StandardPosEstateManager or StandardPosBackOfficeEstateManager.
React Pos Content URLapps/react-pos-all-app/index.htmlSet the UI content URL.
Payment Portal HostSet the payment portal host.
Synchronous Retail Queue Connector ModuleEnabledEnable the Synchronous Retail Queue Connector module.
Synchronous Scheduled Job Feeder ModuleEnabledEnable the Synchronous Scheduled Job Feeder module.

Note: The ports specified above are Enactor's default values - if alternative port numbers are used, they should be updated accordingly.

Additional Configuration

Configure these properties as follow:

NameValueDescription
Automatic PurgingEnabledToggle automatic purging, which contain rules to purge certain entities and files from tables and directories. This is independent of your location purging configuration.
Broadcast Predefined Broadcast IDNATIVE_POS_PDBPredefined Broadcast ID used to automatically request data from the Estate Manager during the application's first startup.
Broadcast Changes Period5Specify the number of years to filter the data sent by the automatic broadcast, ensuring only data from the last 'x' years is included.
Keep Screen OnDisabledPrevent the device from sleeping. Not required on Swing.
Customer Collections ModuleEnabledEnable or disable the Customer Collections Module.
Order ModuleEnabledEnable or disable the Order Module.
Time Attendance ModuleEnabledEnable or disable the Time Attendance Module.
Re-Register Password12345Expected PIN to allow Re-Registering the device via the Context Menu.
Enable Run ServicesEnabledEnable the background services.
Background Services SupportedEnabledEnable the background services.
Payments Configuration

Configure these properties as follow, replacing xx.xxx.xx.xxx with your TMS IP address:

NameValueDescription
Embedded PDCEnabledEnable or disable the embedded PDC. This is a separate application that runs in conjunction with the Native POS.
PDC Company NameEnactor LtdThe company name.
PDC Datasource NameenactorpdcThe data source name of the PDC.
PDC Database LocationC:\Enactor\pos\Databases\pdc\enactorpdcThe path to the PDC database location.
PDC Primary TMS URLhttp://xx.xxx.xx.xxx/PaymentDevicemanagementServiceIP address of the primary TMS.
PDC Secondary TMS URLhttp://xx.xxx.xx.xxx/PaymentDevicemanagementServiceIP address of the secondary TMS.
PDC Key IDSet the PDC Key ID
PDC Public KeySet the PDC Public Key ID

Press Save to save the configuration.

Devices

The device entity of a Native POS requires additional configuration to enable serial number registration. This step covers selecting the appropriate Configuration Set and the necessary values to generate a serial number.

The Devices maintenance application can be accessed through:

Administration -> Devices -> Devices

Architecture diagram showing deployment with a Store Server

Architecture diagram showing deployment with a Store Server

If a Device record for the Native POS has already been created, Edit/ Copy it.
Alternatively, a new Device record can be created.

Note: For more configurations on the Devices and POS Terminals refer: How To Configure a New Store.

Architecture diagram showing deployment with a Store Server

Select the Registration tab.

Architecture diagram showing deployment with a Store Server

This is the tab where details for the serial registration are entered.

Architecture diagram showing deployment with a Store Server

Configure these properties as follow, replacing xx.xxx.xx.xxx with your Estate Manager IP address:

NameValueDescription
Configuration SetNative POS Client Configuration SwingSelect the Client Configuration Set to use.
Download Hostnamexx.xxx.xx.xxxIP address of the Estate Manager to download the configuration settings.
Download Port39833EM Server port.
Expiry Date09 October 2030Date of expiry of the serial number.

Once Configured, Press Save

POS Terminals

The POS Terminal entity for a Native POS requires additional configuration to properly utilize the POS Terminal Template. This section details the necessary steps to both update the POS Terminal template and configure the Embedded PDC in POS Terminal.

The POS Terminal maintenance application can be accessed through:

Configuration -> Organisation -> POS Terminals

Architecture diagram showing deployment with a Store Server

Architecture diagram showing deployment with a Store Server

Edit the designated POS Terminal.
Navigate to the General main tab and then the Overview sub tab.
Change the POS Terminal Template to 'React Reduced POS Terminal Template'.
Architecture diagram showing deployment with a Store Server

Then, press Save.

The following step only requires if you plan to use the Embedded PDC instead of an external one. The Embedded PDC functions like any standard PDC and is bundled directly with the Native POS application.

Edit the POS Terminal and select the Peripherals tab.

Architecture diagram showing deployment with a Store Server

Select the Payment Device Host that the Embedded PDC should use.

Architecture diagram showing deployment with a Store Server

Lastly, press Save.

The Payment Device Host ID added in the POS terminal configuration will override the value given in the Client Configuration Set.

After POS Terminal configurations, go back to the Device Maintenance, edit the device, and select the Registration tab.

Architecture diagram showing deployment with a Store Server

Then press the Generate button next to the Registration Serial Number field. This will generate the serial needed to register the Native POS device. The Serial number is dependent only on the Download Hostname and the Download Host port. You have to re-generate the serial number only if these values are modified.

Architecture diagram showing deployment with a Store Server

Take note of the serial number to be used during the registration and press Save.

MSI Installation

Running the MSI

Ensure that the provided MSI installer and installer.ini file are located in the same directory. Double click on the MSI file to trigger the installation.

Architecture diagram showing deployment with a Store Server

Select Next.

Architecture diagram showing deployment with a Store Server

The default installation path is C:\Enactor. This can be changed if desired. Select Next again.

Architecture diagram showing deployment with a Store Server

Select Install.

Architecture diagram showing deployment with a Store Server

Select Yes. The installation will proceed to completion.

Architecture diagram showing deployment with a Store Server

Architecture diagram showing deployment with a Store Server

Select Finish and the installation is complete.

Note: The Enactor POS Service Windows service will not start immediately. The service will start after the Device Registration process (described later in this document) is completed.

Native POS Registration

When the Enactor Native POS is launched for the first time, the application initialises without any device-specific configuration, as the download of such data is deferred to the serial number registration step.

Serial Number Registration

Launch the Enactor Native POS using the desktop shortcut created by the installer. This action creates the database tables and the Data folder. Select the Using a Serial Number option.

Architecture diagram showing deployment with a Store Server

Architecture diagram showing deployment with a Store Server

Enter the device's registration serial number, then press Continue.

Architecture diagram showing deployment with a Store Server

A call is then made to the Estate Manager to identify the POS device being configured.

If successful, a pop-up message appears asking for confirmation to register the device.

Press OK to confirm.

Architecture diagram showing deployment with a Store Server

The application then downloads an initial set of configuration data required to identify and initialize the POS terminal, along with the properties and values of its Client Config Set.

The downloaded configuration includes the device, POS terminal, POS terminal template, location, and location template entities.

This step also generates the device-specific enactor.xml file (located in the SettingsCache folder) by merging the base enactor.xml with the data retrieved from the Client Config Set.

Architecture diagram showing deployment with a Store Server

Once the download is complete, a message appears confirming the successful registration of the device. Press OK to continue.

Architecture diagram showing deployment with a Store Server

This action automatically sends a request to the Estate Manager to download static data using the predefined broadcast NATIVE_POS_PDB by the user BROADCAST_USER.

A series of messages indicate the progress and stages of the broadcast.

The first message reads: 'Requesting POS Data. This may take a few minutes.'

Architecture diagram showing deployment with a Store Server

Once the request is acknowledged by the Estate Manager, the message updates to: 'Requested POS Data. This may take a few minutes.'

The broadcast request is then processed, exported, and sent to the POS.

Architecture diagram showing deployment with a Store Server

When the POS receives the instructions to download the broadcast .zip file, the toast message updates to: 'Notification received. Downloading and importing data.'

Architecture diagram showing deployment with a Store Server

Once the initial broadcast has been successfully imported, a final message appears: 'Data fully received and ready to use.'

Architecture diagram showing deployment with a Store Server

The message disappears after a few seconds, and the POS is then ready for use.

Architecture diagram showing deployment with a Store Server