Prism Users Guide - Chapter 2. Basics
2.1 Start/Exit RP Prism
This topic has information about the following:
2.1.0 About Start/Exit Prism
2.1.1 Auto Logout, Force Logout Preferences
2.1.2 Licensing Considerations
- 2.1.2.1 About Access Tokens
2.1.3 Troubleshooting Login Issues
- 2.1.3.1 Troubleshooting Login Example
About Start/Exit Prism
Employee usernames and passwords are copied to the Prism server during initialization. To launch RP Prism, you must enter a valid username/password. The user must be assigned to an employee group. Use the Prism Proxy shortcut to log in. Windows 10 users must use the right-click "Run as Administrator" option launch Prism.
- Double-click the Proxy icon for your device. Note: Windows 10, 11 users, use the right-click "Run as Administrator" option. A web browser will launch and display the Prism login screen.
- Enter your username and password and touch or click the Login button. Prism loads and launches. Default username = sysadmin; Default password = sysadmin
- By default, the main menu of the POS module is displayed. Select New Transaction to start a new transaction.
- To navigate to a different area, touch or click the Retail Pro button and then select the desired area from the Prism Menu.

Exit Prism
1. Touch or click the Retail Pro button.
2. Select the Logout option from the Prism menu.

The server to which you are connecting is displayed in the lower-left corner of the login dialog.
2.1.1 Auto Logout, Force Logout Preferences
RP Prism includes two preferences that can be used to automatically log out employees:
| Preference | Description |
|---|---|
| Automatically Lock Workstation | Employees > General If selected, workstations for the store will be locked after the specified number of minutes without activity. By default, the lockout period is set to 15, meaning that if there is no activity on a workstation for 15 minutes, the workstation will be locked. When the lockout time is reached, a prompt is displayed in the Retail Pro screen. To unlock the workstation, a user must log in with a valid Retail Pro username/password combination. You must refresh (reload) your browser for the change to take effect. If the same user logs in to the prompt, the user will be in the same location as when the lockout took effect. If a different user logs in, the user will be returned to the RP Prism Point of Sale home screen. |
| Force Logout |
Transactions > General |
2.1.2 Licensing Considerations
- Use the Logout button to log out of Prism. This ensures the seat license is returned to the pool.
- If you open a new tab and log in to Prism on that new tab, another seat license is consumed. To have a separate tab open without taking an additional seat requires using the DUPLICATE TAB function in the browser (not the NEW TAB function). When using the DUPLICATE TAB function, both tabs share the same user session. Please note that if you have two tabs sharing a session and log out of tab A then tab B will get logged out behind the scenes. The next time you go to use tab B your requests will fail.
- If you click the Refresh button on the web browser, you will be logged out (instead, use F5 to refresh)
- No user may enter the Prism web client with an unseated session. The web client logs the user out when it detects an unseated session.
2.1.2.1 About Access Tokens
When a user logs into Retail Pro Prism and provides a username and password, that information is packaged up with the workstation name and is used to create a "user session" on the Retail Pro Prism server. This user session includes the user's information such as preferences, permissions and other data. This information is loaded into memory when the user logs in, and it is cleared from memory when the user logs out. To identify that session and differentiate it from other sessions, Retail Pro Prism generates an access "token". This access token in Retail Pro Prism is a long, unique number similar to "5D05333773CB46528E45FBA500658CB2." The login process generates this access token number and provides it to the Retail Pro Prism client that has logged in.
All subsequent requests to the Retail Pro Prism server (from the Retail Pro Prism client) require that an access token be provided in the header of the request as the Auth-Session. If you were to look at the request header(s) from the web client, you would see something similar to "Auth-Session: 5D05333773CB46528E45FBA500658CB2."
When the Retail Pro Prism server gets a request form the client, one of the first things the server does is use the access token to locate the user session and passes that information to the server that is processing the request. Without the user session, the server would not be able to verify permissions, change workflow based on preferences, or even allow simply data access.
What is the issue that can occur with the Access Token?
If for whatever reason the server is "reset" (stopped / restarted / crashed and restarted / etc...), all the user sessions (and in turn the access tokens) are lost from memory. This can cause problems related to failed communication between the Retail Pro Prism client and the Retail Pro Prism server. Unknown to the client, the access token is now invalid, and this will cause all requests to the Retail Pro Prism server to fail.
Please Note: Access Token(s) will become invalid when the Retail Pro Prism server performs a complete backup. This is because a complete backup requires the database services to be stopped while copying files. The database services are restarted once the complete backup is finished.
One symptom of this issue - is when day-to-day replication has unexpectedly stopped. When you begin to troubleshoot, you will notice that each workstation (that is communicating with the server) has a consumer count = 0.
In the xxxx log, you will find authorization errors. At the same time, you may notice that the licensing logs indicate that everything is healthy. This can occur if the server has been "reset", without the workstations subsequently being reset.
What can I do if I experience this issue?
In this example, the workstations must be reset, one-by-one, and after they reboot they will be able to connect successfully as they will acquire new and valid auth-session tokens. As the workstations reconnect, you will see the consumer counts change from 0 to 1. Shortly after that, the day-to-day replication process will begin processing again.
2.1.3 Troubleshooting Login Issues
- Confirm essential services are running.
- Use browser Developer Tools to isolate issues.
- Review logs for service-specific errors.
- Check system components, such as Event Viewer, for related errors.
- Identify and apply an appropriate solution based on your findings.
1. Check Services
When troubleshooting login issues in Prism, start by verifying that essential services are running. Prism relies on several services for full functionality.
Services to Check:
- Apache: Manages HTTP/S calls.
- RabbitMQ: Handles messaging and message queues; critical for all other services.
- PrismBackOffice: Manages inventory and back-office tasks.
- PrismCommonService: Supports various modules within Prism.
- PrismPOSV1Service: Handles POS tasks.
- PrismLicSvr: Required for Prism to run.
2.1.3.1 Troubleshooting Login Example
1. Verify RabbitMQ service is running
Begin by checking if the RabbitMQ service is running. If RabbitMQ is not active, this could be a primary cause of the login issue.
Try restarting the RabbitMQ service from the Services panel.
After starting RabbitMQ, attempt to launch the Prism Proxy.
Restart All POS-Related Services: Restart the remaining essential services to ensure all dependencies are active.
After restarting all services, try launching Prism Proxy once more.
If the attempt fails, try connecting directly via the web client instead of the Proxy.
2. Review Developer Tools in the Browser
If the login issue persists, use the browser's Developer Tools to gain more insight.
Press F12 or select Developer Tools from the browser's Tools menu.
Select the Network Tab and attempt to log in to Prism.
Observation: An "Auth" error is displayed in the console.
Click on the error name (e.g., "auth") to expand details.
Navigate to the Preview tab, then right-click on the field labeled "errors."
Select Copy Value from the context menu and paste it into Notepad or another text editor for review.
3. Identify the Issue Using the Browser Error
The error captured in the browser session provides additional context for diagnosing connectivity issues.
Error Message Sample:
[{"date":"2024-04-01T08:56:01.859-07:00","class":"EPrismCoreException","errorcode":"Messaging.4","errormsg":"Unable to connect to RabbitMQ, Please check connectivity and try again","httpcode":400,"httpmessage":"400 - Bad Request","functionname":"Unknown","paramvalues":null},{"date":"2024-04-01T08:56:01.859-07:00","class":"EConnectionFailedException","errormsg":"The connection has failed due to a transport problem: Processing error Processing error"}]
The error message confirms that RabbitMQ is not establishing a connection, leading to failed login attempts.
4. Check RabbitMQ Logs
If RabbitMQ cannot connect, check its logs for specific error messages. Large or growing logs should be cleared before capturing a new instance of the error.
Stop the RabbitMQ service and rename the current log file to capture a fresh log on restart.
Restart RabbitMQ.
Open the new log in Notepad++.
Search for Errors in the Log:
5. Review System Event Viewer
Check the system's Event Viewer for additional context, which can confirm if the issue was due to a critical error or unexpected termination of RabbitMQ.
Open Event Viewer:
Review any recent critical errors related to RabbitMQ.