Updated: April 24, 2024 9:38am

Enterprise Connection Manager

Prior Version: Prism 1.14.7 Connection Manager Guide PDF

Current Version: Prism 2.3 Connection Manager Guide PDF

This topic has information about configuring data replication in the Connection Manager area of the Prism Administration Console.
The Connection Manager area is where users:

  • Initialize servers with data from the server's Point of Authority (POA)
  • Configure data replication profiles to control what data is exchanged with other servers
  • View lists of sent/received data links

This topic includes:

  • Background information about the Prism enterprise hierarchy. Understanding how Prism servers are organized makes it easier to understand how data can (and cannot) be replicated among the servers in the enterprise.
  • Best practices for replication.
  • Join the Enterprise information
  • Initialization information.
  • Day-to-Day replication information.

About the Prism Enterprise Hierarchy
Prism is deployed in a hierarchy, or tree structure, with a single ROOT authority sitting at the top of the hierarchy (e.g., a server at headquarters). In less complex enterprises, individual stores can replicate data directly to the ROOT authority. In more complex enterprises (e.g., more than 100 stores), individual stores replicate data to an intermediate Point of Authority and the POA replicates data with the ROOT. Each server (except the ROOT) must join the enterprise through a Technician's Toolkit process. This structured hierarchy enforces synchronization of data throughout the enterprise.

.

Prism hierarchy

Enterprise Hierarchy Notes
ROOT

  • A single ROOT system serves as the top-level / ultimate Point of Authority (POA) for the company's servers.
  • Data created at the ROOT flows downstream from the ROOT to POAs and from POAs to stores.
  • Data created at stores flows upstream to POAs and the ROOT.
  • You cannot send data directly from one store to another; data first must flow upstream to the POA and/or ROOT and then downstream to the destination node.
  • By creating "profiles" in Prism Connection Manager and linking those profiles to connections, you control the data that is sent between servers. For example, the store servers will send documents (transactions), customers and other new or changed records upstream to the POA and ROOT. Likewise, the ROOT will send things like new items downstream to the POAs and stores.

POA
A server's Point of Authority (POA) is the upstream server in charge of enterprise data (from a store server's point of view). In smaller deployments, the ROOT server can serve as the POA for the store servers. Larger deployments typically use an intermediate level of POA servers between the ROOT and store servers. Data is sent downstream from the ROOT to the POAs and then from the POAs to the store servers. Data is sent upstream from the stores to the POAs and then from the POAs to the ROOT.
Store
At the store level, create a profile to communicate daily with the POA. When data is created/edited at the store level, it will b communicated up the enterprise chain to the ROOT. Store servers are not allowed to replicate data directly with each other; instead, the data must first flow up the hierarchy to the POA and ROOT and then back down the hierarchy to the target store.
Joining the Enterprise

  • All servers other than the ROOT must join-the-enterprise. Joining the Enterprise adds the server as a new node in the enterprise hierarchy. As part of the JTE process, the user must identify the server's POA.
  • Prerequisites for Joining the Enterprise
  • The server must have online connectivity to the POA
  • The user doing the configuration must know the IP addresses or FQDNs
  • The machines must be on the same version number of Prism (e.g., 1.14.7 or 2.0.1; however, different build numbers within the same version are allowed).
  • The Prism ROOT does not join the enterprise. Install and configure the ROOT first and then join servers as subordinate nodes to the ROOT.

Basic Steps (ROOT, POA, Store) for JTE, Initialization and Day-to-Day Replication
The basic steps listed here are for Prism 2.x and are explained in more detail in following sections. If you are using Prism 1.14.7 and earlier, refer to PDF linked at the top of this topic. In Prism 1.14.7 and earlier, the UI for joining the enterprise, leaving, and removing servers is different than in 2.x 
Prism ROOT Server
The ROOT authority server machine should be the first server on which Prism is installed and configured. Install the full Prism stack (Apache, Prism Server, Prism Proxy).
Launch the Prism Proxy using the desktop shortcut and log in.
Configure Prism preferences and permissions. These preferences and permissions will propagate to the POAs or store servers that will be installed.

POA or Store:
(POAs are required when there are more than 100 stores; one POA per 100 stores.)
On the new server, install the full Prism stack (Apache, Prism Server, Prism Proxy, Prism DRS).
On the ROOT (or intermediate POA), navigate to Tech Toolkit and log in.
Select the ROOT (or intermediate POA) node in the server list and click the menu icon. Select "Add Subordinate Server to [server]."
On the Identity screen, enter the new server Address, username and password and select if you use SSL or not.
On the Verify screen, edit the default Controller number (default=1) and Controller name (default=RPS). the controller number.
After the server has successfully joined the enterprise, launch the Prism Proxy and configure the following:

  • Admin Console > Connection Manager > Prism Dashboard > Connections: Select the connection to the ROOT or appropriate POA and connect to the server.
  • Admin Console > Connection Manager > Prism Dashboard > Profiles: Create a Prism-to-Prism profile. This profile will be used to initialize the new server.
  • Admin Console > Connection Manager > Prism Dashboard > Initialization: Initialize the server with data from the ROOT (or appropriate POA) using the Prism-to-Prism profile you created.
  • Admin Console > Connection Manager > Prism Dashboard > Profiles: After initialization is complete, create a Prism-to-Prism profile for Day-to-Day replication of data from the POA back to the ROOT. Create any additional profiles that will be needed for Day-to-Day replication and link the profiles to connections.

