Skip to content

Commit

Permalink
Added basic README content
Browse files Browse the repository at this point in the history
  • Loading branch information
nicholasdgoodman committed Dec 3, 2024
1 parent 6ae6e24 commit 321b494
Showing 1 changed file with 46 additions and 4 deletions.
50 changes: 46 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,49 @@
# Tauri + React
# Solace Queue Browser Utility

This template should help get you started developing with Tauri and React in Vite.
This project offers a Solace Queue Browser which can run either as a desktop application (Windows, Mac, and Linux) or fully in-browser with certain restrictions. Most of the capabilities of the tool require interacting with a Solace broker using both SEMP and the Solace Javascript client library, and as such, users must provide two sets of credentials to establish a connection.

## Recommended IDE Setup
> [!IMPORTANT]
> Most of the capabilities of this tool require replay to be enabled. In most modes of operation, the utiltiy assumes all messages found on a given queue are also present on the Replay Log. Unexpected behavior may occur if the replay log has been trimmed while messages are still on the queue, or if replay filtering results in a mix replayable and non-replayable messages. Additionally, the browser will typically show messages that have been acknowledged out-of-order as still being present on a given queue.
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
## Core Capabilities

- Bidrectionally browsing a queue (replay-based) from:
- The oldest message (queue head)
- The newest message (queue tail)
- A specified date/time
- A specified RGMID or Message ID
- Forward-only basic queue browing (no replay required)
- Client-side payload and header filtering

Additionally, the following features are planned:
- Republishing messages from one queue to another
- Browsing messages based on topic an selectors
- Browsing of Partitioned Queues

## Project Design and Architecture

All UI components of the project are written in HTML/JS using the Prime React component library.

### Browser Mode
To run the application in browser mode, check out the source code and run:

```
> npm install
> npm run dev
```

Then open up a browser session and navigate to http://localhost:1420/.

> [!NOTE]
> When running the application via a browser, the broker SEMP service must be [configured to allow any host](https://docs.solace.com/Services/Managing-Services.htm#managing-cross-origin-resource-sharing). Also, if the Queue Browser is hosted on a domain other than `localhost`, the browser and broker TLS configuration must match. For example, running the utility from over HTTP allows connecting to HTTP (non secured) brokers, while running from an HTTPS site will only permit connecting to HTTPS brokers.
### Desktop Mode

Running this project as a desktop application assumes you have a Rust compiler installed on your system. The complete steps and prerequisites for building a Tauri app can be [found here](https://v1.tauri.app/v1/guides/getting-started/prerequisites/).

Once the prerequisites have been met, it is possible to run in desktop mode:

```
npm install
npm run tauri dev
```

0 comments on commit 321b494

Please sign in to comment.