nextgenhealthcare / connect

The swiss army knife of healthcare integration.
Other
905 stars 274 forks source link

[IDEA] Add "open new window" option to Mirth Connect Administrator #5445

Open ChristopherSchultz opened 1 year ago

ChristopherSchultz commented 1 year ago

I often find myself having to jump back and forth between two channels to do work, and I only have two options:

  1. Constantly exit each channel, go into the other one, rinse, repeat
  2. Use MCAL to open a second instance of MCA, log-in again, etc.

It would be very easy to add an option in the left-hand menu to simply "Open a New Window" which just opens a second top-level window logged-in with the same session as the rest of the process (right?).

Ideally, this option would be available from all contexts, so not just from the Dashboard or Channel List, but also while editing a channel's source transformer, etc. because you never know when you want to go consult that other channel's settings while you configure this one.

jonbartels commented 1 year ago

It would be very easy to add an option in the left-hand menu to simply "Open a New Window" which just opens a second top-level window logged-in with the same session as the rest of the process (right?).

I would love to learn if this is possible. I do not think it is.

A few years ago I worked on some SSO integrations with Mirth Connect. Skipping the login screen by passing a session ID, cookie, token, etc. would have been an advantage to those projects. The login screen is not pluggable and to the best of my knowledge does not allow arguments for credentials to be passed in at launch.

To get the Launcher to support multiple MCs would require rewriting the argument-passing and login window of the Mirth Client.

Doing so would have significant advantages, like integrating MC logins with desktop logins or customizing the login screen to take your TOTP token on the login screen.

I am working from memory, I genuinely hope I have missed or forgotten details that would support this use case.

ChristopherSchultz commented 1 year ago

Re-reading this several weeks later, I'm not sure we are talking about the same thing.

I'm talking about using MCA post-login. So I'm looking at e.g. the Dashboard screen, or even "Messages for Channel X" and I just want to clone the window I'm currently viewing, then use it independently. So, a single Java process connected to Server X but with two separate views showing simultaneously.

After login, MCA opens a frame showing all this stuff. Opening an additional frame shouldn't cause any issues unless MCA has been written to use a lot of "shared state" between the UI and ... whatever MCA functions aren't just UI.

Hopefully, the UI elements and associated state are self-contained within the frame hosting them. It's entirely possible that e.g. search-results are stored in a singleton across the whole process which would indeed require some engineering re-work which may just not be worth it.

mikeklemens commented 1 year ago

I would agree that this would be helpful - very often I am looking at channel code while I am using the message browser (to troubleshoot) and in order to do this I need to log in twice. Would be much easier to be able to open multiple windows in a single session.