Replication Best Practices

  • Use a VPN to replicate data. RabbitMQ sends messages in plain text, so using a VPN is recommended.
  • Install Prism servers from the top down, starting with the ROOT. Next, install child POAs (if required), join each to the enterprise and initialize with data from the ROOT. Install store servers last, join each to the enterprise and initialize with data from the appropriate POA or the ROOT..
  • To initialize a node, the node must be on the same Prism version as the POA.
  • Edit the default Controller Name and Controller No of POA and store servers in Tech Toolkit when adding the server. The Controller No of each controller must be unique within the enterprise.
  • To access or edit a node, the server must be up and running.
  • To send data out from a server, you must create a profile and link it to a connection.
  • Nodes can modify the controller data for themselves and any subordinate nodes (in Tech Toolkit).
  • Any node other than the root authority can leave the enterprise; a superior node can remove a subordinate node that is offline via the "Remove Subordinate" option in Tech Toolkit.
  • At the ROOT create a separate profile for each subsidiary to prevent each subsidiary from getting overwhelmed with data from other subsidiaries (if the data from other subsidiaries is not needed).
  • Avoid generating unneeded traffic by being careful about what data is replicated and where it is sent. For example, if you turn on replication of all resources at every location, it could cause the replication message queues to back up and prevent data from being delivered in a timely manner.
  • You cannot send documents directly from one store to another. A POA can create documents and send them to stores, and a store directly under the POA can create documents and send them to the POA; however, two stores under a POA cannot send documents to each other without first going through the POA.
  • Certain fields that update quantity and cost are designated as protected fields. These protected fields will update values at a subordinate server when replicated from a POA to a subordinate. When data is replicated from a subordinate to a POA, the protected fields are not updated. See the "Protected Fields" section.
  • For effective communication between web clients and the Proxy, the Proxy should point at a server on the local network. This enables the proxy to fulfill its primary purpose, which is enabling web clients in the POS lanes to communicate with printers and other POS hardware. To change the server to which the Proxy points, first uninstall the Proxy and then reinstall the Proxy, pointing to the desired local server.

Navigating Connection Manager
Access Connection Manager
Click the Retail Pro button in the lower-right corner and select Administration Console.
Click the Connection Manager link near the bottom of the menu on the left side of the screen.
The Connection Manager area of the Admin Console provides an interface for working with
Connections, Profiles, Day-to-Day replication and Initialization.
The Connection Manager area is divided into a set of dashboards. Select the appropriate dashboard for the task you want to accomplish:

Dashboard Description
Prism Dashboard Work with Prism-to-Prism connections, profiles and initializations
Custom Dashboard Work with custom connections to external systems

Prism Dashboard
The Prism Dashboard is divided into the following tabs:

Tab Description
Connections Select the Connections tab to add, edit or remove connections to other Prism servers.
Profiles Select the Profiles tab to add, edit or delete Prism-to-Prism profiles.
Day to Day Select this tab to display the results of Day-to-Day replication. For each job, you can drill-down to view failure/success of individual resources and records.
Initializations Select the Initializations tab to start Prism-to-Prism initialization.

Custom Dashboard
The Custom Dashboard is for custom connection activity (e.g. a Prism customization). You can use the Custom Dashboard to create custom profiles and view results of Day-to-Day replication to and from a custom connection.

Notes

  • Status reporting is for messages on the inbound side only.
  • Custom connections are not replicated to other systems.
  • Connection tab will only contain the Prism Connection information.
  • Profiles Tab contains Sender profiles defined on the Prism side; in other words, sending data From Prism to another system and from another Prism system to this system.

Initialization, JTE and D2D Replication
About Initialization
Prism 2.0 (or later) cannot be initialized from legacy versions of Retail Pro (RP9, RIL, RP8). Initializing Prism 2.0 (or later) requires a "Prism-to-Prism" profile and a connection to another Prism 2.0 (or later) system.
Initialization loads a new Prism server with data from a ROOT or POA server. Typically initialization is a one-time process, done at the time of install. The amount of time required to initialize a server will depend on the amount of data in the source database, especially the size of inventory and customers. The larger the data set, the more time is required. Please set aside enough time for initialization to complete.
Initialize servers in the proper order. For example, initialize POA servers with data from the ROOT and then initialize store servers with data from the appropriate POA.

Delete Batch
If you need to delete an initialization, make sure that the initialization message queue has finished processing and then click the Delete button. If you delete an initialization while it is still processing, some messages will be stuck in the queue. A confirmation is displayed. Click Yes.

Failed/Stopped Initializations
Initialization can take a long time for larger databases and can sometimes fail to complete successfully. If an initialization fails or is stopped for whatever reason:
Create a new Sender profile that starts from the resource after the last COMPLETED resource. For example, if the initialization was in the middle of the Inventory resource when the failure occurred, the new Sender profile should include Inventory and the rest of the resources to the bottom of the list. Run initialization again using the new Sender profile.
When you create a new Sender profile and restart, it may take a while to process the first resource (the resource that was being initialized when the failure occurred). This is because the program must do a slower UPDATE operation on each of the resource's records that are already in the tables. Once the program finishes the updates and reaches the unprocessed records for the resource, it switches to the much faster INSERT operation. There currently is no way to restart a failed/stopped initialization from the specific point of failure. The entire resource in which the failure occurred must be sent again.

Join the Enterprise
Join the Enterprise refers to the process of adding a new server to the existing enterprise hierarchy. All servers except for the ROOT server must join the enterprise before initialization. The server being added must have online connectivity to the POA to manage enterprise data or use enterprise features and the user doing the setup must know the IP Address, FQDN or hostname information for servers. All servers other than the ROOT server must go through the Add Server/Join-the-Enterprise process. Joining the Enterprise adds the server as a new node to an enterprise hierarchy. As part of the JTE process, the user must identify the new server's POA.
Requirements

  • The server must have online connectivity to the POA
  • The user doing the configuration must know the IP addresses or FQDNs.
  • To join the enterprise, the machine joining and its POA must be on the same version number of Prism (e.g., 1.14.7 or 2.0.1; however, different build numbers within the same version are allowed).

1.    At the ROOT server machine, launch. To access Tech Toolkit, enter the following in the browser address bar: /TTK
A list of prism servers is displayed on the left side of the screen. If this is the first POA server and it is yet to join the enterprise, only the ROOT's own server will be listed.
Highlight the server and click the menu icon. Select Add Subordinate Server to [server name].
Add server menu option
2. On the Identity screen, enter the new server Address, username and password and select if you will use SSL or not..
Click the arrow button to proceed.
Add server, Identity screen

3. On the Verify screen, edit the default controller number (default=1) and Controller name (default=RPS). the controller number.
Click the arrow button to proceed.
Add server, verify poa screen

4. When you click the arrow button, the JTE process starts. As part of the JTE process, core resources are imported. The core resources are certain basic resources that are required for initialization. When the initialization of Core Resources is finished, click the checkmark button to finish.
Add server, core resources initialization complete
 
The server you added is now listed in the menu. The new server's listing is indented to show that is located under the ROOT server in the enterprise hierarchy.
 HQ server menu with POA

