Professional Documents
Culture Documents
Xstorexenv 180 Ug
Xstorexenv 180 Ug
Xstorexenv 180 Ug
User Guide
Release 18.0
F10695-01
December 2018
Oracle® Retail Xenvironment User Guide, Release 18.0
F10695-01
v
Creating Atoms ..................................................................................................................... 10
LaunchMaster Configurations ..................................................................................... 14
Chains ..................................................................................................................................... 15
Example ........................................................................................................................... 15
Inserting an Atom or Chain Into a Chain ................................................................... 15
Example ........................................................................................................................... 16
Creating Chains.............................................................................................................. 16
Denymarkers ......................................................................................................................... 17
Allowmarkers ........................................................................................................................ 17
3 Configuring the Oracle Retail Xenvironment Engine ............................................. 19
Overview ................................................................................................................................ 19
About this Chapter ........................................................................................................ 19
Base Oracle Retail Xenvironment Directory Structure and Contents ............................ 19
The Main Directory: <root_directory>........................................................................ 19
Subdirectory: <root_directory>\bin ........................................................................... 19
Subdirectory: <root_directory>\cust_config\version1............................................ 20
Subdirectory: <root_directory>\res\data .................................................................. 20
Subdirectory: <root_directory>\download ............................................................... 20
Subdirectory: <root_directory>\ext ............................................................................ 20
Subdirectory: <root_directory>\log ........................................................................... 20
Subdirectory: <root_directory>\marker .................................................................... 20
Subdirectory: <root_directory>\poll .......................................................................... 20
Subdirectory: <root_directory>\res\ssl ..................................................................... 21
Subdirectory: <root_directory>\tmp .......................................................................... 21
Subdirectory: <root_directory>\wwwroot ................................................................ 21
Subdirectory: <root_directory>\ wwwroot \support .......................................... 21
Configuring the Oracle Retail Xenvironment Engine ...................................................... 21
environment.properties ................................................................................................ 21
local.properties ............................................................................................................... 22
Register-Specific Configurations ................................................................................. 23
System Configurations .................................................................................................. 23
actions.properties ........................................................................................................... 25
alerts.properties.............................................................................................................. 25
update.properties ........................................................................................................... 25
version.properties .......................................................................................................... 27
Running Xenvironment as a Service .................................................................................. 27
Windows ......................................................................................................................... 27
Managing the Windows Service .......................................................................... 27
Linux ................................................................................................................................ 28
4 Configuring Oracle Retail Xenvironment GUI ......................................................... 29
Overview ................................................................................................................................ 29
About this Chapter ........................................................................................................ 29
vi
Oracle Retail Xenvironment UI Directory Structure and Contents ............................... 29
Configuring the Oracle Retail Xenvironment UI .............................................................. 29
XenvContextConfig.xml ............................................................................................... 29
environment.properties ................................................................................................ 29
XenvAlertsConfig.xml................................................................................................... 30
Example................................................................................................................ 31
XenvMenuConfig.xml ................................................................................................... 31
Context Configuration .................................................................................................. 31
Pop-up Menu Configuration ........................................................................................ 32
Menu Key Configuration .............................................................................................. 32
Example................................................................................................................ 35
XenvPromptConfig.xml ................................................................................................ 35
Example................................................................................................................ 36
xenv-ui-dialog-config.properties ................................................................................. 37
Window Size and Location ........................................................................................... 37
XenvFontConfig.xml ..................................................................................................... 38
Example................................................................................................................ 38
xenv-ui-probers_{OS}.properties ................................................................................. 39
5 Oracle Retail Xenvironment Processing ................................................................. 41
Overview ................................................................................................................................ 41
About this Chapter ........................................................................................................ 41
Log Files ................................................................................................................................. 41
xenvironment.log ........................................................................................................... 41
Trickle Polling........................................................................................................................ 42
Uploads ........................................................................................................................... 43
Downloads ...................................................................................................................... 43
Deployment ........................................................................................................................... 44
Background Update .............................................................................................................. 45
The Daily Maintenance Process .......................................................................................... 45
Packaging of Upload Files (Creating pospoll.zip) ..................................................... 45
File Archive Updates ..................................................................................................... 46
Archive Structure ........................................................................................................... 46
update.properties ........................................................................................................... 47
Example................................................................................................................ 47
scripts............................................................................................................................... 47
Application Update Processing Example ................................................................... 47
Manual Closing Options ...................................................................................................... 48
Processing of Application Updates ............................................................................. 48
Processing of Cipher Files............................................................................................. 49
Processing of debit.txt File ............................................................................................ 49
6 Using Oracle Retail Xenvironment ........................................................................... 51
Overview ................................................................................................................................ 51
vii
About this Chapter ........................................................................................................ 51
Starting Oracle Retail Xenvironment ................................................................................. 51
Graphical User Interface (GUI) ........................................................................................... 52
On-Screen Keyboard ..................................................................................................... 52
Features ........................................................................................................................... 52
In-Window Keyboard ................................................................................................... 53
Message Screen .............................................................................................................. 54
View Message Details.................................................................................................... 54
Clear Message................................................................................................................. 54
POS Status .............................................................................................................................. 55
Register Status ................................................................................................................ 55
Process Steps................................................................................................................... 56
Alert Detail...................................................................................................................... 56
Apps................................................................................................................................. 56
About ............................................................................................................................... 57
Systems Support/Attention ................................................................................................ 57
Menu Buttons ........................................................................................................................ 58
Status Bar................................................................................................................................ 59
Support Menu........................................................................................................................ 60
System Menu ......................................................................................................................... 61
Capture Logs ......................................................................................................................... 62
Hotkeys .................................................................................................................................. 62
Password Protected Functions ..................................................................................... 64
Plugins .................................................................................................................................... 65
Run a Chain or Atom .................................................................................................... 65
Tech Support Menu ....................................................................................................... 65
Task List .......................................................................................................................... 66
View Marker Files .......................................................................................................... 67
7 Disaster Recovery ..................................................................................................... 69
Overview ................................................................................................................................ 69
Requirements.................................................................................................................. 69
Processing in Disaster Recovery Mode ....................................................................... 69
About this Chapter ........................................................................................................ 69
Convert a Register to Lead .................................................................................................. 70
Restore the Lead Register .................................................................................................... 71
Custom Actions ..................................................................................................................... 71
Convert a Register ......................................................................................................... 72
Restore the Lead Register ............................................................................................. 72
A The Daily Maintenance Process: Atom by Atom .................................................... 73
The BUSINESS_DATE_CHANGED Chain ....................................................................... 73
The UPDATES Chain ........................................................................................................... 79
viii
Send Us Your Comments
Oracle Retail Xenvironment, User Guide, Release 18.0
Oracle welcomes customers' comments and suggestions on the quality and usefulness of
this document.
Your feedback is important, and helps us to best meet your needs as a user of our
products. For example:
Are the implementation steps correct and complete?
Did you understand the context of the procedures?
Did you find any errors in the information?
Does the structure of the information help you with your tasks?
Do you need different information or graphics? If so, where, and in what format?
Are the examples correct? Do you need more examples?
If you find any errors or have any other suggestions for improvement, then please tell us
your name, the name of the company who has licensed our products, the title and part
number of the documentation and the chapter, section, and page number (if available).
ix
Preface
The Oracle Retail Xenvironment User Guide describes the installation, upgrade, and
configuration of Oracle Retail Xenvironment release 18.0.
Audience
This User Guide is intended for anyone responsible for the installation, upgrade, and
configuration of Oracle Retail Xenvironment 18.0.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility
Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Related Documents
For more information, see the following documents in the Oracle Retail Xstore Suite 18.0
documentation set:
Xstore Suite Release Notes
Xstore Suite Oracle Retail Xstore Suite 18.0/Merchandising 16.0.2. Implementation Guide
Xstore Point-of-Service User Guide
Xstore Point-of-Service Mobile User Guide
Xstore Point-of-Service Reports Guide
Xstore Point-of-Service Manager's Guide
Xstore Point-of-Service Shipping, Receiving, and Inventory Guide
Xstore Office User Guide
Xstore Suite Implementation and Security Guide
Xstore Point-of-Service Frameworks and Technologies Guide
Xstore Suite Deal Pricing Guide
Xstore Point-of-Service Services Guide
Xstore Point-of-Service Technical Guide
Xstore Point-of-Service Host Interface Guide
Xstore Point-of-Service Database Dictionary Guide
Xstore Point-of-Service POSLog Changes
Xstore Office Database Dictionary Guide
Customer Support
To contact Oracle Customer Support, access My Oracle Support at the following URL:
xi
https://support.oracle.com
When contacting Customer Support, please provide the following:
Product version and program/module name
Functional and technical description of the problem (include business impact)
Detailed step-by-step instructions to re-create
Exact error message received
Screen shots of each step you take
xii
Conventions
The following text conventions are used in this document:
Convention Meaning
xiii
1
Introduction
Overview
The main purpose for the Oracle Retail Xenvironment application consists of three
important functions:
Help the point-of-sale (POS) software perform daily maintenance procedures.
Assist the POS software with software upgrades.
Secure the operating system.
The Oracle Retail Xenvironment application is installed on a POS register and provides a
communication link between the lead and non-lead registers. (See “Responsibilities of
Both Lead and Non-Lead Registers”.) An internal messaging framework enables Oracle
Retail Xenvironment to send messages between the Oracle Retail Xenvironment engine
and the Oracle Retail Xenvironment UI, between a lead register and non-lead registers,
and between Oracle Retail Xenvironment and the Dataserver.
The messaging framework also allows messages to be sent back and forth between
Oracle Retail Xenvironment and the Oracle Retail Xstore Point-of-Service POS
application. Thus, Oracle Retail Xstore Point of Service can notify Oracle Retail
Xenvironment, by Xstore, or remotely via HTTPS messaging. when a specific task must
be completed. For example, daily maintenance processes handled by Oracle Retail
Xenvironment are started automatically when Oracle Retail Xstore Point of Service sends
a message through this communication link.
“The Daily Maintenance Process: Atom by Atom” goes through each atom and chain
in the Daily Maintenance store chain, describing the actions performed by each atom
and chain.
Security
On a register running Oracle Retail Xenvironment, the user is restricted to only the tasks
that are displayed and available through Oracle Retail Xenvironment's graphical user
interface (GUI). The tasks that you make available can be configured to be run from on-
screen buttons, keystrokes, and menus. All tasks can be password-protected to ensure
that only employees with the proper permission level can run security-restricted
commands.
TLS-Encrypted Communication
To ensure PCI compliance, Oracle Retail Xenvironment requires authenticated, TLS-
encrypted communications with Oracle Retail Xstore Point of Service and with other
systems running Oracle Retail Xenvironment. All systems must use TLS to communicate
with Oracle Retail Xenvironment 18.0.
2
Oracle Retail Xenvironment 18.0
User Interface
Oracle Retail Xenvironment uses a screen layout that is similar to Oracle Retail Xstore
Point of Service. Information is displayed in a focus bar, view port, and status bar.
Functions and actions can be performed through a row of menu buttons placed near the
bottom of the screen.
The Oracle Retail Xenvironment interface is intended to replace the default operating
system shell. Figure 1-1 shows the Start Screen of the Oracle Retail Xenvironment UI.
The main features of the Start Screen, from top to bottom, are the Please Note section, the
POS Status, the System Support/Attention section, the Menu Buttons and the Status Bar.
Please Note: Displays messages and alerts from Oracle Retail Xstore Point of Service
and Oracle Retail Xenvironment.
POS Status: Displays store and register status information.
Systems Support/Attention: Describes how to return focus to Oracle Retail Xstore
Point of Service or Oracle Retail Xenvironment.
Menu Buttons: A row of buttons that are used to perform functions available in
Oracle Retail Xenvironment. To use the buttons, either touch them on a touchscreen
monitor, click them with the mouse cursor, or press the associated shortcut key.
Functions and actions can also be performed through hotkeys.
Notification Area/Process Status: The Notification Area displays activity
information.
Status Bar: Displays information describing the register system, store location, and
updates from processes run by the user through Oracle Retail Xenvironment.
directory on a Linux system. Even though the paths are configurable, it is best to use the
default location to ensure there are no problems resulting from cross-application updates
and user permissions.
For a description of Oracle Retail Xenvironment installation, see the Oracle Retail
Xstore Suite Implementation and Security Guide.
For more information about the directories created by the Base Oracle Retail
Xenvironment installation, see “Base Oracle Retail Xenvironment Directory Structure
and Contents”.
For more information about the directories created by the Oracle Retail
Xenvironment GUI installation, see “Oracle Retail Xenvironment UI Directory
Structure and Contents”.
Software Updates
Oracle Retail Xenvironment has a built-in framework that can be used to perform
software upgrades. The primary purpose of this framework is to upgrade the Oracle
Retail Xstore Point of Service and Oracle Retail Xstore Payment software. However, it can
also be used to upgrade other software packages, such as applying Windows service
packs. This process runs as part of daily maintenance.
4
Oracle Retail Xenvironment 18.0
6
2
Atoms and Chains
Overview
Oracle Retail Xenvironment actions are defined in components called “atoms” and
“chains”. These two components are the basic units that contain the actions executed by
Oracle Retail Xenvironment.
Atoms and chains may be triggered by the GUI, or they may be triggered by Hotkey
operations. They can be invoked on a schedule, as part of a startup sequence, or as part of
the daily maintenance sequence.
Naming Rules
Atom and chain names can include the following characters:
Letters (A-Z, a-z)
Numbers (0-9)
Dashes (-)
Underscores (_)
No other characters are permitted in the names of atoms or chains.
Atoms
An atom is a single action that may be executed. An atom is a configurable component
that consists of a Java class (.class), any accompanying arguments, and any
configuration options. Atom configurations are found in the file actions.properties.
Example
The atom shown below starts the Oracle Retail Xstore Point-of-Service application:
atom.start-xstore.class=LaunchMaster
windows.atom.start-xstore.args=%{s:xstore.dir.root}/xstore.bat
linux.atom.start-xstore.args=%{s:xstore.dir.root}/xstore.sh
atom.start-xstore.hide=True
atom.start-xstore.wait=False
atom.start-xstore.disabled=%{b:xstore.disabled}
atom.start-xstore.cwd=%{s:xstore.dir.root}
windows.atom.start-xstore.windowtitle=Oracle Retail Xstore
Point of Service
windows.atom.start-xstore.windowclass=SunAwtDialog
Invoking the start-xstore atom calls the LaunchMaster function using an argument
that contains the complete path to a shell script. In the example above, the atom's name is
start-xstore, and the atom's class is LaunchMaster.
The atom's argument in Windows and Linux:
%{s:xstore.dir.root}/xstore.bat (Windows)
%{s:xstore.dir.root}/xstore.sh. (Linux)
In addition the class and arguments, several configuration options are set in this atom.
The hide attribute is set to True, the wait attribute is set to False, and so on. And, on
Windows only, the windowtitle and windowclass configurations are used to
determine if Oracle Retail Xstore Point of Service is running already and, if it is running,
switch to it.
Atom Aliases
Aliases can be assigned to atoms, allowing an atom to be used multiple times in a given
chain (each atom in a single chain must have a unique name), as well as provide
shortened or simplified atom references. Aliases may be set for frequently referenced
functions.
For example, the following line in actions.properties creates an alias
dataserver-backup-xstore-pre-poll that, when called, will run the atom
dataserver-oracle-backup-xstore-pre-poll, when database.platform is
set to a value of oracle.
alias.dataserver-backup-xstore-pre-poll.action=
dataserver-%{s:database.platform}-backup-xstore-pre-poll
Note: The rules for atom alias names are the same as those
for atom names (see “Naming Rules”).
8
Oracle Retail Xenvironment 18.0
Permit Times
Permit times configure the days and times of the week when an atom can start running.
The times configured are the only times when the atom can start.
Permitted start times for atoms are configured using the following format:
atom.name.permitted_start_times=<day_of_week>,<time>,<duration
>[;...]
Disallow Times
Disallow times configure the days and times of the week when an atom cannot start
running. Atoms cannot start within the times configured.
Disallowed start times for atoms are configured using the following format:
atom.name.permitted_start_times=!<day_of_week>,<time>,<duratio
n>[;...]
Example #1
atom.example1.permitted_start_times=*,19:00,3
The example1 atom can start running at any time between 7:00 PM and 10:00 PM on any
day of the week.
Example #2
atom.example2.permitted_start_times=wed,4:00,3;thu,22:00,4
The example2 atom can start running at any time between 4:00 AM and 7:00 AM on
Wednesday, or any time between 10:00 PM Thursday and 2:00 AM Friday.
Example #3
atom.example3.permitted_start_times=!*,8:00,12
The example3 atom cannot start running at any time between 8:00 AM and 8:00 PM on
any day of the week.
In other words, the atom CAN start running at any time between 8:00 PM and 8:00 AM.
Example #4
atom.example4.permitted_start_times=!sat,19:00,3;!sun,19:00
,5
The example4 atom cannot start running at any time between 7:00 PM and midnight on
either Saturday or Sunday.
In other words, the atom CAN start running at any time Monday through Friday, or
anytime between 12:00 AM and 7:00 PM on either Saturday or Sunday.
Creating Atoms
It may be necessary to create a custom action to accomplish a task. You may configure a
new atom in the file actions.properties (see “actions.properties”) by following
these steps:
1. Assign a unique name to the new atom, such as my-new-atom.
a. Assign the atom to a class. Refer to Table 2-1: Common Classes for Creating
Custom Atoms for Class detail.
2. Determine the atom's required set of arguments. For information about the
arguments for each class, refer to Table 2-1: Common Classes for Creating Custom
Atoms below.
3. Within the actions.properties, add the atom using the correct prefix (atom.)
and suffix (.class and .args):
atom.theAtomName.class=
atom.theAtomName.args=
10
Oracle Retail Xenvironment 18.0
Class Description
CopyFiles This class is used to copy files from one location in the file
system to another.
Additional configurations:
.source - the source directory of files
.regex - a regular expression matching the file to copy
.destination - the destination directory
.filterflags - comma separated list of the following
options:
CANON_EQ, CASE_INSENSITIVE, COMMENTS,
DOTALL, LITERAL, MULTILINE,
UNICODE_CASE, UNICODE_CHARACTER_CASE,
UNIX_LINES
(See - javadoc for java.util.regex.Pattern for
more information.)
MakeDirectory This class is used to create a new directory tree. All the
directories within the configured path are created by this
class, including all intermediate directories.
Additional configurations:
.directory - The directory structure to be created.
.mode - The posix string representation of the permissions.
It has 9 characters that are interpreted as three sets of three.
The first set refers to the owner's permissions; the next to the
group permissions and the last to others. Within each set,
the first character is 'r' to indicate permission to read, the
second character is 'w' to indicate permission to write, and
the third character is 'x' for execute permission. Where a
permission is not set, the corresponding character is set to
'-'. ([DEFAULT] rwxr-x---).
Class Description
MoveFiles This class is used to move files from one location to another.
Additional configurations:
.source - the source directory
.regex - a regular expression matching the file to move
.target - where to move the files
.filterflags – comma separated list of the following
options:
CANON_EQ, CASE_INSENSITIVE, COMMENTS,
DOTALL, LITERAL, MULTILINE,
UNICODE_CASE, UNICODE_CHARACTER_CASE,
UNIX_LINES
(See - javadoc for java.util.regex.Pattern for
more information.)
.errmarker - The flag file to create, if an error is
generated by an atom or chain.
.drsafe - Determines whether the atom can be run while
the system is in disaster recovery mode.
.disabled - Indicates whether the atom is disabled
RemoveDirectory This class is used to remove a directory and all the
subdirectories and files within that directory tree.
Additional configurations:
.directory - directory to be removed.
.recreate - If true, a new directory will be created with
the name, once after removing the old directory.
RemoveFiles This class is used to remove files from the file system. It
gives the user the ability to remove individual files, or all
files in a directory.
Additional configuration:
.filepath – directory containing the files to remove.
.filefilter - regular expression used to match files
to remove.
.filterflags – comma separated list of the
following options:
CANON_EQ, CASE_INSENSITIVE, COMMENTS,
DOTALL, LITERAL, MULTILINE,
UNICODE_CASE, UNICODE_CHARACTER_CASE,
UNIX_LINES
(See -javadoc for java.util.regex.Pattern for
more information.)
12
Oracle Retail Xenvironment 18.0
Class Description
Unzip This class extracts files from one or more .zip archives.
Additional configurations:
.archive - a fully qualified path of a single ZIP file to
process. (If specified, .archives and .srcdir are
ignored)
.srcdir - used with .archives to indicate the
directory to search for ZIP files to extract
.archives - regular expression matching ZIP files to
extract
.filterflags - (same explanation as other locations)
DEFAULT: CASE_INSENSITIVE
.archives
.path - The directory into which the files in the .zip
archive(s) are extracted.
.srcdir - The location of the .zip archive(s).
.delete_unzipped_archives - [True/False]
Determines whether the .zip archives are deleted after they
are unzipped.
Class Description
LaunchMaster Configurations
The LaunchMaster class includes several important configurations, such as how an atom
is executed, the options used in its execution, and what LaunchMaster should do if there
are errors. The LaunchMaster class has the following configuration options:
.args - The command to run including any arguments.
.allowmarkers - Controls whether a chain or atom can be run (see
“Allowmarkers”).
.cwd - Sets the current working directory used by the script during execution.
.denymarkers - Controls whether a chain or atom can be run (see “Denymarkers”).
.disabled - [True/False] Indicates whether the atom is disabled. If set to
True, the atom will not run.
.drsafe - [True/False] Determines whether the atom can be run while the
system is in disaster recovery mode. Only atoms with this configuration set to “True”
can run while the system is in disaster recover mode.
.errmarker - The flag file to create if an error is generated by an atom or chain.
This configuration applies to all atoms and chains.
.hide - [True/False] Indicates whether the script execution should be hidden.
.useretcode - [True/False] Determines whether a return code of 0 is
considered successful execution or an error.
If set to True, the return value from the command is used. A value of 0 or 99
indicates successful execution and 20 indicates a warning; any other value
indicates an error.
If set to False, a return value of 0 indicates successful execution; any other value
is an error.
.wait - [True/False] Used in chains. Indicates whether execution of the chain
should wait for the atom to complete before running the next atom in the chain.
.warnmarker - The flag file to create if a WARNING is generated by an atom or
chain. This configuration applies to all atoms and chains.
14
Oracle Retail Xenvironment 18.0
Chains
A chain is a component that includes multiple atoms or chains, each of which is an
action, and is listed in the sequence in which it should be performed. Chain
configurations are found in the actions.properties file (see “actions.properties”).
Example
This chain checks for updates and applies them:
lead.chain.trickle-polling.atoms=unzip-uploaded-trickle-
packages
create-final-trickle-polling-package poll-trickle
process-pre48-trickle-downloads execute-dataloader-trickle
The lead keyword at the start of the chain limits this chain to only run on the lead
register. If the chain only runs on nonlead registers, the chain would start with the
nonlead keyword. Chains that run on both lead and nonlead registers do not specify
either lead or nonlead.
In the example above, the chain’s name is trickle-polling and it executes the atoms
in the order that they are listed:
1. unzip-uploaded-trickle-packages - Unzips trickle packages uploaded to the
lead register.
2. create-final-trickle-polling-package - Combines the contents of all the
uploaded trickle packages into one final package.
3. poll-trickle - Uploads the final package to the corporate server.
4. process-pre48-trickle-downloads - Processes update files downloaded to the
system.
5. execute-dataloader-trickle - Downloads updates from the Dataloader.
Multiple new atoms and chains can be inserted in the same location in a chain by listing
multiple, space-separated atoms.
Example
In this example, there is a chain named example. Its default configuration consists of the
atoms atom1, atom2,and atom3. The configuration of this chain would be the
following:
chain.example.atoms=atom1 atom2 atom3
Three atoms are to be added to the chain: begin,stop, and pause.
1. To insert the atom begin to the start of the chain, add the following configuration to
the cust_config/version1/actions.properties file:
chain.example.insertbefore.atom1=begin
2. The following configuration inserts the atom stop at the end of the chain:
chain.example.insertafter.atom3=stop
3. Either of the following configurations will insert the atoms pause and resume
between atom1 and atom2:
chain.example.insertafter.atom1=pause resume
-OR-
chain.example.insertbefore.atom2=pause resume
When the three configurations above are made, the chain will now be equivalent to the
following (note that the following line will not actually appear in any file):
chain.example.atoms=begin atom1 pause resume atom2 atom3
stop
Creating Chains
If you need to combine multiple atoms into a new chain, follow these steps:
1. Give the chain a unique name, such as my-new-chain. To avoid possible future
collision, include a unique prefix, like the retailer ID.
2. Identify the atoms and/or chains that will be included in the chain. Enter each atom
or chain in the order that it will be executed and separate it with a space from the
others. For example:
atom1 atom2 chain3 atom4
3. Enter the chain into the file actions.properties with the required chain prefix
(chain.) and suffix (.atoms).
For example:
chain.my-new-chain.atoms=atom1 atom2 chain3 atom4
16
Oracle Retail Xenvironment 18.0
Denymarkers
Denymarkers are used to prevent a chain or atom from running. If a denymarker is set
for a chain or atom, the chain or atom will not run if the marker file exists in the marker
directory (see “Subdirectory: <root_directory>\marker” for more information).
For example, if the following line exists in the actions.properties file:
chain.BUSINESS_DATE_CHANGED.denymarkers=close.err
the chain BUSINESS_DATE_CHANGED will not run if the marker file close.err exists in
the marker directory.
Wildcard characters are allowed. Space-separated lists of filenames can be used to
indicate multiple possible filenames. For example, if the following line exists in the
actions.properties file:
atom.start-xstore-auto.denymarkers=*.err *.wrn
xstore.running
the atom start-xstore-auto will not run if any file ending in either .err or .wrn
exists in the marker directory, or if the file xstore.running exists in the marker
directory.
Allowmarkers
Allowmarkers are used to control whether a chain or atom can be run. If an allowmarker
is set for a chain or atom, the chain or atom will only run if the marker file exists in the
marker directory (see “Subdirectory: <root_directory>\marker” for more information).
For example, if the following line exists in the actions.properties file:
chain.BUSINESS_DATE_CHANGED.allowmarkers=close.ready
the atom BUSINESS_DATE_CHANGED will not run unless the marker file close.ready
exists in the marker directory.
Wildcard characters are allowed. Space-separated lists of filenames can be used to
indicate multiple required files. For example, if the following line exists in the
actions.properties file:
atom.start-xstore-auto.allowmarkers=*.xst *.dta
xstore.installed
the atom start-xstore-auto would only run if at least one file ending in .xst, at
least one file ending in .dta, and the file xstore.installed exist in the marker
directory.
Subdirectory: <root_directory>\bin
This directory contains the native binaries used by Oracle Retail Xenvironment.
Subdirectory: <root_directory>\cust_config\version1
Configuration files containing customer-specific updates to the files in the
<root_directory>\config directory. Any configurations entered into files in this
directory override the configurations in the files in the <root_directory>\config
directory. All overrides are performed on a setting-by-setting basis, not a file-by-file
basis.
Subdirectory: <root_directory>\res\data
This directory stores .dat files containing details about updates that have been
processed, and one .dat file that tracks registration information. These files are accessed
during the update process. In some cases, additional subdirectories may be created in
this directory to store files or database backups.
Subdirectory: <root_directory>\download
This directory is used as a location for registers to place files that have been copied from
other registers. For example, when the Lead Register is preparing the PosLog files, it
copies them from each register to the directory <root_directory>\download\tmp
and then prepares the polling upload file(s).
Subdirectory: <root_directory>\ext
This directory contains miscellaneous shell and binary files. Directly under
<root_directory>\ext are shell scripts invoked by Oracle Retail Xenvironment
actions.
Within this directory is the subdirectory <root_directory>\ext\util. This subdirectory
contains binary files, most of which are troubleshooting and/or support tools.
Subdirectory: <root_directory>\log
This subdirectory contains the log files produced by the Oracle Retail Xenvironment
application.
Subdirectory: <root_directory>\marker
This directory is used for marker files. A marker file provides a way for a register to
“flag” (i.e. indicate) the status of a currently running process. One important marker file
is SYSCLOSE.XST, which is created on the Lead Register when the daily maintenance is
running.
Subdirectory: <root_directory>\poll
This directory is used to include additional files in the pospoll package. Oracle Retail
Xenvironment automatically copies files here for inclusion in the polling package, and
any additional files added to this directory will also be included in the package. This
directory also contains a trickle/ folder that is used for trickle polling.
20
Oracle Retail Xenvironment 18.0
Subdirectory: <root_directory>\res\ssl
This directory contains the TLS certificates.
Subdirectory: <root_directory>\tmp
This directory contains temporary files used by Oracle Retail Xenvironment.
Subdirectory: <root_directory>\wwwroot
This directory is used with the web server. It is the root directory for any “child” folders
to be made available for download through HTTPS.
environment.properties
The environment.properties file defines the following properties used by Oracle
Retail Xenvironment:
Available Roles - Defines the names of the roles to which registers can be assigned.
Environment Variables - Defines paths used internally to locate certain files needed
for specific tasks in Oracle Retail Xenvironment.
Root Directory - Indicates the root directory where Oracle Retail Xenvironment was
installed.
Marker File Variables - Defines the names and paths for marker files used by Oracle
Retail Xenvironment.
Zip File Database Configurations - Defines the names and paths of files in .zip
format that are used during various operations.
Deployment Process Configuration - Determines the servers, connections,
destination directories, and other configurations required for the deployment
process.
Operating System Options - Sets configuration options that affect the operating
system and the user’s ability to interact with it.
Signature Validation - Determines whether Oracle Retail Xenvironment uses
security signature files to validate Oracle Retail Xstore Point-of-Service update files,
and the associated configurations if this option is enabled.
To turn off signature validation:
atom.apply-updates-xstore.allow_unsigned=false
atom.apply-updates-xstore-immediate.allow_unsigned=false
POS Options - Configures properties that are specific to the point-of-sale software
running on the local register.
Hostname for Registration - Forces a specific hostname for registration (this should
only be used in the rare case that the engine is unable to get the correct hostname).
IPC Ports - Determines the default network ports used by Oracle Retail
Xenvironment client and server functions.
Broadcast Markers - Defines marker files that are broadcast from any register to any
other register in the store (by default, the only file broadcast is the close.err
marker, which is created in the lead register). For more information about marker
files, see “Denymarkers” and “Allowmarkers”.
Automated installation methods are available to customers, but if the
environment.properties file must be configured manually for a customized version
of Oracle Retail Xstore Point of Service, the following customer-specific configurations
are required:
marker.pollok: the directory and file used to flag the daily maintenance and indicate
that polling has been completed.
Example:
marker.reboot=%{s:environment.dir.root}/marker/ reboot.xst
(The space after /marker/ is intentional and must be included.)
pos.dir.download: the destination directory for the update files that are distributed
to non-lead registers by the polling service.
Example:
pos.dir.download.src=%{s:xstore.dir.root}/download/
pos.dir.db: the directory for the database data file(s) and/or database directory.
Example:
windows.pos.dir.db=c:/xstoredb
local.properties
This file configures register information for Oracle Retail Xenvironment. This
configuration file contains the following settings:
1. Register settings - properties defining the register, its connections to other systems,
and whether the system is a lead or non-lead register.
2. System settings - properties indicating whether the database is disabled and whether
Oracle Retail Xstore Point of Service is present on the register.
If a customized version of Oracle Retail Xstore Point of Service is installed, this file must
be configured “out of the box”. Automated installation methods are available to
customers, but if this file must be configured manually, you must perform “Register-
Specific Configurations” and “System Configurations”.
22
Oracle Retail Xenvironment 18.0
Register-Specific Configurations
Note:
- The lead register information must be configured
correctly for the non-lead registers to locate the other
registers.
- It may take up to an hour for all of the non-lead registers
to locate each other after they first boot up.
- Registers automatically become inactive when they shut
down or reboot.
- The registration data is retained and cached on all
registers so they have the information on the next boot.
This data is cached in the <root_directory>/
res/data/registrationdata.json file.
- Registers become inactive if they do not register for two
hours.
- Registers expire if they do not register for 19 days.
System Configurations
xstore.disabled - Whether Oracle Retail Xstore Point of Service is installed on the
local system. When set to True, Oracle Retail Xenvironment does not attempt to start
Oracle Retail Xstore Point of Service or send status updates during daily
maintenance.
Example:
xstore.disabled=false
24
Oracle Retail Xenvironment 18.0
actions.properties
The actions.properties file contains definitions of both “atoms” and “chains”.
An atom is an internal function that Oracle Retail Xenvironment can invoke. A chain is a
list of atoms that are executed sequentially to perform a task. For example, there is a
chain to perform the startup process in Oracle Retail Xenvironment and a chain to
perform daily maintenance. See “Atoms and Chains” for more information about atoms
and chains.
When an atom is added to the actions.properties file, the associated class must be
defined, including any parameters or arguments required by the atom. An example of an
atom definition in the actions.properties file follows. This atom checks to see if
there are any new updates:
atom.check-and-download-updates.class=CheckUpdates
atom.check-and-download-updates.errmarker=check-and-download-
updates.err
atom.check-and-download-updates.disabled=%{b:updates.disabled}
alerts.properties
The alerts.properties file determines which files are used to store alerts. The alerts
can be either errors or warnings. The internal name for the type of alert is assigned to
each associated file. For example, the following configuration indicates that
errClosingFailure alerts will be sent to the CLOSE.ERR file:
CLOSE.ERR=errClosingFailure
update.properties
Oracle Retail Xenvironment is responsible for distributing software upgrades. Normal
upgrades are downloaded from the home office and performed during daily
maintenance. The file update.properties is used by Oracle Retail Xenvironment on
all registers (lead and non-lead) to determine when the upgrade files are made available
for download, and the local destination directories used to store the files.
The Oracle Retail Xenvironment application running on the Lead Register is responsible
for recognizing that new files have been downloaded from the home office. When files
are found, the Lead Register makes the files available to all non-lead registers for
downloading. Therefore, the Lead Register acts as the file “producer”, while the non-lead
registers act as “consumers”.
As a consumer, each register is responsible for sending a request to the Lead Register to
determine whether update files are available. The file update.properties is used by
the non-lead register to determine where to send these requests.
Each RSS feed used for file distribution is configured using the following format:
rss.category.<feedname>.<property>
where:
<feedname> is the name of the feed. This can be one of the following values:
– xstore - Feed for Oracle Retail Xstore Point-of-Service software updates.
– xadmin - Feed for Oracle Retail Xstore Office software updates.
– cipher - Feed for credit card .cipher file updates.
– debitbin - Feed for debit card .bin file updates.
<property> is the property being set for the feed. This can be one of the following
values:
– filter: Specifies the naming convention of the download files that belong to a
specific download category. A filter value must be defined for each
<feedname>.
For example:
rss.category.cipher.filter=.*\\.cip$
– web_location: Determines the directory on the web server URL that Oracle
Retail Xenvironment will check for updates on the feed.
For example, using the configuration:
rss.category.cipher.web_location=/updates/cipher
And a webserver name of <hostname>, Oracle Retail Xenvironment will check
for updates at the URL https://<hostname>:9096/updates/cipher.
– source_directory: Determines the directory on the local system to which Oracle
Retail Xenvironment will download updates.
For example:
rss.category.xadmin.source_directory=
%{s:xstore.dir.root}/updates/staging
– unprocessed_directory: Determines the directory on the local system where
Oracle Retail Xenvironment will move files that it does not know how to process.
For example:
rss.category.xstore.unprocessed_directory=
%{s:updates.dir.root}/inbox/xstore/unprocessed
– ready_marker: Determines the path and filename of the marker file that is used
to indicate that a software upgrade is ready for processing. The marker file is
used to prevent multiple worker threads from processing the same software
upgrade more than once.
For example:
rss.category.debitbin.ready_marker=
%{s:rss.category.debitbin.source_directory}/update.ok
– destination_directory: Determines the directory to which files will be moved for
processing.
For example:
rss.category.cipher.destination_directory=
%{s:xstore.dir.root}/res/keys
– temp_directory: The local directory that Oracle Retail Xenvironment uses as a
temporary directory during the installation process.
26
Oracle Retail Xenvironment 18.0
For example:
rss.category.xstore.temp_directory=
%{s:updates.dir.root}/xstore/temp
version.properties
This file, located in the Oracle Retail Xenvironment root directory, contains application
version number information used by Oracle Retail Xenvironment during bootup. This
file is changed when Oracle Retail Xenvironment is updated.
Windows
1. Stop Xenvironment.
2. Open a command prompt as an administrator.
3. Navigate to the <xenv_directory> in the command prompt.
If you are not using Categories in Control Panel, continue with step 4. Otherwise,
continue with the next step.
2. If you are using Categories in Control Panel, click System and Security.
3. Click Administrative Tools.
4. Double-click Services.
The Service Window opens.
Xenvironment is the Oracle Xstore Point of Service Xenvironment Engine.
For more information about using this window, see your Windows documentation.
Linux
1. Stop Xenvironment.
2. Save the following information into the file /etc/systemd/system/xenv_eng.service:
[Unit]
Description=Oracle Xstore Point of Service Environment Engine
[Service]
Type=forking
ExecStart=/opt/environment/start_eng.sh 'start'
ExecStop=/opt/environment/start_eng.sh 'stop'
ExecReload=/opt/environment/start_eng.sh 'restart'
[Install]
WantedBy=multi-user.target
3. Open a command prompt.
4. Execute the following command in the command prompt:
systemctl enable xenv_eng.service
5. Add the following line to the
<xenv_directory>/cust_config/version1/environment.properties file (this will
disable the Xenvironment user interface):
environment.gui.disabled=true
6. Reboot the system.
7. Check for the files <xenv_directory>\tmp\xenv_eng.anchor and
<xenv_directory>\tmp\xenv_eng.pid.
If these files exist, Xenvironment is running.
28
4
Configuring Oracle Retail Xenvironment GUI
Overview
This chapter describes the files used to configure the Oracle Retail Xenvironment GUI.
This includes information about the directories and files used in configuration, the
content of those directories and files, and how configuration is performed.
XenvContextConfig.xml
This file defines Contexts in Oracle Retail Xenvironment. These Contexts determine the
configurations for the different Oracle Retail Xenvironment screens.
environment.properties
The environment.properties files defines configurations used by the Oracle Retail
Xenvironment UI.
The most commonly used configurations in the system.properties file are listed
below.
XenvAlertsConfig.xml
The alerts displayed in the Oracle Retail Xenvironment UI are configured in the
XenvAlertsConfig.xml file. Each alert has the following elements:
<alert> - This element delineates one alert configuration.
– <alert_key> - The key used to identify the alert.
– <main_msg_key> - The translation key displayed in the main alert.
– <sub_msg_key> - The translation key displayed in the alert.
– <priority> - The priority of the alert.
– <action> - The action performed when the alert occurs.
30
Oracle Retail Xenvironment 18.0
Example
<Alerts xmlns="http://oracle.com/retail/xstore/config/xenv"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://oracle.com/retail/xstore/config/xenv
../../../xenv-objects/templates/schemas/XenvAlertsConfig.xsd">
<alert>
<alert_key>ALERT_UNDEFINED</alert_key>
<main_msg_key>_ALERT_UNDEFINED</main_msg_key>
<sub_msg_key>_blank</sub_msg_key>
<priority>1</priority>
<action></action>
<prompt_key>SYSTEM_ERROR</prompt_key>
<bring_ui_to_foreground>false</bring_ui_to_foreground>
</alert>
...
</Alerts>
XenvMenuConfig.xml
The XenvMenuConfig.xml file determines the configuration of the menus displayed in
each Context in the Oracle Retail Xenvironment UI.
The XenvMenuConfig.xml file contains four sections that configure different portions
of the interface.
Context Configuration - Configures the buttons along the bottom of the Oracle
Retail Xenvironment UI for each Context in the application.
Hotkey Registration - Determines which hotkey combinations are available in
Oracle Retail Xenvironment.
Pop-up Menu Configuration - Configures the buttons available on the Pop-up
Windows in Oracle Retail Xenvironment.
Menu Key Configuration - Configures the buttons that are referenced by the
Context Configuration, Hotkey Registration, and Pop-up Menu Configuration
sections.
Context Configuration
In Oracle Retail Xenvironment, the buttons along the bottom of the main UI change
depending upon the current context of the application. All the context configurations are
contained within the <Application_Context> element.
The <Application_Context> element contains the following elements and attributes:
<Context> - This element defines the set of configurations for one context.
id - This attribute defines the identifier used to refer to the context configuration.
– <ActionKey> - This element defines one button in the context.
menukey - This attribute contains the name of the MenuKey that is displayed
(see “Menu Key Configuration”).
sortOrder - This attribute determines the order in which the button appears
along the bottom of the screen.
name - This attribute defines the name used to refer to the Menu Key.
keyFunction - This attribute determines the translation key displayed on the Menu
Key.
keyLabel - This attribute defines the translation key displayed on the Menu Key or
Menu Option (if on a menu).
style - This attributes defines either the style of the button (if appsMenu is not set,
or is set to “false”) or the image file used as an icon (if appsMenu is set to “true”).
keyEventCode - This attribute defines the Java KeyEvent that selects the Menu Key.
keyMaskCTRL - If this attribute is set to “true”, it indicates that the [CTRL] key must
be pressed—along with the keyEventCode—to activate the Menu Key (used only for
hotkeys). This can be used in conjunction with the keyMaskALT and keyMaskSHIFT
attributes to create multiple-key hotkey combinations.
32
Oracle Retail Xenvironment 18.0
keyMaskALT - If this attribute is set to “true”, it indicates that the [ALT] key must
be pressed—along with the keyEventCode—to activate the Menu Key (used only
for hotkeys). This can be used in conjunction with the keyMaskCTRL and
keyMaskSHIFT attributes to create multiple-key hotkey combinations.
keyMaskSHIFT - If this attribute is set to “true”, it indicates that the [SHIFT] key
must be pressed—along with the keyEventCode—to activate the Menu Key (used
only for hotkeys). This can be used in conjunction with the keyMaskCTRL and
keyMaskALT attributes to create multiple-key hotkey combinations.
ActionCommand - This attribute determines the type of action that is run when the
Menu Key is selected. This attribute has the following possible values:
– No_Action - No action occurs.
– ALERT_DELETE - Deletes the alert currently in focus from the alert list.
– ALERT_NEXT - Moves to the next alert in the list.
– ALERT_PREVIOUS - Moves to the previous alert in the list.
– ALERT_VIEW - Opens the alert currently in focus.
– DIALOG_ACKNOWLEDGE - Sends an acknowledgement message to a pop-up
dialog window.
– DIALOG_CANCEL - Sends a cancel message to a pop-up dialog window.
– DIALOG_CONFIRM - Sends a confirmation message to a pop-up dialog window.
– DIALOG_DECLINE - Sends a decline message to a pop-up dialog window.
– EXECUTE - An executable file runs.
– HOT_KEY - Performs a hotkey operation.
– IPC_ATOM - Runs an Oracle Retail Xenvironment atom or chain without
arguments.
– IPC_RUN - Opens a dialog window that prompts the user to enter the name of an
atom or chain for Oracle Retail Xenvironment to run.
– PLUGIN_ACTION - A plugin runs.
– POPUP_MENU - A popup menu opens.
– SYSTEM_CONTEXT - Move Oracle Retail Xenvironment to a different context.
– VK_<keyname> - The specified KeyEvent is sent to Oracle Retail Xenvironment.
For example, VK_2 sends a KeyEvent.VK_2 to the system, VK_A sends a
Wait.Millis - This attribute defines the number of milliseconds after running the
command that Oracle Retail Xenvironment will display the “Please Wait” message.
osType - This attribute determines the operating system in which the Menu Key is
available. A value of ALL indicates that the Menu Key is available on all operating
systems.
appsMenu - This attribute determines whether the Menu Key is displayed in the
Apps area (see “Apps”) or on the row of buttons (see “Menu Buttons”). This attribute
has the following possible values:
– true - The Menu Key is displayed in the Apps area.
– false - [DEFAULT] The Menu Key is displayed as a button.
The Menu Key element includes the following sub-element:
<Role> - Determines a role that has permission to use the Menu Key.
id - The ID for the Role that has permission to use the Menu Key.
34
Oracle Retail Xenvironment 18.0
Example
<Menu xmlns="http://oracle.com/retail/xstore/config/xenv"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://oracle.com/retail/xstore/config/xenv
../../../xenv-objects/templates/schemas/XenvMenuConfig.xsd"
Debug.Outline="false">
<Application_Context>
<Context id="MAIN_CONTEXT">
<ActionKey menukey="VK_ESCAPE" sortOrder="1" />
<ActionKey menukey="VK_F1_BLANK" sortOrder="2" />
<ActionKey menukey="VK_F2" sortOrder="3" />
<ActionKey menukey="VK_F3" sortOrder="4" />
<ActionKey menukey="VK_F4_BLANK" sortOrder="5" />
<ActionKey menukey="VK_F5_BLANK" sortOrder="6" />
<ActionKey menukey="VK_F6_BLANK" sortOrder="7" />
...
</Context>
...
</Application_Context>
<PopupMenus>
<PopupMenu name="SupportMenu">
<PopupMenuKey name="SUPPORT_MENU_STOP_XSTORE"
sortOrder="1"/>
<PopupMenuKey name="SYSTEMMENULOGOFF" sortOrder="2" />
<PopupMenuKey name="SYSTEMMENUSHUTDOWN" sortOrder="3" />
<PopupMenuKey name="SYSTEMMENUREBOOT" sortOrder="4" />
</PopupMenu>
...
</PopupMenus>
<MenuKeys>
<MenuKey name="SUPPORT_MENU_STOP_XSTORE" keyFunction="_blank"
keyLabel="_supportMenuStopXstore"
keyEventCode="KeyEvent.VK_UNDEFINED" keyMaskALT="true"
PromptConfirm="true"
PromptConfirmMessageKey="_confirmRunShutdownXstore"
PromptPassword="true" ActionCommand="IPC_ATOM"
Run="shutdown-xstore" Wait.Millis="1800">
<Role id="EVERYONE" />
</MenuKey>
<MenuKey name="APPS_SYSTEM_INFO" ActionCommand="SYSTEM_INFO"
keyLabel="_SystemInfoTouch" keyFunction="_blank"
PromptPassword="true" PromptConfirmMessageKey="_blank"
KeyEventCode="KeyEvent.VK_UNDEFINED" appsMenu="true">
<Role id="EVERYONE"/>
</MenuKey>
...
</MenuKeys>
</Menu>
XenvPromptConfig.xml
The XenvPromptConfig.xml file defines the UI Prompt windows. Each prompt has
the following elements:
<Prompt> - This element delineates one Prompt configuration.
– <key> - This element defines the key used to identify the Prompt.
– <type> - This element determines the style of the Prompt window. This element
has the following possible values:
– ANNOUNCE_FOCUSBAR - Green window
– INFORMATION_FOCUSBAR - Yellow window
– ALERT_FOCUSBAR - Red window
– PROMPT_FOCUSBAR - Default-color window
– PASSWORD_PROMPT_FOCUSBAR - Default-color window, information
entered will not be displayed in the prompt
– <title> - Contains the translation key displayed in the window’s title.
– <majorMsgKey> - Contains the translation key used for the Prompt’s message.
Example
<PromptConfig>
<Prompts>
<Prompt>
<key>BLANK</key>
<type>ANNOUNCE_FOCUSBAR</type>
<title>_focusbarTitle</title>
<majorMsgKey>_blank</majorMsgKey>
</Prompt>
...
</Prompts>
</PromptConfig>
36
Oracle Retail Xenvironment 18.0
xenv-ui-dialog-config.properties
The xenv-ui-dialog-config.properties file defines window and button
configurations Oracle Retail Xenvironment dialog windows. For example, the xenv-ui-
dialog-config.properties configures the Cancel, Continue, Yes, and No buttons:
Dialog.Width=<window_width>
Dialog.Height=<window_height>
XenvFontConfig.xml
The XenvFontConfig.xml file configures Font styles for use by the Oracle Retail
Xenvironment UI. Each
Font style has the following element and attributes:
<Font> - This element delineates one Font style configuration. This element has the
following attributes:
– name - This attribute defines the name used by the Oracle Retail Xenvironment
UI to refer to this Font style.
– family - This attribute defines the font family used by the Font style. This
attribute has the following possible configuration values:
o “Arial Unicode MS” - [DEFAULT] The Arial Unicode font
embedded in the application, which enables support for localization
into all languages.
o “SansSerif” - The standard sans serif font used by the system.
o “Serif” - The standard serif font used by the system.
o “Monospaced” - The standard monospaced font used by the
system.
o “<font_name>” - The name of a font installed on the local system.
style - The type of font in the Font style. This attribute has the following possible
configuration values:
– “Bold” - Bold font.
– “Italic” - Italic font.
– “BoldItalic” - Bolded and italicized font.
– “Normal” - [DEFAULT] Normal font (neither bolded nor italicized).
size - The point size of the font.
Example
<Fonts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="FontConfig.xsd">
<Font name="XENV_SMALL" family="SansSerif" style="Bold"
size="12" />
<Font name="XENV_PLUGIN_UTILS" family="Monospaced"
style="Normal"
size="12" />
<Font name="XENV_VERSION_DIALOG_TITLE" family="Arial"
size="20" />
...
</Fonts>
38
Oracle Retail Xenvironment 18.0
xenv-ui-probers_{OS}.properties
These files are used to retrieve information displayed in the System Information screen.
For more information about these configurations, or if you need help changing these
files, speak with your Oracle product representative.
Log Files
Oracle Retail Xenvironment generates the following log files:
xenvironment.log
xenvironment-ipc.log
contains IPC related messages within the engine process
xenvironment-registration.log
contains registration related messages
xenvironment-ui.log
xenvironment-ui-ipc.log
contains IPC related messages within the UI process
All log entries show their logging levels. This helps users determine the logging level that
should be configured for Oracle Retail Xenvironment.
xenvironment.log
The main log file is xenvironment.log. Very little happens in Oracle Retail
Xenvironment without some part of it being logged here.
To locate an event in xenvironment.log, first navigate to the approximate date/time
of the event that you want to find. After you find the date/time, search for the name of
the atom in question. When an atom is executed, one of several possible action codes will
be generated and shown in the log.
To distinguish the hierarchy of atoms and chains within parent chains, the following
formats are used:
' ' (space) indicates the start of an action
'+' (plus sign) indicates the successful completion of an action
ERROR:
For example:
@ exec-3 ERROR 2018-09-26 14:15:37,517
|!!START_XSTORE_SCO_APP.start-xstore-sco(ATOM) --> ERROR:
Error: 2 (The system cannot find the file specified.)
[exception=java.io.IOException: Error: 2 (The system cannot
find the file specified.)] ::
oracle.retail.xenvironment.action.Action [exec-3]
WARNING:
For example:
@ exec-2 WARN 2018-09-26 14:13:47,622
|>>supportcapture.supportcap-wait-env-thread-dump(ATOM) -->
WARNING: Timeout expired. ::
oracle.retail.xenvironment.action.Action [exec-2]
Trickle Polling
Trickle polling can be used to upload files from the system and download update files
during the day. Trickle uploads and downloads are run on a schedule set in each
register’s scheduled task configuration.
42
Oracle Retail Xenvironment 18.0
Uploads
When enabled in both Oracle Retail Xenvironment and Oracle Retail Xstore Point of
Service, the system can generate and upload trickle data using third-party polling
solutions. Two chains are responsible for managing trickle uploads:
gather-and-upload-trickle-files: This chain runs on all registers. It packages the
trickle files and uploads them to the lead register. This chain runs the following
atoms:
– move-hh-trickle-poslog-to-xst-trickle-dir: Moves POS Log from the handheld to
the trickle directory for Oracle Retail Xstore Point of Service.
– move-hh-trickle-relate-customer-to-xst-trickle-dir: Moves the customer
information from the handheld to the Oracle Retail Xstore Point-of-Service trickle
directory.
– move-hh-trickle-relate-cardcust-to-xst-trickle-dir: Moves card-related customer
information from the handheld to the Oracle Retail Xenvironment trickle
directory.
– zip-trickle-files-with-timestamp-and-hostname: Zips the files in the trickle
directory ([DEFAULT] /xstore/log/trickle) into one package file that
includes a timestamp and the system hostname in the filename.
– upload-trickle-files-to-lead: Uploads the trickle package to the lead register. The
trickle package is moved to the directory /environment/wwwroot/trickle,
from which it is uploaded. Then, when the file has been successfully uploaded, it
is moved to an archive directory.
– cleanup-old-trickle-archives: Deletes old trickle archives.
trickle-polling: This chain runs only on the lead. It combines the trickle packages
uploaded from the nonleads and runs a trickle polling session to upload the file to
the home office. This chain runs the following atoms:
– unzip-uploaded-trickle-packages: This atom unzips the uploaded trickle
packages in the /environment/wwwroot/trickle directory into the
/environment/poll/trickle directory.
– create-final-trickle-polling-package: This atom combines all the unzipped files
in /environment/poll/trickle, with hostname and timestamp, into one
package file, then deletes all the package files uploaded from the nonlead
registers.
– poll-trickle: This atom calls, depending upon the operating system, the
poll.bat (Windows) or poll.sh (Linux) script with a parameter of
"TRICKLE", which runs all the processes in the TRICKLE section of the script.
This file is created by the Tech Services group for each customer.
– process-pre48-trickle-downloads: This atom processes any trickle downloads
that came from a version of Oracle Retail Xenvironment earlier than 4.8.
– unzip-dataloader-files: This atom unzips downloaded DataLoader files.
– execute-dataloader-trickle: This atom processes the unzipped DataLoader
updates.
Downloads
Oracle Retail Xenvironment is responsible for downloading the files on a schedule set in
the lead register’s scheduled task configuration and processing the updates in those files.
Deployment
The deployment process performs updates to the system by downloading and processing
updates from Xcenter (a part of Oracle Retail Xstore Office).
There are two times when updates can be deployed:
Immediately - These configurations are deployed immediately upon being received
by Oracle Retail Xenvironment.
Forced - Forced deployments run all deployments, both immediate and store-close,
that need to be run by Oracle Retail Xenvironment. A forced deployment runs during
the daily maintenance procedure initiated by an Oracle Retail Xenvironment
upgrade. See “The Daily Maintenance Process: Atom by Atom” for more
information.
Daily Maintenance - These configurations are deployed by the daily maintenance
procedure, which is detailed in “The Daily Maintenance Process”. Software updates,
cipher keys, debit bin files, DataLoader files, and configurator changes can only be
deployed during daily maintenance. However, they can be uploaded immediately,
for processing at daily maintenance.
The deployment process performs the following series of steps to update the system:
Changes are initiated using Oracle Retail Xstore Office.
At regular intervals (set by configuration), Oracle Retail Xstore Point of Service
checks whether there are any updates available for deployment.
If updates are available Oracle Retail Xstore Office sends a deployment manifest to
Oracle Retail Xstore Point of Service.
Oracle Retail Xstore Point of Service forwards the deployment manifest to Oracle
Retail Xenvironment for processing.
If the Oracle Retail Xenvironment system is not the lead register, the non-lead
register sends the manifest file to the lead register.
On the lead register, Oracle Retail Xenvironment checks the deployment manifest.
Any updates that are to be applied and/or downloaded immediately are retrieved
from the Apache HTTP server where they are stored. The files are saved in the
download staging directory.
<environment_directory>\deployment\download_staging\immediat
e for immediate deployments.
<environment_directory>\deployment\download_staging\close for
daily maintenance deployments.
Any updates that are to be downloaded and applied at daily maintenance are
scheduled for download from the Apache HTTP server during the daily
maintenance.
For immediate updates, the updates are applied as soon as they are received.
44
Oracle Retail Xenvironment 18.0
For daily maintenance updates, the daily maintenance applies the updates. See “The
Daily Maintenance Process” for a description of the process.
Background Update
In some cases, updates to Xenvironment, Xstore POS, Xstore POS Mobile, or DataLoader
must be performed outside of a standard register daily maintenance. In these cases,
background updates can be performed. These background updates perform the
following actions:
1. Xenvironment receives an update.
2. Xenvironment stages the update files across all registers.
3. Xenvironment notifies Xstore POS to start prompting users to perform the update.
If the user selects Yes, the required period start immediately.
If the user selects No, the user is given a grace period.
At the end of the grace period, the required period starts.
4. During the required period, in-process transactions can be completed, but no new
transactions may be started.
5. Once all transactions have been completed on the register, or the required period
ends, Xenvironment will apply the update.
Archive Structure
The archive within the .tar.gz file has the following structure, where / is the root
directory of the .tar.gz archive:
/update.properties - File containing configurations for the update. See (see
“update.properties” for a description of the settings within this file.
/extract - A directory that is extracted to the directory specified in the
update.properties file (see “update.properties”).
/config - Adds or updates properties in the .properties file in the override directory
for the directory specified in the update.properties file.
For example, if the directory in the .tar.gz archive is
/configupdate/environment/config/actions.properties, the file
<environment_root>/cust_config/version1/actions.properties will
be updated through this directory.
/scripts - Batch files and shell scripts that are run by the update process.
/scripts/preupd.[bat|sh] - Runs before any other update is performed.
The .bat extension is used on Windows systems. The .sh extension is used on
Linux systems.
/scripts/postupd.[bat|sh] - Runs after all other updates are performed. The
.bat extension is used on Windows systems. The .sh extension is used on Linux
systems.
46
Oracle Retail Xenvironment 18.0
update.properties
This file contains the following configurations:
dir.root - The directory to which the files will be extracted.
[DEFAULT] - c:\ on Windows, and /opt/ on Linux.
dir.list.backup - Space-separated list of directories that will be backed up prior
the application of the update.
[DEFAULT] - The Oracle Retail Xenvironment and Oracle Retail Xstore Point-of-
Service folders.
Example
The following update.properties file will unpack the archive to the directory c:\temp and
will create backups of the c:\temp\env and c:\temp\env_install directories.
dir.root=c:\temp
dir.list.backup=c:\temp\env c:\temp\env_install
scripts
In the file archive, the /scripts directory contains the file preupd.bat (in Windows)
or predupd.sh (in Linux), and the file postupd.bat (in Windows) or postupd.sh (in
Linux), and all the appendant files used by those scripts.
The script preupd.[bat/sh] runs before any other backup step, including the
directory backup step.
The script postupd.[bat/sh] runs after all other update steps.
Application updates are delivered in Java-based .jar files. The .jar files updates are
built with Ant tasks (Ant is a Java project from Apache).
Oracle Retail Xenvironment can also be configured to include digital signature validation
files (.sig files) with the application updates. These files contain signed certificates used to
determine whether the update files are intended for the customer, and prevent malicious
software from being introduced on the system through update processing.
The following steps describe how the update is processed through the Oracle Retail
Xenvironment during daily maintenance. In the following example, the file xstore-
update.jar updates the Oracle Retail Xenvironment application. A detailed technical
48
Oracle Retail Xenvironment 18.0
2. If signature validation is enabled, copy the signature .sig file(s) to the appropriate
directory.
3. Create a file named update.ok and place it into the appropriate directory. The file
is a simple text file that may be created with any text editor such as Notepad.
4. Close the system through Oracle Retail Xstore Point of Service, and wait for the daily
maintenance process to complete. Update processing occurs late in the process, so it
might be a while before the updates are processed.
5. Once the daily maintenance process is complete, validate that the update was
processed:
6. Check to ensure that there are no files in the update directories.
7. Look for the update and signature file (if applicable) in the directory
<root_directory>/wwwroot/updates/<update_type>, where
<update_type> is the type of update.
8. Check to ensure that no registers have files in the directory
<update_directory>/<update_type>, where <update_type> is the type of
update.
3. Close the system through Oracle Retail Xenvironment, and wait for the close to
complete. Cipher file propagation occurs late in daily maintenance, so it might be a
while before the files are processed.
4. Once the daily maintenance is complete, validate that the cipher files were processed:
a. Check to ensure that the new cipher files are found in the directory
<xstore_root>/res/keys on all systems.
b. Check to ensure that no cipher files are in the directory
<update_directory>/inbox/cipher.
c. Check to ensure that the cipher files are in the directory
<root_directory>/wwwroot/cipher.
3. Close the system through Oracle Retail Xenvironment, and wait for the daily
maintenance to complete. Debit file propagation occurs late in the daily maintenance
process, so it might be a while before the files are processed.
4. Once the daily maintenance process is complete, validate that the debit.txt file
was processed:
a. Check to ensure that the new debit.txt file is found in the directory
<xstore_root>/res/keys on all systems.
b. Check to ensure that no debit.txt file is in the directory
<update_directory>/inbox/debitbin.
c. Check to ensure that the debit.txt file is in the directory
<root_directory>/wwwroot/debitbin.
50
6
Using Oracle Retail Xenvironment
Overview
This chapter describes the use of Oracle Retail Xenvironment. This includes information
about how to start Oracle Retail Xenvironment and how to use the graphical user
interface (GUI) that provides access to the Oracle Retail Xstore Point-of-Service
application and Windows functions.
On-Screen Keyboard
To provide touchscreen systems with the functionality available in a desktop system,
Oracle Retail Xenvironment can be used to launch the operating system’s on-screen
keyboard that can perform all the actions of a physical keyboard.
Features
The on-screen keyboard always stays on top of all other windows and applications.
To use the [Shift], [Ctrl], or [Alt] keys, touch that key on the on-screen keyboard,
then any other keys to be used with them.
52
Oracle Retail Xenvironment 18.0
For example, to use [Alt]+[Tab] to move through application, touch [Alt], then touch
[Tab] as many times as necessary to change to the proper application.
When entering data, the on-screen keyboard will provide auto-complete options
along the top of the keyboard, based on the characters entered. To select an auto-
complete option, touch it.
In-Window Keyboard
The in-window keyboard is different than the on-screen keyboard described above. The
in- window keyboard is only used to enter data into an Oracle Retail Xenvironment
window on a touchscreen system. This in-window keyboard can be used to enter a
password into a password prompt, or enter the name of a chain or atom into the Run a
Chain or Atom prompt.
Message Screen
The message screen in the upper left portion of the GUI displays messages for Oracle
Retail Xenvironment. These messages may be informational or they may indicate
problems. The message screen shows both the message and a count of the total number
of messages received by Oracle Retail Xenvironment. These messages are generally
related to polling or the daily maintenance process.
Clear Message
To clear a message from the message screen, do the following:
1. Click the Delete Note button, or press the [D] key.
2. Oracle Retail Xenvironment asks for your user name and password (see “Password
Protected Functions”).
54
Oracle Retail Xenvironment 18.0
3. Enter your user name and password, then click the Continue button, or press the
[Enter] key. This is the user name and password you use to log into Oracle Retail
Xstore Point of Service.
4. Oracle Retail Xenvironment asks for your username and password.
5. Enter your username and password, then click the Continue button, or press the
[Enter] key.
6. The message is cleared from Oracle Retail Xenvironment and the marker file for the
message is deleted from the system.
POS Status
The POS Status screen provides information describing the current state of the POS
system. The POS Status screen, located on the right side of the GUI, includes five
different status areas, each of which shows different information.
Register Status
The Register Status area shows the current status of the registers in the store.
Process Steps
The Process Steps area is used during the daily maintenance and disaster recovery. It
displays the status of each step as it is performed.
Alert Detail
The Alert Detail area displays alerts that require attention. These alerts are found
through error and warning marker files (see “Subdirectory: <root_directory>\marker,
Chapter 3“for more information about marker files).
Apps
The Apps area provides access to plugins and applications that can be accessed and used
through Oracle Retail Xenvironment. See “Menu Key Configuration” for information
about configuring this area.
56
Oracle Retail Xenvironment 18.0
About
The About area contains the Copyright information and the general disclaimer.
Systems Support/Attention
The Systems Support/Attention screen, located in the lower left portion of the GUI,
displays Windows process navigation information. This screen provides the following
information:
If Oracle Retail Xenvironment is currently in focus, the Systems Support screen
displays a message reminding the user how to return to Oracle Retail Xstore Point of
Service.
Figure 6-12: System Support – Activate Oracle Retail Xstore Point of Service
If there is currently an error marker in the system, the System Support screen
displays a message alerting and notifying the user to review the error.
Menu Buttons
Some of the operations and menus available in Oracle Retail Xenvironment are accessed
through the buttons located near the bottom of the screen. To access a menu or operation
through Oracle Retail Xenvironment button, press the button on a touchscreen monitor,
click the button using the mouse, or press the shortcut key indicated on the button.
Button Description
58
Oracle Retail Xenvironment 18.0
Status Bar
The status bar displays system information for the register running Oracle Retail
Xenvironment.
Item Description
Support Menu
The Support Menu contains menu items that affect Oracle Retail Xstore Point of Service
and the Windows system that runs Oracle Retail Xenvironment. To select a menu option,
click the option with a mouse or touch it on a touchscreen monitor, then click or touch
the Continue button.
Logoff System - (Windows only) Exits the Windows session for the currently logged-
in user and returns to the Windows login screen. Note that it does not shut down or
reboot the system.
Reboot System - Reboots the system.
Shutdown System - Shuts down the system entirely.
60
Oracle Retail Xenvironment 18.0
System Menu
The System Menu is used to interact with the operating system. Depending on your
system’s configuration, the System Menu might vary from the example below. To select a
menu option, click the option with a mouse or touch it on a touchscreen monitor, then
click or touch the Continue button.
Capture Logs
The Capture Logs function captures debugging and system information that can be
submitted to the help desk to assist in troubleshooting.
The system creates a support capture tar.gz file in the
<root_directory>/wwwroot/support folder.
Note: The link will not exist until at least one support
capture has been created.
Hotkeys
Many of the actions and functions available in Oracle Retail Xenvironment are accessed
through Hotkey combinations. These Hotkey combinations are certain keys or
combinations of keys pressed simultaneously.
62
Oracle Retail Xenvironment 18.0
Item Description
Switch to Oracle Retail Xstore Point of If Oracle Retail Xstore Point of Service is running,
Service changes the focus to the Oracle Retail Xstore Point-
F8 of-Service application.
Item Description
1
If the Oracle Retail Xenvironment Engine is not running, or if the Oracle Retail
Xenvironment GUI cannot communicate with the Engine, most hotkeys will not work.
Because of this, an additional Command Prompt hotkey combination is available,
allowing service personnel to access the system and perform maintenance. For example,
this “backdoor” can be used if there is a misconfiguration, or if a certificate expires.
64
Oracle Retail Xenvironment 18.0
Plugins
Oracle Retail Xenvironment can run custom utilities that are specially designed for
Oracle Retail Xenvironment, but are not part of the base software. These utilities are
accessed through the Plugin menu.
If the system prompts you for your user name and password, enter the password
information. See “Password Protected Functions” for more information.
1. The plugin menu opens. All the plugins available for Oracle Retail Xenvironment are
listed in this menu.
2. Click the name of the plugin to select it.
3. Click Continue or press [Enter].
4. The plugin runs.
Task List
Users can open a Task List window that displays all the processes running on the system.
This window can be used to bring other applications to the front, and allows users to kill
processes from within Oracle Retail Xenvironment.
To use the Task List, do the following:
1. Press the [CTRL]+[ALT]+[T] hotkey combination, or select Task List from the
System menu to open the Task List window.
2. A username and password prompt window opens.
3. Enter the proper password, then select Continue or press [Enter] to continue.
4. The Task List window opens.
66
Oracle Retail Xenvironment 18.0
Note: The Name, PID, Memory, and CPU Time fields will be
blank for some processes. These processes are child
processes of other applications.
The files to be displayed will be found in the marker folder under the environment
installation.
68
7
Disaster Recovery
Overview
This chapter describes the disaster recovery procedure and the operations performed
during disaster recovery.
In Oracle Retail Xenvironment, disaster recovery is necessary when a lead register goes
down and a non- lead register needs to take over the lead register role.
Requirements
The disaster recovery procedure requires the following:
The store or location has more than one register.
Database backups and updates will not be performed while a non-lead register is
acting as the lead register.
70
Oracle Retail Xenvironment 18.0
Custom Actions
During disaster recovery, Oracle Retail Xenvironment can perform custom actions that
add necessary functionality to the disaster recovery process. These actions are configured
through atoms that are run during the convert and restore processes.
Convert a Register
The dr-custom-convert-action atom is run on each register in the store during the
process of converting a nonlead register to a lead register in disaster recovery mode. This
atom has the following default configurations:
lead.atom.dr-custom-convert-action.class=noop nonlead.atom.dr-
custom-convert-action.class=noop atom.dr-custom-convert-
action.drsafe=true
atom.dr-custom-convert-action.disabled=true
To add custom actions to the convert process, configure the atom with all the
necessary settings (see “Atoms and Chains”), and set the .disabled configuration to
“False”.
72
A
The Daily Maintenance Process: Atom by
Atom
This chapter describes the important functions performed by the daily maintenance
process, which is controlled by a chain named BUSINESS_DATE_CHANGED. This section
provides a sequential list of each atom that is called by the BUSINESS_DATE_CHANGED
chain on the lead register, and gives a brief description of the task the atom performs.
74
Oracle Retail Xenvironment 18.0
– inventory.xml
– InventoryCount.xml
– payroll.xml
– remc.xml
– seclog.xml
– timecard.xml
– workers.xml
For example, on Register #2, the file poslog.xml is copied to poslog.2.xml.
12. copy-xstore-mobile-tlogs-to-polling-directory: This atom creates copies of Oracle
Retail Xstore Point-of-Service Mobile tlog files in the directory
<xstore_root>/upload/. When the files are copied, their names are changed
from <filename>.xml to <filename>.<register#>.xml.
The following files are copied:
– PosLog.xml
– CommissionLog.xml
– commonlog.xml
– customers.xml
– inventory.xml
– InventoryCount.xml
– payroll.xml
– remc.xml
– seclog.xml
– timecard.xml
– workers.xml
13. copy-xstore-tablet-tlogs-to-polling-directory: This atom performs the same actions
as copy-xstore-mobile-tlogs-to-polling-directory, except on the tlog files created
by tablets.
14. copy-xstore-thin-client-server-tlogs-to-polling-directory: This atom performs the
same actions as copy-xstore-mobile-tlogs-to-polling-directory, except on the tlog
files created by the thin client server.
15. copy-xstore-mobile-logs-to-polling-directory: This atom copies the log files for
Oracle Retail Xstore Point-of-Service Software Mobile to the polling directory.
16. copy-xstore-mobile-tablet-logs-to-polling-directory: This atom performs the same
actions as copy-xstore-mobile-logs-to-polling-directory, except on the log files
created by tablets.
17. copy-xstore-thin-client-server-logs-to-polling-directory: This atom performs the
same actions as copy-xstore-mobile-logs-to-polling-directory, except on the log
files created by the thin client server.
18. copy-rlogs-to-polling-directory: This atom copies all the files from the directory
<xstore_root>/log/relate to the directory <xstore_root>/upload/. When
the files are copied, their names are changed from <filename>.relate.<extension> to
<filename>.relate.<register#>.<extension>.
19. move-hh-files-to-polling-directory: Moves handheld-related files from the Xservices
directory to the polling directory.
20. move-hh-relate-customer-files-to-polling-directory: Moves handheld-related Relate
customer files from the Xservices directory to the polling directory.
29. remove-old-pospoll-files: This atom removes all the old pospoll files from the
directory <xstore_root>/upload.
30. cleanup-package-archive-directory: This atom removes all the old, archived package
files.
31. wait-for-polling-packages-complete: This atom allows the daily maintenance
process to wait until the polling packages in the non-lead registers have been created
before continuing.
32. get-polling-packages: In this atom, the Lead Register retrieves and labels the polling
package files from the non-lead registers by performing the following steps for each
register:
76
Oracle Retail Xenvironment 18.0
78
Oracle Retail Xenvironment 18.0