Prism File List
This document provides information about the files, folders and registry entries installed to a computer when a user installs Retail Pro Prism. The document is divided into the following sections:
- Apache
- Prism Server
- Prism Proxy
- Document Designer
- Prism Services
- Special Configuration Settings
- Registry Keys
Apache
Prism is a web-based application and uses Apache as its web server. Files for the Apache server are installed to the C:\Program Files\Apache Software Foundation\Apache folder. See your Apache documentation for more information. A few of the key folders and files related to Apache are listed below:
Folder | |
---|---|
…\Apache\modules\mod_rprox.so | Apache file used by Prism. |
...\Apache\modules\mod_Prism.so | Apache file used by Prism. |
Prism Server
When you install the RP Prism server, the following sub-folders are installed to the …\ProgramData\RetailPro folder.
Refer to the following table for a description of the folders.
Folder | Description |
---|---|
HardwareServices | The …\ProgramData\RetailPro\HardwareServices folder is created when you install the Prism Proxy. If you haven't installed the Prism Proxy, this folder will not be present. This folder contains configuration files related to the Prism Proxy and POS hardware. Configuration (.ini) and log files related to using RP Prism with hardware (e.g. printers, cash drawers, Genius CED, B+S Card Service, Adyen and line display) |
Server | Server files, including directories for configuration files, licensing files, log files, modules, and Web Client files. |
TechToolkit | Logs and preferences for the Tech Toolkit application. |
…\ProgramData\RetailPro\HardwareServices
This folder has various hardware-related files and folders. This folder is created when you install the Prism Proxy. If you haven't installed the Prism Proxy, this folder will not be present.
…\ProgramData\RetailPro\HardwareServices\Conf
This folder contains configuration files related to the Prism Proxy and POS hardware.
…\ProgramData\RetailPro\HardwareServices\Logs
This folder has log files related to using hardware devices with Prism.
…\ProgramData\RetailPro\HardwareServices\Modules
Miscellaneous hardware files.
…\ProgramData\RetailPro\HardwareServices\OPOS114CCO
Files for OPOS hardware devices.
…\ProgramData\RetailPro\HardwareServices\Plugins
Cash drawer, line display and other hardware plugin files.
…\ProgramData\RetailPro\Server
The …\ProgramData\RetailPro\Server folder contains the primary files and folders related to the RP Prism server. The following sub-folders are found in the …\ProgramData\RetailPro\Server folder: conf, Downloads, Help, Images (if exporting images from RIL), Libraries, Licensing, Logs, Modules, RabbitMQ, Reports, WebClient
…\ProgramData\RetailPro\Server\Conf
For detailed information about the .ini files in this folder, see the "Prism Server .ini File Settings" section of this document.
Refer to the following table for a description of the configuration files.
File | Description |
---|---|
ApacheModConfig.conf | Apache Monitor configuration file |
EFTServiceModule.ini | Configuration file for the EFT service. |
PrismBackOffice.ini | Configuration file for the PrismBackOfficeService. |
PrismCommon.ini | Configuration file for the PrismCommonService. |
PrismLogging.ini | Log settings for things like the number of days of logs to retain. PrismLogging.ini has a [global] section and sections for each individual Prism service. The settings defined in the [global] section apply to all services by default. To override the default settings in the [global] section, edit the corresponding section for the service. |
PrismMQService.ini | Configuration file for the PrismMQService. |
PrismPOSv1.ini | Configuration file for PrismPOSV1Service |
PrismResiliencyServer.ini | Configuration file for the PrismResiliencyService. |
PrismScheduling.ini | Configuration file for the PrismSchedulingService |
PrismTechToolkit.ini | Configuration file for the PrismTechToolkitService |
RPSLicensing.ini | Configuration file for the RPS Licensing service. |
…\ProgramData\RetailPro\Server\Downloads
Deprecated: This folder has the CodeSite logging application (CS5_Tools.exe). CodeSite is scheduled be removed in a future release.
…\ProgramData\RetailPro\Server\images
(only present if using images exported from RIL) If you have exported customer and inventory images using the V9ImageExporter.exe tool, this is the default folder where users will unpack the images for use by RP Prism. Users can change the directory for images in RP Prism preferences. This folder has sub-folders for customers, inventory and invn_style images.
…\ProgramData\RetailPro\Server\Libraries
This folder has styles sheets and other supplemental files.
Folder | Description |
---|---|
.css | Cascading style sheets used in supplement to the layouts file to define the presentation layer of RP Prism. |
.js | Javascript files. |
… ProgramData\RetailPro\Server\Licensing
File | Description |
---|---|
LicenseServer.exe | RP Prism License Server. |
libeay32.dll | Required file for SSL support. |
ssleay32.dll | Required file for SSL support. |
…\ProgramData\RetailPro\Server\Logs
File | Description |
---|---|
EFTServiceModule[DateStamp] | Track activity by the RP Prism EFT service. A new log file is generated for each day. |
LicenseServer[DateStamp] | Track activity by the RP Prism license server. A new log file is generated for each day. |
PrismBackOfficeAsService_[DateTimeStamp] | Log files for the Prism Backoffice service. |
PrismCommonAsService_[DateTimeStamp] | Log files for the Prism Common service (used by multiple program areas). |
PrismMQServiceAsService_[DateTimeStamp] | Log files for the PrismMQ service, used for replication. |
PrismPOSV1AsService_[DateTimeStamp] |
Log files for the PrismPOSV1 service. |
PrismResiliencyServerAsService_[DateTimeStamp] |
Tracks actitivity for the PrismResiliencyServer. |
PrismSchedulingAsService[DateTimeStamp] | Track activity for the Prism Scheduling service. |
PrismTechToolkitAsService_[DateTimeStamp] | Track activity for Prism Tech Toolkit. |
PrismWebmodule_[DateTimeStamp] | Log files for the Prism Web module. |
…\ProgramData\RetailPro\Server\RabbitMQ
RabbitMQ Files schema and configuration files.
…\ProgramData\RetailPro\Server\Reports
(Future release)
…\ProgramData\RetailPro\Server\WebClient
This folder contains files used by the RP Prism web client.
File | Notes |
---|---|
\api-documentation | Files used by the API Explorer for exploring the Prism API documentation. |
\api-explorer | Files for browsing and exploring the API documentation. |
\components | HTML files used in specific areas of the program. |
\config | Configuration information for Javascript Object Notation files. |
\docs | This area has documentation for client-side customizations. Here you will find information about the various models referenced by the API when creating customizations. |
\etc | Encrypted password file. |
\fonts | Font sets used in the UI. |
\images | Images used in the UI. |
\locale | Translation files. English, Russian, Japanese, Spanish, Chinese, etc. |
\pages | HTML pages for the Admin Console and Store Operations areas. |
\plugins | Files for plugins (customizations). The \plugins\EFT folder has files for the B+S Card plugin. The \plugins\sample folder has a sample customization for the Cayan EFT solution. |
\scripts | Application scripts which control client operations and procedures. Current scripting information is written in Pascal programming language. |
\styles | This folder contains style sheets used by RP Prism. One of the style sheets, customer.css, can be edited to customize the look and feel of the RP Prism client UI. Any changes made to the customer.css file persist even after installing updates to RP Prism. It is important that no other .css files in this folder are changed. |
\template | Various template files used to render certain views in RP Prism. |
ttk | Some files used by the Tech Toolkit. |
ui-grid | AngularJS files used for displaying grids. |
\views | These are main HTML files used to render views in RP Prism. There are two separate sets of files: Default and Portrait. The Portrait views are specially designed for use on smartphones with their limited screen area. |
…\ProgramFiles (x86)\RetailPro
This folder has various ancillary applications available for RP Prism users.
Folder | Description |
---|---|
\DocumentDesigner | (Only present if Document Designer was installed). DocumentDesigner.exe is an application for editing or creating printed document designs (e.g designs for 40-column receipts). |
\ImageExporter | Image Exporter, used to export images from a user's RIL installation. |
\PrismProxy | The Proxy is used to launch the Prism web client. When installing PrismProxy.exe, users have an option of installing a shortcut to the program file in this folder. |
\Resiliency | PrismResiliencyServer.exe, an application that enables to perform centrals transactions in offline mode. |
\Server\Backoffice | The PrismBackOffice.exe application facilitates working with inventory, purchase orders, vouchers, etc. |
\Server\Common\PrismCommon.exe | This application handles tasks common to multiple areas. \Server\Replicaton\PrismMQ.exe PrismMQ, a messaging application used to transmit certain types of data between RIL and RP Prism. |
\Server\Replicaton | PrismMQ, a messaging application used to transmit certain types of data between RIL and RP Prism. |
\TechToolkit | Files for Prism TechToolkit.exe. |
PrismProxy
When you install the PrismProxy component, the PrismProxy folder is added to the …\Program Files (x86)\RetailPro folder. In addition to PrismProxy.exe, this folder has various programs related to using vendor-specific hardware (e.g. for EFT). The configuration file for PrismProxy is found in C:\ProgramData\RetailPro\Server Conf.
Document Designer
When you install Document Designer, the Document Designer folder is added to the …\Program Files (x86)\RetailPro folder. This folder has the DocumentDesigner.exe program, which enables users to modify the designs used when printing documents like receipts.
Prism Services
The following sections list settings for the various services used by Prism. Most of the services can be configured either by directly editing the service's .ini file or by editing the service's configuration in Tech Toolkit Service Manager. Most of the .ini files for the services are in the \ProgramData\RetailPro\Server\Conf folder. A few of the services listed here cannot be edited.
Service | Description |
---|---|
OracleServiceRProODS | This service facilitates the replication of data between Prism and the RIL Oracle database. This service will establish the connection with the OracleODS12cr1TNSListener so that the Prism and Oracle databases can communicate. This service runs as a dependency of the PrismMQ service. |
Apache | Every application that sends data across the Internet requires a web server to make the HTTP/S calls. To use Prism, the Apache service must be running. You can verify whether the service is running by launching Apache Monitor from the taskbar. When making configuration changes, if you need to reboot the service, be sure to stop the service, wait for it to shut down, then use the Start button to restart the service. Do not use the Restart button to restart the Apache service. |
RabbitMQ | The RabbitMQ service handles tasks related to RabbitMQ messaging and messagequeues |
PrismBackOffice | PrismBackOffice.exe facilitates operations related to inventory, adjustments, physical inventory and other back-office tasks. You can make api calls via the api/backoffice path |
PrismCommonService | The PrismCommon service is an 'Auxiliary' service, a service that is used by many modules/functions throughout Prism. |
PrismPOSV1Service |
This service handles POS-related tasks, Physical Inventory and a few other inventory-related tasks. The POSv1Service handles the RPC Methods and REST Resources that are listed in the RPSRESTSERVICEMODULE area of the Prism API Explorer. This service has settings related to thread counts and timeouts. The purpose of these entries is to control how much memory is allocated to a given RPS instance. Since we have a 32 bit architecture, each instance is limited to a max of 2 GB of memory. Transform is a very heavy resource and has a defined limit that we feel should be adequate for most circumstances. Auth threads are only applicable to the primary instance and define how many auth requests can happen simultaneously |
PrismResiliencyService | This service facilitates the continued operation of central credit and central gift cards when the connection to the Centrals server goes down. The PrismResiliencyServer.exe facilitates offline processing and sending of those offline transactions to the processor when the connection is restored. |
PrismLicSvr | Although licensing is not yet implemented in Prism, the PrismLicSvr service must be running for Prism to run. You will receive an error message when trying to launch Prism if this service is not running. |
PrismMQService |
This service plays an important role in the replication of data between servers. You can configure PrismMQ with various options, including max number of senders/receivers and compression thresholds. |
PrismSchedulingService | The Scheduling Service facilitates the running of tasks that you have defined in Tech Toolkit, as well as Prism built-in tasks (e.g. building customer history and subsidiary modeling). At the scheduled time, the service makes the necessary API calls to run the task(s). Tsks handled by the PrismSchedulingService include: Customer History daily process Customer History initialization process Markdown processing Subsidiary Modeling Scheduling service housekeeping task (1x per day) |
PrismTechToolkitService | The TechToolKit Service supports the web-based version of Prism TechToolKit. |
PrismReplicationService | The PrismMQService.exe works in conjuction with PrismMQConsumer.exe and PrismMQProducer.exe to replicate data between Prism servers.. |
RabbitMQService
Note: This service is found in C:\Program Files (x86)\erl9.3\erts-9.3\bin\erlsrv.exe
This service cannot be configured; however, you can start/stop the service as needed.
PrismBackOfficeService
PrismBackOffice.exe facilitates operations related to inventory, purchasing, transfers and other back-office tasks. You can make api calls via the api/backoffice path. The GETLIMIT section enables you to restrict the total number of records returned by a GET request for the following: in.ventorylist, transferslip, invnlot, inventory, document, adjustment and invnserial.
PrismCommonService
This service helps with tasks that are performed in multiple areas (e.g. customer lookups).
The GETLIMIT section restricts the total number of records returned by a GET request for customer and customerlist records (default = 100).
PrismPOSV1Service
This service handles POS-related tasks, Physical Inventory and a few other inventory-related tasks. The POSv1Service handles the RPC Methods and REST Resources that are listed in the RPSRESTSERVICEMODULE area of the Prism API Explorer. This service has settings related to thread counts and timeouts. The purpose of these entries is to control how much memory is allocated to a given RPS instance. Each instance is limited to a max of 2 GB of memory. Transform is a very heavy resource and has a defined limit that we feel should be adequate for most circumstances. Auth threads are only applicable to the primary instance and define how many auth requests can happen simultaneously.
PrismResiliencyService
The PrismResiliencyService enables retailers to continue to make central credit and central gift card transactions when the connection to the Centrals server goes down. The PrismResiliencyServer.exe facilitates offline processing and sending of those offline transactions to the processor when the connection is restored.Settings for resiliency service. Note that the database type and location are taken from RPSLicensing.ini file.
Property | Notes |
---|---|
DBRETRYSECONDS | The number of seconds between checks to see if the connection to the Centrals server has been restored. Default = 10 seconds. This means that if the connection to the Centrals Server is lost, the PrismResiliencyService.exe will wait 10 seconds and then check if the Centrals server is available. If not available, the PrismResiliencyService.exe will wait another 10 seconds and then check again if the Centrals Server is available, etc. |
DATABASECONNECTDELAY | Number of seconds to wait before trying to connect to database (to prevent crashing Oracle during startup). Default = 30. |
UDPPORTIN | Keep default 8432 Incoming port number for receiving commands. Used for centrals resiliency |
UDPPORTOUT | Keep default 8433 Outgoing port number for sending responses to commands. Used for centrals resiliency |
PrismLicenseService
Although licensing is not yet implemented in Prism, the PrismLicSvr service must be running for Prism to run. You will receive an error message when trying to launch Prism if this service is not running.
Prism Scheduling Service
This service coordinates running of the following predefined tasks: Customer History daily process, Customer History initialization process, Markdown processing, Subsidiary Modeling and Scheduling service housekeeping task (1x per day)
[SCHEDULER]
Property | Possible Values | Default | Notes |
---|---|---|---|
DEFAULT_INTERVAL | |||
RUN TASKS ENABLED | If True, scheduled tasks are run. If False, no scheduled tasks will be run. Note: You don't have to stop/restart the service if you change this setting. The change in setting will be detected automatically. |
||
MAXALLOWEDTASKS | Determines the maximum number of tasks that can be chained together to run at one time. | ||
RPSUSERNAME | Encrypted username | N/a | Username. |
RPSPASSWORD | Encrypted password | N/A | Password for the specified username |
PrismTechToolkitService
This service monitors system settings and services. You can view or edit the settings for the TechToolkit service in the Service Manager tool of Tech Toolkit, or by editing the PrismTechToolkit.ini file (located in …\ProgramData\RetailPro\Server\Conf folder).
Note that these settings are dynamic. If they are changed, it is not necessary to restart PrismTechToolKit Service. The settings will take effect on the next HealthCheck run cycle.
Setting | Description |
---|---|
System Monitor Enabled | The System Monitor, when enabled, checks available diskspace, memory, and other system attributes. Default = Disabled |
HealthCheck Run Interval (seconds) | The service will check Prism services' status every 60 seconds and restart any Prism-related services that have stopped or are not running. Enter the number of seconds between each health check. Default = 60. |
Service Monitor Service Exclusions | If there is a Prism service you do not want the Monitor to restart, enter its exact name (as shown in the ToolKit's Service Manager listing) in the "Service Monitor-Service Exclusions" edit box. By default, all services are monitored. |
Service Monitor Restart All Services | If selected, all services are restarted automatically during a full Prism restart. Default = Enabled |
Service Monitor Enabled | The Service Monitor, when enabled, checks Prism services' status every 60 seconds and restarts any Prism-related service that has stopped or did not start. Default = Disabled |
Thread Count | Number of threads used for monitoring services. |
Available Diskspace Alert Percent | When available disk space reaches the specified percentage, an alert is sent. Default = 10. Important: The alert is not displayed to the end user; the alert is written to TechToolkitService log file. |
PrismReplicationService (PrismMQService)
The PrismMQService has key settings related to data replication.
See PrismMQService topic for more information
Retail Pro Prism DRS Service
The only setting you can adjust for this service is the Thread Count (default = 5).
Special Config Settings
This section has additional information about some of the configuration settings that provide special functionality.
- ClaimAtStartup
- PRESERVESUCCESSRECORDS
- GETLIMIT
ClaimAtStartup
Current Proxy functionality allows multiple proxies to access the same cash drawer on a POS workstation.
A new option has been introduced. Now the Cash Drawer plugin (OPOSCshDrwr.DLL) will read an additional optional field from the OPOSConf.ini file, called ClaimAtStartup.
Example:
[CshDrwr1]
LDN=A798-1
ClaimTimeout=10
Actv=1
ClaimAtStartup=1
If this value is 1, the Proxy claims the cash drawer at proxy startup time, and holds it until the proxy terminates. This allows faster response to drawer open and status requests. If this value is 0, or the field is not present (as in the field for current users), the Proxy claims the cash drawer at each drawer open or status request and releases it again. This allows multiple proxies to access the same cash drawer, if required. Note: You must manually enter this option and its parameter in the OPOSConf.ini file under the cash drawer section.
PRESERVESUCCESSRECORDS
The PRESERVERSUCCESSRECORDS setting in the PrismMQService.ini file determines whether users will see successful records and errors, or only errors. In Prism MQ, the default value is False, meaning that successful records are not preserved. Keeping the default value of False is important for customers with large data sets. If set to true, large quantities of unneeded data (sometimes millions of rows) could be preserved. When you run initialization, and everything is successful, but the property is set to false, you will see the completed message in the V9 Status screen but you will not see success records.
[V9]
INITSENDTHREADCNT=1
MESSAGEBATCHSIZE=25
D2DRECVTHREADCNT=5
D2DMAXRETRIES=5
INITHIGHTHRESHOLD=10000
INITLOWTHRESHOLD=5000
INITRESTARTTIMEOUT=10
PRESERVESUCCESSRECORDS=False or True
[PRISM]
INITRECVTHREADCNT=20
INITMAXRETRIES=20
D2DRECVTHREADCNT=5
D2DMAXRETRIES=5
PRESERVESUCCESSRECORDS=False or True
GETLIMIT
A protection feature for out-of-memory errors is available for the RPS, BackOffice and Common services. Now, technicians can limit the number of rows that the web client (or customization) can request when making unfiltered GET REST requests. Such requests force the server to load ALL rows into memory. This can cause the server (Apache or one of the Prism services) to crash with "out of memory" errors.
This protection is TURNED OFF by default. Turn on the protection in any or all of the following configuration files when the system is suffering from these "out of memory" errors for a particular resource:
- RPS module - RPSRestServiceModule.ini
- BackOffice service - PrismBackOffice.ini
- Common service - PrismCommon.ini
[GETLIMIT]
# what to do if no SID or filter is passed for top-level resource:
# >0: limit number of rows fetched (up to 10000)
# 0: no limit (default)
customer=100
document=100
inventory=100
Limits are applicable to the top-level resource only (for example, applicable for document, but not applicable on document items or tenders). Limits are set for each resource individually. Limits are applied when the GET request asks for more than one record of top-level resource when pagination parameters are not specified in request parameters.
If a resource is not listed or is listed with 0 limit (zero) - the protection is turned OFF. A positive number enforces a hard limit on the number of rows that will be loaded from the database.
Use Negative Numbers for Troubleshooting
Negative numbers are meant to be used during development or troubleshooting:
# -1 - server will try to load all rows that are requested, but will log a warning message to the log file (even on log level 1)
# -2 - server will NOT try to load any row from the database and will log a warning message (same as (a), but will avoid potential "out of memory" errors)
# -3 - server will return an error to the client instead of loading rows from the database (useful for early detection of unexpected unfiltered requests during development)
If a warning needs to be logged, it will be in a format similar to this - if you need to locate it in the logs look for "record limit problem detected" phrase:
2017.05.25.13.57.33.019 [2212] - WARNING - Record limit problem detected for resource inventory: GetList called with no pagination or SID - limit reached
Registry Keys
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node
Path | Description |
---|---|
Retail Pro\Prism\Erlang | Registry keys for the Erlang programming language upon which RabbitMQ is built. |
Retail Pro\Prism\Modules | Contains individual sub-registries for individual Prism components. The PrismProxy folder has subfolders for each Proxy installed. |
Retail Pro\Prism\MRU | Contains keys for most recently used ports. |
Retail Pro\Prism\Primary | Contains various server-related registry keys. |
Retail Pro\Prism\RabbitMQ | RabbitMQ registry key. |
Retail Pro\Prism\Versioned | Contains registry keys related to hardware and individual services. |
Retail Pro\PrismBackOfficeService | Registry keys for the Prism Backoffice service. |
Retail Pro\PrismCommonService | Registry keys for the Prism common service. |
Retail Pro\PrismLicSvr | Registry keys for the Prism license server. |
Retail Pro\PrismMQService | Registry keys for the PrismMQ service. |
Retail Pro\PrismPOSV1Service | Registry keys for the Prism POS v1 service. |
Retail Pro\PrismResiliencyService | Registry keys for the Prism Resiliency service. |
Retail Pro\PrismSchedulingService | Registry keys for the Prism Scheduling Service. |
Retail Pro\PrismTechToolKitService | Registry keys for the Prism Tech Toolkit service. |
Retail Pro\RIL Enterprise Communication Manager | Registry keys for the RIL Enterprise Communication Manager, used to communicate data between the HQ server and the RIL Oracle database. |