Day-to-Day Replication
Day-to-Day (D2D) Replication refers to the sending of data on a regular basis between servers. Unlike initialization, which is typically a one-time operation that sends all available data downstream, Day-to-Day replication occurs on a regular basis, in each direction, and sends only the needed subset of data resources.
D2D replication is carried out by creating one or more profiles that include the desired resources and then linking each profile to the correct connection. When creating profiles for D2D, you select the specific data types needed by the receiving location. This reduces overhead and replication times. Resources that are unlikely to change, like Departments or Vendors, can be excluded, or sent only occasionally. You can use the Advanced Filters feature to apply fine-grained control over the specific records that are replicated.
When a server joins the enterprise, Prism performs a type of mini-initialization and copies a group of resources known as the core resources from the POA to the subordinate system. The core resources are resources that are required for initialization to take place. As a result, when you go into the Profiles area on the Prism Dashboard, you will see a Core Resources profile already exists. The core resources profile is read-only and by default is not included in Day-to-Day replication.

Prism Dashboard - Day to Day Tab
The Day-to-Day tab is split into two sub-tabs: Completed and Pending.
The Completed tab displays a list of the day-to-day replication records for the server. For each resource, you can see the number of records sent, received, and the number of failed records. When you drill down, it shows the messages that have been completed (i.e. put on the message bus).
The Pending tab shows messages that are in the process of being put on the message bus.
If you click a connection (server), it shows summation information of all pending messages in the queue for that server that are Pending and IN Process for delivery to the bus. You can select a server to drill down to the list of resources sent. With a resource selected, you can then drill down to view individual SIDs.

Element Description
Icon for records sent to this server  Records that have been sent to this server.  Click the link to display the list.
Icon for records sent from this server Records that have been sent from this server. Click the link to display a list of the records sent from this server.
Error icon Errors. Click the link to display the list.
filter server list When several servers are available, you can filter the list. Type the name of the machine. Click the icon to filter for only servers with errors.
refresh server list Click the link to refresh the server list.

The data in the Identifier and Status columns is a link. The Date is the date of the initialization, not the date the record was created or updated.
If you click in the Identifier link it will take you directly to view the data which was sent. This view will show the last modified date/time for the record.
If you click on the Status link it will simply show the message in the status line.  This is useful if there is a long message which cannot be seen completely within the width of the status column.

Connections
To replicate data between two Prism servers, the servers must establish a TCP/IP connection. Data is replicated according to the instructions specified in the profile assigned to the connection. Each end of the connection can use a different profile when replicating data to the other end of the connection.
How do servers establish a connection?
When adding a server to the enterprise, the user must enter the IP Address or FQDN of the server's POA. The JTE process creates a connection between the server and its POA and copies core resources to the new server.
Linking Profiles to Connections
Connections are listed on the Connections tab of the Prism dashboard. If the Connected Only checkbox is selected, only connections to servers that are up and have a working connection are displayed in the list. To view the profiles associated with a connection, click the connection. The profiles involving that connection (in each direction) are displayed. For data to be sent via a connection, the Linked checkbox must be selected. Selecting the Linked checkbox links the profile to the connection. If you want to stop sending data, clear the Linked checkbox. Note: More than one profile can be linked to a connection in each direction.

Connection Fields

Field Description
Connected If selected, indicates the connection is established and currently connected.
Active If selected, indicates the connection is active and available for use.
Remote Address The IP address of the other side of the connection.
Remote Description A description of the other side of the connection. By default, displays the IP address of the server on the other side of the connection, but can be edited.
Local Address The IP address of the user's server.
Local Description A description of the local machine's part of the connection.

Prism Dashboard - Connections tab
The Connections tab displays the server's connections to other servers. The Remote Description column lists the individual Prism servers installed. The Remote Address column lists the FQDN or IP Address of the machine. You can filter the list by typing a remote name or number into the Filter text field. Each connection must have a profile assigned on both the Send/Receive sides. You can select the Connected Only checkbox to view only servers that are currently connected. Click the Show Un-Linked link to display unlinked profiles.

Filter by Remote Description
You can type the name of a Remote connection in the text box to automatically filter the list of connections. This is especially useful when there is a long list of connections.

Display Connected Only
By default, only connections for connected installations are displayed. If you clear the checkbox, any unconnected installations are displayed, too.
Creating Connections to other (non-POA) Machines
There is no restriction as to the connections you can create. If you have credentials to another system, you can create a connection to it. At a store server, the connection to the POA is all you need to replicate data to other systems in the enterprise.

Profiles
A profile specifies the resources that will be replicated from one end of a connection to another. 

Profile Type Description
Prism to Prism For sending data from one Prism server to another Prism server. Available on the Prism dashboard

To replicate data, you must link a profile to a connection. Only linked profiles are used for replicating data. If a connection does not have a profile linked for one or both directions, data will not be sent in the unlinked directions. You can define one profile that specifies the data that is sent from Store 001 to its POA, and a different profile for data sent in the opposite direction, or you can reuse the same profile. You can define as many profiles as needed. The important thing is that you link a profile to each side of the connection.
You can specify which subsidiaries are included in Profiles. You can select any or all Subs. If you select All Subs, then all Subs that currently exist will be selected, AND ANY SUBS ADDED IN THE FUTURE. Selecting this option helps ensure that any new subs added to the company are included when replicating data using the profile. Keep in mind that when this option is selected, any new subs will be added automatically. If this is a concern, then you can select the individual subsidiaries.
You must add the profiles you want to use for initialization and the profiles you want to use for day-to-day.
It is important to select the correct resources for profiles. Make sure you understand the data types you want to replicate so you can include the appropriate resources in the profile.

Copy and Import Profiles
Users can copy an existing profile, create a new profile at the desired location, and import (paste) the contents into the new profile. In early versions of Prism, users had to create profiles at each location. This process was tedious and error-prone. Now, users can copy an existing profile and then import (paste) the contents into a new blank profile at a different location. The only restriction is that the profile being created must be of the same type as the copied profile. This enables a user at a central location to create profiles and then assign the needed profiles to individual locations. This simplifies the profile creation process and helps ensure consistency.
When you display a profile in edit mode, at the bottom of the screen is a Copy button. Click the Copy button to copy the profile's contents to the clipboard.

add profile

Next, start a new profile of the same type that was copied. At the bottom of the Create Profile screen is an Import button. The Import button is only available if you are creating a profile of the same type (e.g. Prism-to-Prism). 
If you click the Import button, the contents of the copied profile (except the Name) are copied into the new profile.  
 Enter a Name for the new profile. Make any other needed changes. Save the profile.
