...
- Enable/Disable channels (Disabled = cannot start channel).
Channels that are disabled are indicated with a strike-through font and cannot be started by a user. This removes any ambiguity for a service user as to whether the channel is meant to be running, or not.
- Channel Tags
Channel tags provide a way of "tagging", or classifying channels with common attributes similar to the way articles can be tagged within a blog. For instance, a set of channels in the system may have tags such as "FFT", or "VIP".- Create Tags
- Add Tags to all Channels in a Tab (right-click on Tab)
- Add Tags to selected channels using Manage Channels window
- Search by tags in the Manage Channels window
- Display Tag abbreviations in channel
- Search by tags in Channel Search (use the syntax ~TAGABBR or ~TAGNAME (example: ~FFT). You can still search without the tilde, but you'll get results from all non-tag matches as well.
- Filter by tags in the Dashboard
- ** Remove channel tags - 'production channel' will need to be re-implemented as a tag **
- Tab Markers
Add colorization to a Tab to give a visual indication of its purpose, or importance. - Multi-Map Tables
- System Globals
System Globals allow users to define properties, passwords, tables, Custom Code, and connection strings at a global level that are available to a subset of channels within the system. With exception of Global Code, global elements are defined at the Tab, Group, or System level and are available to any channel that falls under the hierarchy. So a Tab setting is available to any Channel under that Tab, and a Group setting is available to any Channel that lives under the Group. System settings are available to any Channel in the system.- Global Properties
In most text-based controls, type '{system.' or '{group.' or '{tab.' to trigger the globals insertion routine.
Use the down arrow to choose the global you wish to use. The global will highlight grey and when hovered display details. Click the magnifying glass icon on the popup to edit the global value.
Note that globals have locks. - Global Code
- A single custom code assembly that can be used in other Custom Code based devices.
- Add a reference to the global code by clicking on the globe icon (in the center toolbar) and selecting the 'Include global reference'.
- Access this from any Custom Code based device
- A single custom code assembly that can be used in other Custom Code based devices.
- Global Passwords
- Access global passwords within devices
- Access global passwords within devices
- Global Tables
- Global Database Connection Strings
- Create Connection strings that can be used devices in the system
- Add within Devices that support the standard Database Edit Control
- Create Connection strings that can be used devices in the system
- Globals can be imported and exported.
- Global Properties
- Execution Groups
- Queue Device Improvements
- Support for MSH-4 (Sending Facility) in the Queue
- New Error Queue Workflow
- Error count shows up regardless of age
- Messages can be "Shelved" which moves them out of the Error queue
- "Shelved messages" can be queried
- Errors for all time ('Error Total') show under a new item: ET. This only shows when E and ET are different. So E = Errors Today, and ET = Error Total (all time). ET only shows up when E != ET.
- Support for MSH-4 (Sending Facility) in the Queue
- Improved HL7 Inbound Device
- Performance improvements
- Reduced memory footprint
- Ipv6 support
- Diagnostics tab to display available network adapters
User Management Dashboard
- Display Connection time, Idle time, and connected IP address
- Ability to force unlock channels
- Ability to send messages to other users
- Ability to force logoff other users UIs.
- Improved Manage Custom Plugins Window
- File Reader Device - Support for reading Compressed files
- Improved server screen
- Turn the server screen into a tree to allow grouping. Also use grouping in the server drop-down and display more server information to make it more obvious who each server is. Show the currently connected server in green.
- Import / export servers list
- Turn the server screen into a tree to allow grouping. Also use grouping in the server drop-down and display more server information to make it more obvious who each server is. Show the currently connected server in green.
- Auto-logout of Connexion / RIM
After period of inactivity both Connexion Client and the Gateway Management UI will log out for security purposes. - Message viewer obfuscation.
Hides message data that potentially contains PHI displayed on the screen - Custom Code Device - C# 7.0 and Roslyn compiler support
- Reimplemented the underling internal compiler class to take advantage of the Rosyln compiler
- Support for .NET 4.7.1
- Message watermarking
- Provide a mechanism to 'stamp' a message at its origin / ingestion point and then validate that stamp at the ultimate destination. For example, in the integrator framework it may make sense to stamp all ingestion channels with a customer ID / constant. Then immediately before ingestion into the datacenter systems, validate the expected customer ID / constant is present.
- Step one is to create the watermark. This is done on the first queue in the message flow by navigating to the settings / watermark tab and then setting the action to 'set'. At this point you can choose to append a constant value (like a customer id) to the existing sending facility, or provide a brand new sending facility value. By default, we preserve the sending facility field so that it can be queried in the queue worklist.
- Step two is to navigate to the final queue in the final channel of the workflow, navigate to the settings / watermark tab, and select the 'Verify' option. You then enter one or more values that you'll accept. There are two syntaxes which are supported. To check for a fixed value, simply enter it into the 'match list'. To accept any sending facility value followed by a constant, use the syntax -{WhateverYouEntered}.
- Messages which fail verification are moved to the error queue.
- If you require more advanced functionality, we've provided two event hooks:
- IMessageContext.UserStorage
- Provide persistent (and transient) user storage that belongs to the message
- Persistent objects are serialized as JSON and stored as part of the message attachments
- Unlike the UserContext, persisted objects survive across Queue boundaries
- User Storage / File Writer
- An improved 'user context' storage area which has the ability to persist values of any (serializable) type. The user context is now deprecated in favor of 'Context.UserStorage'. Add your object to the user storage using the following syntax. Please note the parameter to specify whether or not this will be persisted. Also note that your object must be serializable. We recommend the use of the DataContract and DataMember attributes in the System.Runtime.Serialization namespace.
- View the user storage objects in the Attachments pane within the queue:
- Consume your user storage objects within a custom code device using the UserStorage.Get<targettype>(Key). We are also investigating exposing the user storage within built-in devices which currently expose the user context. The File Writer now allows the use of UserStorage where UserContext is supported. We've also expanded upon the UserContext to allow the direct access of object values using JPath syntax:
- An improved 'user context' storage area which has the ability to persist values of any (serializable) type. The user context is now deprecated in favor of 'Context.UserStorage'. Add your object to the user storage using the following syntax. Please note the parameter to specify whether or not this will be persisted. Also note that your object must be serializable. We recommend the use of the DataContract and DataMember attributes in the System.Runtime.Serialization namespace.
- Quick Navigation
- Use ctrl + tab key combination to bring up a window showing recently visited channels, as well as system pages. While holding down the control key, use the tab key, arrow keys, or mouse to navigate to a different view. Views are After using the quick view window, the results are stored so that the list is available on subsequent UI restarts.
- Use ctrl + tab key combination to bring up a window showing recently visited channels, as well as system pages. While holding down the control key, use the tab key, arrow keys, or mouse to navigate to a different view. Views are After using the quick view window, the results are stored so that the list is available on subsequent UI restarts.
- Queue Device Caching
- The standard sql-based queue now implements an input cache. Where possible, the queue will now cache received messages in memory instead of retrieving the message(s) from the database. If the queue is in a sleep state, it will wake up upon receiving a message and immediately push this message down the channel. This has two benefits:
- Fewer queries to the database and potentially lower network traffic.
- Less time waiting for a message to process on low volume queues (or during periods of infrequent messages).
- This feature does not work with branched messages or message arriving from a secure sender device (the previous default behavior applies).
- This feature can be disabled in the queue configuration ("Disable Message Caching").
- The standard sql-based queue now implements an input cache. Where possible, the queue will now cache received messages in memory instead of retrieving the message(s) from the database. If the queue is in a sleep state, it will wake up upon receiving a message and immediately push this message down the channel. This has two benefits:
- Copy / Paste device - the ability to copy an entire device and paste into other channels
- Miscellaneous
- Upgrade all dependant libraries
- Add Edifact libarary EDI messages types
- Re-implement all installers so we can better handle .NET Standard libaries and to fix issues with interdependent libaries
- Support for Mongo Queue Db statistics within Connexion
- Update all projects except Connexion.Core and Connexion.Share to .NET 4.6.1
- Improve locking and thread usage during Connexion channel startup
- Fixed thread contention issue when stopping many devices at the same time
- Move Connexion.ErrorNumberManager to Visual Studio 2017
- Various updates to better handle readonly access to UI elements that have been disabled as a result of user access permissions
- Include channel lock information in the channel dashboard
- Save/restore channel running state (admin-mode, should it be exposed?)
- Client startup loading / speed.
- Improve loading of the HL7 transform v2.
- Dashboard can now be 'popped' so it can be displayed outside of the standard window.
- Addition of StartAsync / StopAsync methods.
- Ability for version 15 client connecting to a 14.5 server to attempt to launch the correct version of the client app (v15), and visa-versa.
- Add 'oldest queued message' to the dashboard.
...