Add/edit/delete profiles on Connection Screen
Previously, a technician would use Remote Desktop to go into each individual server to create/edit the profile. This was very time consuming and added significant support costs to Prism deployments.
Profiles can be created, edited and deleted from the connection screen.

Button Description
create profile button Create a new profile. This shortcut launches the Create Profile dialog for the type of connection you are working with.
link profile button Select the checkbox to link the profile to the connection. Clear the checkbox to unlink the profile.
edit profile button Edit the profile.
delete profile button Delete the profile.


Notes

  • When a profile is linked, the delete button is disabled
  • Delete and edit functionality are disabled for internal profiles (core resources)
  • When creating or editing a profile from the connection screen, the profile type is auto-detected based on the server and connection type

Advanced Filters
Advanced filters allow you to apply logic to return only certain records from the server. The basic syntax for a filter is (ATTRIBUTE,OPERATOR,CRITERIA). The attribute is the name of the attribute to search in, the operator provides the type of comparison, and the criteria is the value to look for.

Available Comparison Operators
The current operators you can use in a filter are as follows:
•    EQ - Equal to
•    NE - Not equal to
•    LT - Less than
•    GT - Greater than
•    LE - Less than or equal to
•    GE - Greater than or equal to
•    NL - Is null
•    NN - Not Null
•    LK - Like

Exceptions

While most of these operators use the pattern mentioned above, there are a couple of exceptions.
•    In Inventory, the Active flag is not true false but rather 0, 1. Your filter will therefore need to be modified to say (active,eq,1) not (active,eq,true).
•    NL and NN do not accept a criteria element e.g. filter=active,nn
•    LK filter uses a as a wildcard. For example s matches all entries starting with s
Resource Filter Examples
Note: The filters are not case- or space-sensitive.

Example Description
(Active,eq,true)  Send active customers
(Active,ne,true)  Send inactive customers
(Cost,le,4.50) Send inventory items with a cost less than or equal to 4.50
(AdjNo,gt,200) Send adjustment memos with an Adj No value greater than 200.


Compound Filters
Compound filters can also use AND and OR clauses with parenthesis to establish grouping. e.g. (FirstName,eq,jack)AND(LastName,eq,harkness)

Filtering Documents by Subsidiary
Here's an example of filtering documents by subsidiary for Prism Day-to-Day replication.

  1. Create a new filter in Connection Manager.    
  2. For the filter, select the Document resource.    
  3. Click the Advanced Filter link.    
  4. Enter a filter for the subsidiary whose documents you want to send. (sbsno,eq,2)    
  5. Click the Back button and then save the profile.     

advanced filter

Core Resources
The core resources are resources considered to be core and not necessarily part of the standard day-to-day traffic. Generally they are defined as those resources that would be replicated from the POA to its members, but not necessarily back to the POA from a member. The following are the core resources: Controller, Tenant, Subsidiary, CustomSchema, Transformdesign, Season, TaxArea, PriceLevel, Currency, StoreType, Store

  • Core Resources must be selected for Prism Day-to-Day replication
  • When creating initialization profiles, the Core resources must be explicitly added if desired

The best and easiest way to correct replication , is to edit your D2D P2P profiles. Add Core Resources, select ALL resources, then uncheck: Controller, Customschema, Store, Subsidiary, Tenant, TransformDesign, Subsidiary, Tenant and Transformdesign. This is because they are already in the un-editable ‘CoreResources' profile.
Core resources replicate in both directions.
Central Resources
When creating a new profile, you will see a check box for Central Resources. The only resource included in the Central Resources is ltycustcentral. If you are using customer loyalty, you will need to create a profile that includes the central resources and initialize stores using that profile.
Create Profile screen showing central resources (ltycustcentral resource):
Loyalty profile

You can specify which subsidiaries are included in Profiles. You can select any or all Subs.
If you select All Subs, then all Subs that currently exist will be selected, AND ANY SUBS ADDED IN THE FUTURE. Selecting this option helps ensure that any new subs added to the company are included when replicating data using the profile. Keep in mind that when this option is selected, any new subs will be added automatically. If this is a concern, then you can select the individual subsidiaries.

Pause Day-to-Day Replication
The Connections user interface includes elements that enable users to:

  • Pause day-to-day replication for a connection
  • Filter connections by description
  • Filter connected only servers
  • View a server's paused status

These changes help with scenarios like the following:

  • A company is rolling out a set of stores. Due to lack of room in the store, the POS workstations are built and initialized in the company warehouse. In between the initialization and when the stores go live, day-to-day messages are generated and remain on the Rabbit MQ buss while the system is shipped to the store.
  • A store goes down or loses the Internet connection. In many non-US countries, outages can be lengthy. While the store is down, day-to-day messages are generated.

These scenarios lead to orphaned federated queues and queues bloated with messages, causing issues with RabbitMQ.
Filtering Connections by Description
In the "Filter by Remote Desc" text box, start typing the connection name (defined in each server's Installation Defaults) to dynamically filter the list.
Filtering for Connected Only Servers
Select or clear the Connected Only checkbox to filter the list to include only machines in the enterprise directly connected to the local server.
Sample Admin Console Connection Manager (Connections tab) showing text box to filter connections by description, Connected Only checkbox selected, and the Pause/Resume button showing Not Paused:
Connection Manager

Pausing Replication
The third column from the left is labeled Pause/Resume and it has a button in it that the user can click to pause replication to the selected server.

  • When the selected server is not paused, the button reads Not Paused.
  • When the selected server is paused, the button reads Paused at (Date of pause).
  • New records created during time server is paused
  • If any items, departments, vendors, documents, customers, or employees are created during the time replication to other servers is PAUSED, those records will not replicate normally after the server is UNPAUSED. Any such items, departments, vendors, documents, customers, and employees created while the connection is paused will need to be edited to replicate; upon editing the records, the records will replicate normally.

Review, Troubleshoot Replication
Use "Show Successful Records" setting for troubleshooting only
By default, the successful records sent during replication are not preserved. This helps keep hard drives from getting filed with the files. However, during troubleshooting and other times, you may want to change this setting so that you can drill down and see individual records. The default value for Show Successful Messages 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. Therefore, the setting should only be changed to True when doing troubleshooting. Before Initialization, edit the PrismMQService.ini file so that the PreserveSuccessRecords setting is set to TRUE and select the Show Successful Messages checkbox on the Prism Dashboard > Initializations screen.

Restart PrismMQ after Deleting Replication Records
The key service involved with replication, PrismMQ, caches records aggressively to improve performance. If the record is in the cache, it is assumed that the record exists and PrismMQ doesn't need to confirm its existence in the database. This is usually not a problem; however, it can become a problem if you have deleted replication-related records (e.g. replication status) from tables while troubleshooting. The record you removed as part of your troubleshooting efforts may still be in the cache. Therefore, you should restart PrismMQ as soon as possible after deleting replication-related records. Restarting PrismMQ will clear the cache.

Invalid Controller Tree
The Prism enterprise hierarchy requires a single ROOT point of authority for the enterprise. The following error can occur when there is ambiguity in the CONTROLLER table over which machine is the ROOT authority. This error message might be displayed when there is a problem during the "join the enterprise" process. If this error occurs, select the proper ROOT authority, and click the check mark. The other controller(s) will be archived. Try joining the enterprise with a new (different) machine.
Sample invalid controller tree error:
Invalid Controller Tree error message

Reprocess Errors
If any errors occur during initialization, you can correct the problem and then reprocess the specific links that failed. You can click a server's link to drill down to view more information.Click the column header to sort the list by the Failed column. This brings the errors to the top of the list.  Next, go into the resource with the errors. Select the individual elements you want to reprocess and the click the Reprocess Selected button. If you click the View button, you can see details about the selected resource. You can see a lot of info on this screen, so scroll to the right to display more columns.
If Replication, Initialization Fails or is Stopped
If replication services are interrupted (reboot, computer freezes), Day-2-Day replication will resume where it left off. Initialization can take a long time for larger databases and unfortunately, initialization can sometimes fail to complete successfully. If an initialization fails or is stopped for whatever reason, here is what you should do:
Create a new Sender profile that starts from the resource after the last COMPLETED resource. For example, if the initialization was in the middle of the Inventory resource when the failure occurred, the new Sender profile should include Inventory and the rest of the resources to the bottom of the list. Run initialization again using the new Sender profile. When you create a new Sender profile and restart, it may take a while to process the first resource (the resource that was being initialized when the failure occurred). This is because the program must do a slower UPDATE operation on each of the resource's records that are already in the tables. Once the program finishes the updates and reaches the unprocessed records for the resource, it switches to the much faster INSERT operation. There currently is no way to restart a failed/stopped initialization from the specific point of failure. The entire resource in which the failure occurred must be sent again.
Pause/Resume Initialization
You can pause/resume the initialization process. You cannot pause the Sender, but each downstream system that is consuming the resources being sent can be paused and/or resumed.
Cancel or Delete Batch
You can cancel or delete a batch. The buttons to cancel or delete a batch are available on the View Initialization tab. These buttons enable technicians to kill initialization for one or more servers. This saves technicians from having to wait until the entire initialization runs to completion.

  • If you cancel an initialization batch, all running initializations will be stopped.
  • If you delete an initialization batch, all messages currently in the queue will be lost.

Sent and Received Messages
The Sent Messages and Received Messages area enables you to drill down the replication hierarchy and view replication information by resource or even by individual record. Click a server's link to drill down to view more information. Click the column header to sort the list by the Failed column. This brings the errors to the top of the list.
Next, go into the resource with the errors. Select the individual elements you want to reprocess and then click the Reprocess Selected button.
If you click the link, you can see details about the selected resource.

Adjust Customer History Process for High Volume Locales

If you will be operating Prism in a high-volume environment in which all or most of the customers are defined customers in the database, special configuration is required to ensure that Customer History is processed more quickly than the default setting of once every 15 minutes. In a high-volume environment, when using the default Customer History settings, transactions will accumulate before the next processing. By setting the processing timer to a smaller value, e.g. two minutes or five minutes, customer history will be processed more quickly, preventing the build-up of unprocessed transactions.
Launch Technician's Toolkit. On the top toolbar, click the Scheduler icon.  
Navigate to the Schedule Manager area. Locate the Customer History Daily Process.
Right-click in any cell and select Open Form View.
In the displayed Form View, navigate to the Repeat Every (minutes) field. The default setting is 15, which means the process is run every 15 minutes. Change it to a smaller value, such as 2 or 5.

  • High Volume POS transactions for CH purposes means transactions with customers that have an account. If half of the transactions are to customers without an account with the store, CH processing ignores those when fetching documents to process - so no impact on memory.
  • When setting Repeat Every to a lower number, Days of Run History should be reduced to 2 or 3 so that Prism is not storing needless thousands of run history records.
  • These edits can also be made directly in the Scheduled Task grid.
  • Default Start & End Times should be tweaked per store business hours. Otherwise CH will run needlessly and create task run records.

Leave the Enterprise
Warning: Extreme caution must be used when leaving/rejoining the enterprise. If a server leaves and then later rejoins the enterprise, the server must rejoin in exactly the same position as it was in before. The Prism controller hierarchy, which provides the way to track all activity within an enterprise, can be easily disrupted by servers leaving and then rejoining the enterprise in a different position. In other words, once the enterprise structure has been set, it shouldn't be rearranged. Therefore, carefully consider the desired server hierarchy before installing servers.
Administrators can leave the enterprise. This sometimes is necessary due to store closings or changes in the corporate hierarchy. Leaving the enterprise will remove records from the POA and local machine. Later, the machine can rejoin the same POA, if desired. This enables retailers to adapt to changing circumstances while maintaining the integrity of the replication hierarchy.
Neither removing or leaving will change the v9 connection. This can be done manually in the Connection manager in AC. Removing a server from the enterprise is intended for the case when a machine is down and will not be brought back online. If a machine will be brought back online then the recommended practice is to bring the machine back online and leave the enterprise.
When a remote leaves the enterprise (or is removed from the enterprise by the POA), care must be taken to avoid errors. We recommend that you disconnect the machine from the network first, and then leave the enterprise at the remote. If the machine is connected to the network, it will try to communicate with the old POA.
Leaving the Enterprise Rules and Notes
The v9 connection is left in place. You must manually remove this connection. If you don't remove the connection, data may continue to be sent from the Prism server to the old POA.

  • Unless otherwise noted, all the data from the enterprise remains on both sides of the separation.
  • The Controller records for the opposite side of the separation are Archived.
  • The Remote Connection records connecting each side are deleted

If a server leaves (or is removed from) the enterprise, the server must be configured for a new POA with which it will communicate. This includes:

  1. Disconnect the machine from the network first. If the machine is connected to the network, it will try to communicate with the old POA.    
  2. Go into the Prism Technician's Toolkit.    
  3. Select the connection that you want to leave the enterprise.    
  4. Click the Leave the Enterprise button.    
  5. Enter login credentials for this server's POA. Click OK.    
  6. Delete the old POA connection. Add a new connection to the new POA Oracle server. 
  7. Edit the Default Address in the Installation Defaults area of preferences.    

Remove Subordinate Server
If a server is forcibly removed (in other words the subordinate is not online for some reason) the proper recovery if the remote system either:
Is brought back up and desires to remain independent of the enterprise (it has no knowledge that it left the enterprise
It is desired to restore the system to the enterprise
(Note: If the system will be offline permanently, no action is needed)
SCENARIO:
1. An enterprise is set up.
2. A subordinate server in the enterprise goes down.
3. At the Root Authority, it is determined that the best course of action is to remove the subordinate (e.g. because the server will be down for an extended time).
ACTIONS:
At the down servers POA, Remove the powered-down Server from the enterprise.
IF DESIRED FOR THAT SYSTEM TO RE-JOIN ENTERPRISE AT A LATER DATE:
At the Removed system, log into TTK, it will show the former enterprise tree (since the system has no knowledge it has been removed from the enterprise)
At the Removed system, log into the subordinate server's former POA (this is required for the next step).
At the Removed system, select the menu icon associated with the local Server (the removed subordinate server) and select Remove. Now the enterprise tree will correctly reflect that this system is not attached to an enterprise.
At the POA which this server will re-join, follow the "Add Former Server" process,

Rejoin the Enterprise
If a server identity file was saved (see previous section), then you can reference the file when reinstalling Prism. Using the Server Identity file ensures that the correct Controller, Subsidiary, Store and Tenant table records can be used.
After reinstalling Prism on the machine using the Server Identity File, launch the Tech Toolkit.
Select the hamburger icon for the desired node and select Re-Join the Enterprise.

Protected Fields
At the ROOT (or POA), certain fields that are important to tracking inventory and customer values can only be modified by documents (cannot be manually edited). This protects the integrity of inventory valuations and customer balances and ensures that the values are not overwritten during Day-to-Day replication. In Prism, we refer to these fields as Protected Fields.
When replicated from a subordinate to a POA DOES NOT OVERWRITE the key fields at the POA.
When replicated from a POA to a subordinate, the files DO OVERWRITE the key fields at the subordinate.
The following tables list the protected fields in inventory and customer records.
Customer table:

CreditLimit CreditUsed StoreCredit
FirstSaleDate LastSaleDate LastReturnDate
LastSaleAmt    

Invn_Sbs_Item table:

FirstRcvdDate LastRcvdDate LastSoldDate

Invn_Sbs_Price table:

Price    

Invn_Sbs_Qty table

Qty TransferInQty TransferOutQty
SoldQty RcvdQty OnOrderedQty
ASNInTransitQty LatOnHandQtyDate ToInOrderedQty
TOInSentQty ToOutOrderedQty ToOutSendQty
PoOrderedQty SoOrderedQty SoSentQty

Replication of Specific Data Types
The following table has notes about replication of specific data types.

Data Type Replication Notes
address types The "addresstypes" resource replicates the address types defined in Admin Console > Node Preferences > Data Types.
adjustments The "adjustments" resource replicates adjustment memos (quantity, price, cost) and is available on all profile types.
allocation patterns Allocation patterns are replicated using the "allocationpattern" resource.
asn vouchers ASN vouchers are replicated using the receiving resource. The receiving resource sends both ASN vouchers and vouchers. Shipping package numbers and other batch receiving information replicates as part of the ASN voucher.
biometrics The "biometric" resource replicates biometric login information. Two database columns play a key role in biometric login: user_name and empl_name:
The EMPLOYEE table includes user_name and empl_name columns. The BIOMETRICS table includes empl_name column.
The user_name column is unique across all subsidiaries. When a user does a regular log in using user name and password, the server looks in the EMPLOYEE table and tries to find a matching record. The employee resource is a core resource and cannot be filtered or excluded from replication. As a result, you can use the user_name and password of any employee and login to Prism at any store.
The empl_name column is unique within a single subsidiary. When a user logs in using a fingerprint, the server first looks in the BIOMETRICS table and retrieves the empl_name and sbs_sid. The server tries to match the retrieved information with a corresponding empl_name and orig_sbs_sid in the EMPLOYEE table. If a match is found, the server uses the user_name and its password from the EMPLOYEE table for the login.
The biometrics resource is not a core resource; therefore, you can apply a filter or simply not replicate the resource. If you want to filter your data by subsidiary but still want all fingerprints to be replicated you must create a separate profile that only includes the biometrics resource and do not apply any filter to it. The rule is: empl_name + orig_sbs_sid from EMPLOYEE table MUST match empl_name + sbs_sid from BIOMETRICS table. Therefore when you create a biometrics record, you should pass empl_name and sbs_sid equal to empl_name and orig_sbs_sid (important! Not employee sbs_sid but employee orig_sbs_sid) of the employee who you are creating the fingerprint for. This resource is only available for Prism-to-Prism profiles.
calendar This refers to the retail calendars used for reporting purposes.
charge terms The "chargeterm" resource replicates customer charge terms (used on receipts tendered by Charge).
comment [needs research]
coupon sets Use the couponset and couponsetcoupon resources.
country The "country" resource replicates countries.
currency The "currency" resource replicates the currencies added or edited in Admin Console > Global Preferences > Currency > General.
customer The "customer" resource replicates customer information (except UDF, loyalty information, class and store credit, which are handled by separate resources).
customer class The "customerclass" resource is available on Prism-to-Prism profiles.
customer document history In Prism, certain key data about each transaction and its items is stored as part of the customer record. This data is replicated along with the customer record. If a customer is available at an installation, then the customer history will be available, too, although the full document may not be. If a user wants to view a document that does not exist locally, then the document will have to be viewed at the POA (or the document can be replicated separately). If you want to view a document that does not exist locally, make sure the customerdocumenthistory resource is selected. The "customerdocumenthistory" resource is available on Prism-to-Prism profiles.
customer loyalty customer: Included in the customer resource: customer loyalty point balances and customer loyalty levels. Make sure the customer resource is replicated to the Loyalty server.
inventory: The Loyalty Server needs the inventory resource to lookup Points Earned and Price in Points values for item-based loyalty programs as well as item-reward program information for items. Make sure the inventory resource is replicated to the Loyalty Server
ltylevel: Use this resource to replicate loyalty levels and programs.
ltylevelprogram: Use this resource to replicate loyalty programs for loyalty levels.
customer udf This refers to the options available for each customer udf field. The "customerudf" resource is available for all profile types.
In Prism, define customer udf fields in Admin Console > Node Preferences > Customers > UDF Fields.
dcs Department information is replicated using the "dcs" resource.
docposflag This refers to the options available for each POS flag field.
In Prism, define POS flags in Admin Console > Node Preferences > Transactions > POS Flags.
document Documents created in Prism BEFORE the profile is linked to the connection ARE NOT replicated. Only documents created AFTER the profile is linked to the connection are replicated.
document designs There is no resource for replicating Document Designs; however, Document Designer includes an "import/Export" feature that can be used to copy document designs between locations.
documentfeetype The documentfeetype resource is used to replicate the fee types defined in Admin Console > Node Preferences > Transactions > Fees/Shipment.
drawerevent Drawer Events are replicated via the "drawerevent" resource. Important! The Pop Drawer event is NOT replicated. The Paid In, Paid Out and Cash Drop drawer events ARE replicated. In addition, Z-Out drawer open events are replicated via the drawerevent resource.
email types Email types added or edited in Prism are replicated using the "emailtype" resource.
employee

The "employee" resource controls the replication of general employee information.

employeeudf The "employeeudf" resource is used to replicate user-defined fields for employees.
exchangerate The "exchangerate" resource is used to replicate exchange rates defined in Admin Console > Global Preferences > Currencies > Exchange Rates.
fees The documentfeetype resource is used to replicate the fee types defined in Admin Console > Node Preferences > Transactions > Fees/Shipment.
grid formats

The "griddata" resource controls the replication of grid format information (defined in Admin Console > Node Preferences > Grid Formats) Changes to grid formats made at the Corp, Subsidiary, or Store level will replicate with other preferences. Workstation settings will not replicate. Any workstation-specific grid format settings must be made at each individual workstation that needs them.

images Images are not replicated.
inventory Inventory information is replicated using the "inventory" resource.
invnlot Inventory item lot number information is replicated using the "invnlot" resource.
invnserial Inventory item serial number information is replicated using the "invnserial" resource.
inventory styles Inventory item style information is replicated using the "inventorystyleview" resource.
invnudf This refers to the options available for each inventory udf field.
In Prism, define inventory user-defined fields in Admin Console > Node Preferences > Merchandise > UDF Fields.
job  Job titles are replicated using the "job" resource.
kit component Kit component information is replicated using the "kitcomponent" resource. Kit components are the individual items that together comprise a kit item.
languages The "language" resource replicates languages added (or changed) in Prism.
markdowns Prism replicates price markdowns separately from other Inventory information using the MARKDOWN resource and MARKDOWN Adjustments profile.
  • The MARKDOWN resource sends the Markdown list (so its basic information may be viewed at another location).
  • The MARKDOWN ADJUSTMENTS profile filters for the specific Adjustment memos created by the PPA and sends to other locations to be processed by the scheduler to perform the price adjustment.
Notes
  • Requires including the MARKDOWNS resource and MARKDOWNS ADJUSTMENTS profile linked to replicate for both directions of the link (Store to POA/POA to Store).
  • The MARKDOWN resource must be link to send the markdown list
  • The MARKDOWN ADJUSTMENTS profile must be linked to ensure the adjustment memos created by markdown are sent
  • For immediate markdowns, Prism creates a one-time scheduled task for each adjustment to avoid a delay in replication. For scheduled markdowns, Prism creates a one-time scheduled task.
  • Adjustment memos created by a markdown, when replicated to stores/POA and applied to Inventory through Scheduler, are processed by PrismBackofficeService. This might slow down PrismBackofficeService. For example, a user creates a markdown with 100,000 items and clicks Apply Now. This creates 100 adjustment memos (1000 items per memo) that will be replicated. When the other side of the connection (store) receives the adjustments, 100 scheduled tasks will be automatically created to apply the markdown to Inventory.
mediatype  
permissions Information about the permissions assigned to each employee group is replicated from the POA to a subordinate. If you change preferences at the Corp/Sub/Store level, then the following will occur:
Root Authority will automatically propagate to POA & vassal
POA will automatically propagate to vassal
In no case will changes flow up the enterprise.
pi sheet data PI sheets and their counts are replicated using the "pisheetdata" resource.
pos flags The posflag resource is used to replicate POS Flags defined in Admin Console > Node Preferences > Transactions > POS Flags.
price level Price levels are replicated using the "pricelevel" resource.
preferences Preferences are replicated as part of the Core Resources. The Core Resources are defined as those resources that are replicated from the POA to its members, but not back to the POA from a member.
If you change preferences at the Corp/Sub/Store level, then the following will occur:
Root Authority will automatically propagate to POA & vassal
POA will automatically propagate to vassal
In no case will changes flow up the enterprise.
When defining preferences, it is important to be aware of the various levels and which level you are changing: Corporate, Subsidiary, or Store (Workstation preferences are never replicated). Each of the levels of preferences exist at every Prism installation and can be configured by users (regardless of whether the installation is the Corp HQ, a Subsidiary server, a Store, or an individual workstation).
When joining the enterprise, the server will inherit preference settings from the POA (Corp, Sub, Store levels).
Store level changes will only affect that store.  Therefore if a user drills into Store 1 and makes changes, systems will not see the changes unless the WS is assigned to that store. If the Root Authority changes a Corp-level preference and the store has a store level setting for the same preference, the store's preference wins.
promotions The "pcppromotion" resource is responsible for replicating promotions. Add the pcppromotion resource to individual profiles to replicate promotions from one. When you press the Broadcast button, promotions are prepared for replication.
Promotions are sent one promotion per message (instead of one large message with all promotions). If the promotion contains a long list of items it will still be a large message, but not as large as before. Also, since promotions are now sent as multiple messages, they can be processed in parallel with multiple day-to-day consumer threads.
A field in the PCP_PROMOTION table - PUBLISHED_DATETIME - tracks the date and time when that specific promotion was broadcast. The PUBLISHED_DATETIME is compared to the MODIFIED_DATETIME on the same record and if the MODIFIED_DATETIME is older than the PUBLISHED_DATETIME, the promotion will NOT be sent when you press the Broadcast button. This means that only those promotions edited after the last broadcast will be sent.
The Promotions list is created and managed at the headquarters location (or designated central location). The headquarters location then broadcasts the list to stores. Important! When you broadcast promotions, Promotions will be overwritten at the locations that receive the broadcast. The actual promotions that can be used at each individual store will be limited to those promotions assigned to the store itself or to "All Stores."
Broadcast Promotions from ROOT to Stores
Currently, any location can broadcast Promotions simply by clicking the Broadcast button on the interface.; however, you should only broadcast Promotions from the ROOT server down to the child POAs and stores. If stores broadcast promotions back up to the POA, then there is a chance that promotions priority can be duplicated at locations across the enterprise, leading to unexpected results.
The "pcppromotion" resource is available for Prism-to-Prism profiles only.
purchaseorder Replicates purchase orders.
purch fee type Purchasing fee types. These are the reasons for fees on purchase orders. Define purchasing fee types in Admin Console > Node Preferences > Purchasing > Vouchers > PO/Voucher Fee Types.
reasons

Reasons are short labels that help explain why a certain action was taking by a user (e.g. granting a discount). In Prism, define reasons in Admin Console > Node Preferences > System > General.

receiving The "receiving" resource replicates receiving vouchers.
regions This resource replicates corporate regions (created in Admin Console > Global Preferences > Regional Inventory > Corporate Regions.
scales The "scale" resource is available for all profile types.
scale patterns The "scalepattern" resource is available for all profile types.
season Seasons can be assigned to items and price levels when using seasonal pricing. In Prism, define seasons in Admin Console > Global Preferences > Season.
shipping methods The "shippingmethod" resource is used to replicate the list of shipping methods (e.g., USPS, FEDEX) .
store Store information is replicated using the "store" resource
store credit The CreditLimit, CreditUsed and StoreCredit fields are "protected" fields. This means that when replicated from a subordinate to a POA DOES NOT OVERWRITE the key fields at the POA.When replicated from a POA to a subordinate, the files DO OVERWRITE the key fields at the subordinate.
subsidiary Subsidiary information is replicated using the "subsidiary" resource.
tax areas The "taxarea" resource replicates tax area information, including tax rules (created in Admin Console > Node Preferences > Taxes > Tax Areas).
tax codes The "taxcode" resource replicates tax codes (created in Admin Console > Node Preferences > Taxes > Tax Areas).
till This refers to the till records. In Prism, define tills in Admin Console > Node Preferences > Reporting > X/Z-Out.
time clock records The "timeclock" resource replicates check in/check out records for employees.
title This refers to the titles (Mr., Mrs., Dr., etc.) that can be assigned to Customers and vendor contact persons. In Prism, define titles in Admin Console > Node Preferences > Data Types.
touch menus The "touchmenu" resource replicates the touch menus defined in Admin Console > Node Preferences > Touch  POS.
tranfeetype The tranfeetype resource replicates fee types for transfers, defined in Node Preferences > Transfers > General.
transfer orders This resource replicates transfer orders.
transfer slip The "transferslip" resource replicates transfer slips.
transfer slip comments Transfer slip comments are not replicated at the current time. You can enter comments on transfer slips in the Transfer Slip Details area of the slip.
transfer resolution rules


The "transrules" resource replicates the Transfer Resolution Rules defined in Admin Console > Node Preferences > Transfers > Resolution Rules. These rules dictate how the system will handle discrepancies in the sent/received items and quantities on out slips when compared to the voucher on which the items were received.

usergroup The usergroup resource replicates employee groups.
userpasswordhistory The userpasswordhistory resource is used to replicate passwords.
vendor This resource replicates vendors.
vendor invoices The vendorinvoice resource replicates vendor invoices.
vendor udf This refers to the options available for each vendor udf field. In Prism, define vendor udf options in Admin Console > Node Preferences > Merchandise > Vendors > UDF Fields.
vouchers Vouchers are replicated using the "receiving" resource.
z out reports The zoutcontrol resource is used to replicate Z-Out reports.

Preferences overwritten by POA when Joining the Enterprise
When defining preferences, it is important to be aware of the various levels and which level you are changing: Corporate, Subsidiary, or Store (Workstation-level-defined preferences are never replicated). Each of the levels of preferences exist at every Prism installation and can be configured by users. When joining the enterprise, the server will inherit preference settings from the POA (Corp, Sub, Store levels). This is usually the desired behavior. A downside is that if you have configured custom preferences at any level, those custom settings will be overwritten by the POA's settings during JTE.

Replicating Preferences from Prism to Prism (POA to New Server)
Currently if the POA has already been set up and you connect a new system to this POA the preferences are not sent to the new server. The user must make an edit to the POA preferences to have the new system get the POA's preferences. In future versions, users will be able to propagate preferences to from an existing Prism server to a new Prism server (Prism-to-Prism).

Forcibly Removing a Server
If a Server is forcibly removed (in other words the subordinate is not online for some reason) the proper recovery if the remote system either:
Is brought back up and desires to remain independent of the enterprise (it has no knowledge that it left the enterprise
It is desired to restore the system to the enterprise
(Note: If the system will be offline permanently, no action is needed)
SCENARIO:
1. An enterprise is set up.
2. A subordinate server in the enterprise goes down.
3. At the Root Authority, it is determined that the best course of action is to remove the subordinate (e.g. because the server will be down for an extended time).
ACTIONS:
At the down server's POA, Remove the powered-down Server from the enterprise.
IF DESIRED FOR THAT SYSTEM TO RE-JOIN ENTERPRISE AT A LATER DATE:
At the Removed system, log into TTK, it will show the former enterprise tree (since the system has no knowledge it has been removed from the enterprise)
At the Removed system, log into the subordinate server's former POA (this is required for the next step).
At the Removed system, select the menu icon associated with the local Server (the removed subordinate server) and select Remove. Now the enterprise tree will correctly reflect that this system is not attached to an enterprise.
At the POA which this server will re-join, follow the "Add Former Server" process,