Giter VIP home page Giter VIP logo

connect's Introduction

Mirth® Connect by NextGen Healthcare

  1. Useful Links
  2. General Information
  3. Installation and Upgrade
  4. Starting Mirth Connect
  5. Running Mirth Connect in Java 9 or greater
  6. Java Licensing
  7. License

1. Useful Links


2. General Information

The NextGen Solutions Mission

NextGen Solutions help many of the nation's largest, most respected healthcare entities streamline their care-management processes to satisfy the demands of a regulatory, competitive healthcare industry. With Mirth Solutions, NextGen Healthcare's goal is to provide the healthcare community with a secure, efficient, cost-effective means of sharing health information. The natural product of this aim is a family of applications — which includes Mirth Connect — flexible enough to manage patient information, from small practices to large HIEs, so our clients and users can work confidently and effectively within the healthcare-delivery system.

About Mirth Connect

Like an interpreter who translates foreign languages into the one you understand, Mirth Connect translates message standards into the one your system understands. Whenever a "foreign" system sends you a message, Mirth Connect's integration capabilities expedite the following:

  • Filtering — Mirth Connect reads message parameters and passes the message to or stops it on its way to the transformation stage.
  • Transformation — Mirth Connect converts the incoming message standard to another standard (e.g., HL7 to XML).
  • Extraction — Mirth Connect can "pull" data from and "push" data to a database.
  • Routing — Mirth Connect makes sure messages arrive at their assigned destinations.

Users manage and develop channels (message pathways) using the interface known as the Administrator: Administrator screenshot


3. Installation and Upgrade

Mirth Connect installers are available for individual operating systems (.exe for Windows, .rpm and .sh for Linux, and .dmg for Mac OS X). Pre-packaged distributions are also available for individual operating systems (ZIP for Windows, tar.gz for Linux, and tar.gz for Mac OS X). The installer allows you to automatically upgrade previous Mirth Connect installations (starting with version 1.5).

Mirth Connect installers also come with the option to install and start a service that will run in the background. You also have the option of installing and running the Mirth Connect Server Manager, which allows you to start and stop the service on some operating systems, change Mirth Connect properties and backend database settings, and view the server logs.

An optional Mirth Connect Command Line Interface can be installed, allowing you to connect to a running Mirth Connect Server using a command line. This tool is useful for performing or scripting server tasks without opening the Mirth Connect Administrator.

The Mirth Connect Administrator Launcher can also be installed, allowing you to manage connections to multiple Mirth Connect servers and configure options such as Java runtime, max heap size, and security protocols.

After the installation, the Mirth Connect directory layout will look as follows:

  • /appdata/mirthdb: The embedded database (Do NOT delete if you specify Derby as your database). This will be created when the Mirth Connect Server is started. The path for appdata is defined by the dir.appdata property in mirth.properties.
  • /cli-lib: Libraries for the Mirth Connect Command Line Interface (if installed)
  • /client-lib: Libraries for the Mirth Connect Administrator
  • /conf: Configuration files
  • /custom-lib: Place your custom user libraries here to be used by the default library resource.
  • /docs: This document and a copy of the Mirth Connect license
  • /docs/javadocs: Generated javadocs for the installed version of Mirth Connect. These documents are also available when the server is running at http://[server address]:8080/javadocs/ (i.e. http://localhost:8080/javadocs/).
  • /extensions: Libraries and meta data for Plug-ins and Connectors
  • /logs: Default location for logs generated by Mirth Connect and its sub-components
  • /manager-lib: Libraries for the Mirth Connect Server Manager (if installed)
  • /public_html: Directory exposed by the embedded web server
  • /server-launcher-lib: Libraries in this directory will be loaded into the main Mirth Connect Server thread context classloader upon startup. This is required if you are using any custom log4j appender libraries.
  • /server-lib: Mirth Connect server libraries
  • /webapps: Directory exposed by the embedded web server to host webapps

4. Starting Mirth Connect

Once Mirth Connect has been installed, there are several ways to connect to launch the Mirth Connect Administrator. On a Windows installation, there is a Mirth Connect Administrator item in the Start Menu which launches the application directly.

If the option is not available, you can connect to the Mirth Connect Administrator launch page which by default should be available at http://[server address]:8080 (i.e. http://localhost:8080). It is recommended to use the Administrator Launcher to start the Administrator, which can be downloaded by clicking on the Download Administrator Launcher button. Clicking the Launch Mirth Connect Administrator button will download the Java Web Start file for your server. Opening the file with the Administrator Launcher connects you to the server, which will be listening on https://[server address]:8443 (i.e. https://localhost:8443).

If running a new installation, the default username and password for the login screen is admin and admin. This should be changed immediately for security purposes.

If you are launching the administrator for the first time, you will notice that the libraries for the Mirth Connect Administrator will be loaded. This feature allows you run the Administrator from any remote Mirth Connect server without having to download and install a separate client.

You may also notice a security warning when starting the administrator (dialog box depends on browser being used). This is because by default Mirth Connect creates a self-signed certificate for its web server. For now click Run to continue launching the administrator, but check out the User Guide for instructions on how to replace the certificate.


5. Running Mirth Connect in Java 9 or greater

In order to run Mirth Connect in Java 9 or greater, copy the options from docs/mcservice-java9+.vmoptions and append them to either mcserver.vmoptions or mcservice.vmoptions, depending on your deployment. Then restart Mirth Connect.

To run the Mirth Connect Command Line Interface, create a new file named mccommand.vmoptions in the Mirth Connect root directory. Copy all of the options from docs/mcservice-java9+.vmoptions into mccommand.vmoptions and save before launching the Command Line Interface.


6. Java Licensing

In 2019, Oracle significantly changed licensing for official Oracle Java releases. You must now purchase a license in order to receive updates to the commercial version of Oracle Java. In response to this change, we officially added support for OpenJDK in Mirth Connect. OpenJDK receives free updates from Oracle for a period of 6 months following each release. While the Oracle OpenJDK distribution is recommended for use with Mirth Connect, we strive to support third-party OpenJDK distributions as well such as AdoptOpenJDK, Azul Zulu and Amazon Corretto. Third party distributions may receive extended release updates from their respective communities, but these are not guaranteed.


7. License

Mirth Connect is released under the Mozilla Public License version 2.0. You can find a copy of the license in server/docs/LICENSE.txt.

All licensing information regarding third-party libraries is located in the server/docs/thirdparty folder.

connect's People

Contributors

brentmoen avatar christopherschultz avatar cturczynskyj avatar gbortis avatar igorazevedo avatar jdonextgen avatar joaryche avatar jonbartels avatar leilanimng avatar lmillergithub avatar mhokanson avatar muhammadc avatar narupley avatar pattersp avatar pladesma avatar tonygermano avatar twest-mirthconnect avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

connect's Issues

Message board displays html entities

Message board shows html entities (") rather than actual characters. Check security settings.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-21
Reporter: chrisl
Created: 2006-09-08T14:09:06.000-0700

Replaced syntax highlighting package

Replace the Ostermiller syntax highlighting package with one that is faster, more lightweight, and doesn't throw a NullPointerException randomly.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-13
Reporter: geraldb
Created: 2006-09-07T11:48:56.000-0700

Patch request unavailable

hi, I try enable appointment with fhir complement, all work fine, but when i try update date via patch request get error, look like option PATCH don't load in appointment.

access control allow methods not show PATCH.

c8f27da3-5373-4211-b12d-45cc3ad669d6

Error.

7d359d9f-a9f9-4a8a-8c89-ea6ae32d2947 (1)

Patch Method enable in channel.

7d4aebba-ff06-47c8-8818-86a991838ae1

whit GET, POST, PUT method work fine, but i need PATCH.

b504361d-a72d-40c9-9078-1ca6bb14b2b0

Question is i do something wrong ?

Unable to start mirth-server-launcher

I have downloaded the last version NextGen Connect 3.8.0 for Windows x64, which is a zip. I unzipped it and tried to start the jar mirth-server-launcher.jar as adminstrator. But, I got the following error:

ERROR 2019-08-04 19:52:04,022 [Main Server Thread] com.mirth.connect.server.MirthWebServer: Could not load web app
MultiException[java.io.IOException: Unable to establish loopback connection, java.io.IOException: Unable to establish loopback connection]
        at org.eclipse.jetty.server.Server.doStart(Server.java:383)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at com.mirth.connect.server.MirthWebServer.startup(MirthWebServer.java:350)
        at com.mirth.connect.server.Mirth.startWebServer(Mirth.java:386)
        at com.mirth.connect.server.Mirth.startup(Mirth.java:265)
        at com.mirth.connect.server.Mirth.run(Mirth.java:154)
        Suppressed: java.io.IOException: Unable to establish loopback connection
                at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source)
                at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source)
                at java.security.AccessController.doPrivileged(Native Method)
                at sun.nio.ch.PipeImpl.<init>(Unknown Source)
                at sun.nio.ch.SelectorProviderImpl.openPipe(Unknown Source)
                at java.nio.channels.Pipe.open(Unknown Source)
                at sun.nio.ch.WindowsSelectorImpl.<init>(Unknown Source)
                at sun.nio.ch.WindowsSelectorProvider.openSelector(Unknown Source)
                at java.nio.channels.Selector.open(Unknown Source)
                at org.eclipse.jetty.io.SelectorManager.newSelector(SelectorManager.java:380)
                at org.eclipse.jetty.io.ManagedSelector.doStart(ManagedSelector.java:94)
                at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
                at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
                at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
                at org.eclipse.jetty.io.SelectorManager.doStart(SelectorManager.java:258)
                at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
                at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
                at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
                at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:279)
                at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
                at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:244)
                at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
                at org.eclipse.jetty.server.Server.doStart(Server.java:398)
                ... 5 more
        Caused by: java.net.SocketException: Permission denied: connect
                at sun.nio.ch.Net.connect0(Native Method)
                at sun.nio.ch.Net.connect(Unknown Source)
                at sun.nio.ch.Net.connect(Unknown Source)
                at sun.nio.ch.SocketChannelImpl.connect(Unknown Source)
                at java.nio.channels.SocketChannel.open(Unknown Source)
                at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(Unknown Source)
                ... 28 more
Caused by: java.io.IOException: Unable to establish loopback connection
        at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source)
        at sun.nio.ch.PipeImpl$Initializer.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.nio.ch.PipeImpl.<init>(Unknown Source)
        at sun.nio.ch.SelectorProviderImpl.openPipe(Unknown Source)
        at java.nio.channels.Pipe.open(Unknown Source)
        at sun.nio.ch.WindowsSelectorImpl.<init>(Unknown Source)
        at sun.nio.ch.WindowsSelectorProvider.openSelector(Unknown Source)
        at java.nio.channels.Selector.open(Unknown Source)
        at org.eclipse.jetty.io.SelectorManager.newSelector(SelectorManager.java:380)
        at org.eclipse.jetty.io.ManagedSelector.doStart(ManagedSelector.java:94)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at org.eclipse.jetty.io.SelectorManager.doStart(SelectorManager.java:258)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:279)
        at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
        at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:244)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.server.Server.doStart(Server.java:398)
        ... 5 more
Caused by: java.net.SocketException: Permission denied: connect
        at sun.nio.ch.Net.connect0(Native Method)
        at sun.nio.ch.Net.connect(Unknown Source)
        at sun.nio.ch.Net.connect(Unknown Source)
        at sun.nio.ch.SocketChannelImpl.connect(Unknown Source)
        at java.nio.channels.SocketChannel.open(Unknown Source)
        at sun.nio.ch.PipeImpl$Initializer$LoopbackConnector.run(Unknown Source)
        ... 28 more
WARN  2019-08-04 19:52:12,559 [Main Server Thread] com.mirth.connect.server.Mirth: Could not start web server

Did I miss something?

Thanks in advance.

Improve searching in MC Events with inclusive and exclusive searching by event type

Searching MC events would be improved with two key changes:

  • being able to select events from a list/dropdown/quicksearch
  • being able to include or exclude those events from a search

Use case #1 - I am an MC admin who is tracking down a stopped channel in MC. I need to be able to quickly find the stop channels event. If I can select this from a list I can SEE the event type I want instead of relying on the current free-text "Name" search field.

Use case #2 - I am an MC admin tracking down an issue in MC. When I view events I see MANY entries for the Data Pruner. I want to be able to EXCLUDE those events from my view so I can see all other events in time-order to triage the issue I want to solve.

Add new protocol option for channel

The channel creation wizard should have a drop-down in the Channel Overview step that allows the user to choose that channel's protocol. For now the only option will be HL7. This should do Channel.setProtocol to Protocol.HL7.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-16
Reporter: geraldb
Created: 2006-09-08T10:22:27.000-0700

Configuration map retrieved from API loses some information

Hello,

For example, this value:

Capture

becomes this (with GET /server/configurationMap):

<entry>
    <string>RALBOL_EMP-RIS_RestApi2File_SRV_FS1_USR</string>
    <com.mirth.connect.util.ConfigurationProperty>
        <value>snecmptMirthCiges</value>
        <comment></comment>
    </com.mirth.connect.util.ConfigurationProperty>
</entry>

Multiple destination ordering is not honored in Mule

When creating a Router channel with multiple destinations, only the filters and transformers are fired in order. The actual Mule updates are done in parallel.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-20
Reporter: chrisl
Created: 2006-09-08T13:33:16.000-0700

Adding properties to JMS messages

Hello,

JMS allows to add properties to messages so that subscribers can filter messages using selectors.
Please, consider adding properties to the JMS messages. In the client JMS connector UI you could add a "properties" table tha allows the user to add property names and values. The values of the properties could come, for example, from the channel map or other variables.

Regards.

Implement Issue Tracking Links in SVN

Setup SVN to track issues with JIRA

Imported Issue. Original Details:
Jira Issue Key: MIRTH-19
Reporter: chrisl
Created: 2006-09-08T13:22:43.000-0700

Connection Closed Errors while using Azure Managed SQL Database

When connected to Azure Managed SQL Database, random DB connection errors are popping up. See Stack trace:

ERROR 2019-11-25 15:09:06,727 [ChannelServlet Thread (Create channel) < qtp49212530-32] com.mirth.connect.server.controllers.DefaultConfigurationController: Could not store property: category=core, name=channelMetadata
org.apache.ibatis.exceptions.PersistenceException:
### Error rolling back transaction.  Cause: java.sql.SQLException: Connection is closed
### Cause: java.sql.SQLException: Connection is closed
        at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.rollback(DefaultSqlSession.java:185)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.rollback(DefaultSqlSession.java:177)
        at org.apache.ibatis.session.SqlSessionManager$SqlSessionInterceptor.invoke(SqlSessionManager.java:286)
        at com.sun.proxy.$Proxy9.insert(Unknown Source)
        at org.apache.ibatis.session.SqlSessionManager.insert(SqlSessionManager.java:195)
        at com.mirth.connect.server.controllers.DefaultConfigurationController.saveProperty(DefaultConfigurationController.java:920)
        at com.mirth.connect.server.controllers.DefaultConfigurationController.setChannelMetadata(DefaultConfigurationController.java:1076)
        at com.mirth.connect.server.controllers.DefaultChannelController.updateChannelMetadata(DefaultChannelController.java:450)
        at com.mirth.connect.server.controllers.DefaultChannelController.updateChannel(DefaultChannelController.java:412)
        at com.mirth.connect.server.api.servlets.ChannelServlet.createChannel(ChannelServlet.java:62)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at com.mirth.connect.server.api.providers.MirthResourceInvocationHandlerProvider$1.invoke(MirthResourceInvocationHandlerProvider.java:219)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)            at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:471)
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:864)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
        at com.mirth.connect.server.MethodFilter.doFilter(MethodFilter.java:37)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at com.mirth.connect.server.api.providers.ClickjackingFilter.doFilter(ClickjackingFilter.java:44)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at com.mirth.connect.server.api.providers.ApiOriginFilter.doFilter(ApiOriginFilter.java:71)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
        at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:531)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:291)
        at org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:151)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:319)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:175)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:133)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:754)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:672)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Connection is closed
        at com.zaxxer.hikari.pool.ProxyConnection$ClosedConnection$1.invoke(ProxyConnection.java:469)
        at com.sun.proxy.$Proxy10.getAutoCommit(Unknown Source)
        at com.zaxxer.hikari.pool.HikariProxyConnection.getAutoCommit(HikariProxyConnection.java)
        at org.apache.ibatis.transaction.jdbc.JdbcTransaction.rollback(JdbcTransaction.java:73)
        at org.apache.ibatis.executor.BaseExecutor.rollback(BaseExecutor.java:214)
        at org.apache.ibatis.executor.CachingExecutor.rollback(CachingExecutor.java:120)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.rollback(DefaultSqlSession.java:182)
        ... 72 more

Custom HL7 Message Validation

A nice want to have feature for mirth would be custom validation filtering.

Nowadays (version 1.1.0) Mirth uses no HL7 messages validation.
As you can see in http://svn.sourceforge.net/viewvc/mirth/trunk/server/src/com/webreach/mirth/server/mule/util/ER7Util.java?view=markup

PipeParser pipeParser = new PipeParser();
// disables all message validation
pipeParser.setValidationContext(new NoValidation());

and

XMLParser xmlParser = new DefaultXMLParser();
// disables all message validation
xmlParser.setValidationContext(new NoValidation());

the default HAPI validation mechanism (DefaultValidation - see http://hl7api.cvs.sourceforge.net/hl7api/hapi/ca/uhn/hl7v2/validation/impl/DefaultValidation.java?view=markup) is disabled/overriden with no validation (NoValidation - see http://hl7api.cvs.sourceforge.net/hl7api/hapi/ca/uhn/hl7v2/validation/impl/NoValidation.java?view=markup)

Now we could implement custom validation into Mirth (next to filtering and transforming) for every destination.

Something like right click on a destination -> Edit Validation
Now you could see a screen with a list with 4 columns where you can add your custom rules:
1st column: the hl7 version (* for all the versions)
2nd column: the scope (ex: "NM", "ST", "ID") (select from a list of all the available datatypes)
3th column: the rule name (ex: TrimLeadingWhitespace, SizeRule, RegexPrimitiveRule)
4th column: the rule parameter, this is not for every rule required

Now whenever the message get parsed instead of the NoValidation we can use our own validation!
If the message doesn't pass the validation the message will never get to it's destination and can be logged or stored in an error queue.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-1
Reporter: dabuddhaman
Created: 2006-08-29T12:46:58.000-0700

Messaging Object for better message tracking and stats

The server should be augmented to transfer a custom message object that stores the following information:

Status (received, filtered, transformed, sent)
Date Received
Raw Data
Transformed Data
Encoded Data

This message object will be sent across the Mirth bus (through Filters, Transformers, Endpoints) and update it's state with the Message Registry at defined steps.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-15
Reporter: chrisl
Created: 2006-09-08T00:47:12.000-0700

processing GET requests as doccuments

GCP sends health checks to our endpoints to make sure they are alive, connect seems to be mistaking these to be documents.

screen shot 2018-11-13 at 09 11 19

screen shot 2018-11-13 at 09 12 12

Is there a better endpoint we could use to perform health checks that would not do this?

Loading external jar

I have an external library that is living in custom_lib/library.jar. In order to load the library, I created a step in the source tab to load it and store it in globalChannelMap('lib').

var su = globalChannelMap.get('su');

try {
  if(su === null) {
    globalChannelMap.put('su', com.domain.package.Utils(channelName));
    su = globalChannelMap.get('su');
    var libInfo =com.domain.package.LibraryInfo();
    logger.info(":::: LOADING LIB :::: " + libInfo.getVersion() + " " + channelName);		
  }
} catch (error) {
  logger.error(channelName + " :::: PACKAGE UTILS :::: " + " Something went wrong loading library " + error);
}

I have no issues utilizing the library on any step on the source, however, when I start working on destinations I need to globalChannelMap.get('su') per destination.

My understanding of globalChannelMap() is that the variable is available global to the channel and across all messages.

How I can load a jar once to be accessible to source and destinations for every msg?

HL7 Message Builder should not automatically add '.text()[0]' to mappings

When creating mappings in the HL7 message builder (outgoing channels) the mapping field automatically gets '.text()[0]' added. This is the valid syntax for variables from a database call (msg[]), however it breaks access to the globalMap.

The proper behavior would be to add .text()[0] to the dragged database variable (such that the wrapping would be msg['VARNAME'].text()[0]).

Imported Issue. Original Details:
Jira Issue Key: MIRTH-24
Reporter: chrisl
Created: 2006-09-11T04:39:53.000-0700

Dynamic jar loading

Quick question about mirth utilizing custom libraries. I'm wondering if I can have a build process in some CI/CD repo that adds a jar to the custom_lib folder and have Mirth read it without bouncing Mirth.

Regular expressions break Transformers

Including the following regular expression breaks javascript transformation:

replace(/^\s**|\s**$/g,'');

Imported Issue. Original Details:
Jira Issue Key: MIRTH-25
Reporter: chrisl
Created: 2006-09-11T05:42:58.000-0700

There should be a new mapping step that allows globalMap variables

Currently all mapping steps update the 'localMap'. All filters and transformers look for variables in the localMap, however in the case of multiple destinations one would have to duplicate mappings for each endpoint.

There should either be the option to have a Global Mapping in the transformer that adds mappings to the globalMap or another map object called a "channelMap" which holds its state across an entire channel.

In both cases, transformers and endpoints will need to be updated to accept two map objects (and all variable replacements, ie SQL, will need to check both the local, global or channelMaps.).

Imported Issue. Original Details:
Jira Issue Key: MIRTH-2
Reporter: chrisl
Created: 2006-09-01T17:22:35.000-0700

Soap actions lost on channel import from 3.4.2 to 3.6.1

After importing a channel in 3.6.1 which has been created in 3.4.2, for some reason, all the SOAP actions are cleared.

Filling in the SOAP action manually is no option, since Connect will not save this field.

Only way to set the soap action is retrieving the operations list and browsing through the list of operations again.

Transformer mapping step names should reflect the mapping variable

When adding mapping steps in the transformer editor, the name of the step should reflect the name of the variable being mapped. As the variable name is changed it should update in the step listing.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-4
Reporter: chrisl
Created: 2006-09-05T10:00:58.000-0700

"Channel Messages" display do not show sent messages

I have created a channel of type INBOUND with a pattern of type ROUTER.
The status display correctly displays the number of messages received and send
The Destination correctly receives the messages going through that channel.
However the "Channel Messages" window only shows the received messages. I was expecting to see the send messages.

Note that the channel is transforming the messages before sending then to the destination, so being able to see those messages will enable the user to see the result of the transformation from the Mirth Client GUI.

As usual thanks for the help.

Regards

Eric

Imported Issue. Original Details:
Jira Issue Key: MIRTH-3
Reporter: eric
Created: 2006-09-04T01:34:21.000-0700

EDI Message Support

Mirth should be able to process, encode and transform EDI messages.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-17
Reporter: chrisl
Created: 2006-09-08T11:40:44.000-0700

File reader exception message needs to be updated

Whenever the file-reader encounters an error with a file operation it uses the same message: "The file already exists". This needs to be updated to show the actual exception that happened. See below for more information.


Message : Failed to move file "/mnt/hl7data/20060908160921.18968" to "/tmp/hl7testdata3/0edfcdfb-4295-11db-a11b-e267260bf594". The file already exists.
Type : org.mule.MuleException
Code : 11004
JavaDoc : http://mule.codehaus.org/docs/apidocs/org/mule/MuleException.html


Exception stack is:

  1. Failed to move file "/mnt/hl7data/20060908160921.18968" to "/tmp/hl7testdata3/0edfcdfb-4295-11db-a11b-e267260bf594". The file already exists. (org.mule.MuleException)
    org.mule.providers.file.FileMessageReceiver:175 (http://mule.codehaus.org/docs/apidocs/org/mule/MuleException.html)

Root Exception stack trace:
org.mule.MuleException: Failed to move file "/mnt/hl7data/20060908160921.18968" to "/tmp/hl7testdata3/0edfcdfb-4295-11db-a11b-e267260bf594". The file already exists.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-28
Reporter: chrisl
Created: 2006-09-12T11:29:21.000-0700

Message browser takes very long time to load.

The message browser takes several seconds to load, even when contacting a server running on the localhost. The load-time increases the longer the server/client is running.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-23
Reporter: chrisl
Created: 2006-09-11T04:25:46.000-0700

Administrator Launcher does not work if we define a http context path

Hi ! Thank you for this impressive work. Unfortunately there is a bug in the administrator launcher (v1.0.0).

If the variable http.contextpath (in mirth.properties) is defined other than root, the administrator launcher fails to connect with the error "Unable to retrieve payload from HTTP request. URI: https://10.33.25.176:9443/webstart".

As can be seen in this message, the context does not appear. So it seems that one step of the connection attempt removes it.

Client prompts for validation even when all fields are completed

When creating a channel with multiple destinations Mirth will prompt that your channel configuration is incomplete when choosing to save the channel. Clicking validate manually shows "valid channel".

Steps to reproduce:

  1. Create Inbound Router
  2. Add file writer destination, fill in all fields
  3. Add another file writer destination, fill in all fields
  4. Create transformer on the first destination
  5. Create Database Writer destination, fill in all fields
  6. Hit "Save Channel"

Imported Issue. Original Details:
Jira Issue Key: MIRTH-7
Reporter: chrisl
Created: 2006-09-05T23:14:03.000-0700

First transformer step disappears

The first transformation step will randomly get deleted from the transformer after switching screens from the transformer pane to the channel editor.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-26
Reporter: chrisl
Created: 2006-09-11T07:31:49.000-0700

Drag and drop does not work first time

Dragging and dropping variables from the variable list doesn't work the first time its done, only subsequent times.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-18
Reporter: geraldb
Created: 2006-09-08T12:11:03.000-0700

swagger.json schema contains zero required key/value pairs

A POST to /channels requires an associated JSON string in order to create a channel. This JSON string is, itself, a required field. However, the schema does not specify which, if any, key/value pairs in the JSON block are required. All of these settings appear to be optional, because none of them are defined as required:

Channel {
id (string, optional),
nextMetaDataId (integer, optional),
name (string, optional),
description (string, optional),
revision (integer, optional),
sourceConnector (Connector, optional),
destinationConnectors (Array[Connector], optional),
preprocessingScript (string, optional),
postprocessingScript (string, optional),
deployScript (string, optional),
undeployScript (string, optional),
properties (ChannelProperties, optional),
exportData (ChannelExportData, optional),
enabledDestinationConnectors (Array[Connector], optional),
purgedProperties (object, optional)
}

This is the case for all JSON content in swagger.json -- the JSON block is "required", but none of the k/v pairs within the JSON block are marked required, and therefore they are each "optional".

Cannot import channel

3.6.0 gives errors on channel import.
On a 3.5.1 exported file it ended up importing anyway.
On a 3.3.1 exported file it never works.

Channel "HL7 Sickbay ADT Dispatch - Production" is invalid. Original cause:
null
java.lang.AbstractMethodError
at com.mirth.connect.model.converters.MigratableConverter.migrateElement(MigratableConverter.java:147)
at com.mirth.connect.model.converters.MigratableConverter.unmarshal(MigratableConverter.java:89)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:474)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:406)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
at com.mirth.connect.model.converters.MigratableConverter.unmarshal(MigratableConverter.java:101)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:474)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:406)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:257)
at com.mirth.connect.model.converters.MigratableConverter.unmarshal(MigratableConverter.java:101)
at com.mirth.connect.model.converters.ChannelConverter.unmarshal(ChannelConverter.java:79)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1185)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1157)
at com.mirth.connect.model.converters.ObjectXMLSerializer.deserialize(ObjectXMLSerializer.java:281)
at com.mirth.connect.client.ui.ChannelPanel.importChannel(ChannelPanel.java:1425)
at com.mirth.connect.client.ui.ChannelPanel.doImportChannel(ChannelPanel.java:1413)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
at java.beans.EventHandler.invokeInternal(Unknown Source)
at java.beans.EventHandler.access$000(Unknown Source)
at java.beans.EventHandler$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.EventHandler.invoke(Unknown Source)
at com.sun.proxy.$Proxy46.actionPerformed(Unknown Source)
at org.jdesktop.swingx.action.BoundAction.actionPerformed(BoundAction.java:231)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at org.jdesktop.swingx.JXHyperlink.fireActionPerformed(JXHyperlink.java:264)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Working with the msg object in external library

Our team wrote/writing a java library to be used within connect. We are running into an issue where I need to pass msg["some..."] as a parameter without the .toString(). Inside the function I want to determine if the msg["some..."] is an xml or json.

From the library I logger.warn(":::: JAVA TYPE :::: " + value.javaClass) // org.mozilla.javascript.xmlimpl.XMLList. Happened that this class comes from a private package.

Screen Shot 2020-03-06 at 8 38 59 AM

Is there a work around or a way to work with the msg object in the external library?
In other words, I want to stringify the XML that I'm passing.

Change the wording on the LLP listener character encoding label

The LLP Listener allows the user to input custom LLP characters, as well as choose the encoding. This encoding radio button needs a better label to indicate that it sets the expected encoding of the LLP characters, not of the message.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-5
Reporter: chrisl
Created: 2006-09-05T12:00:18.000-0700

Channel "Save Prompt" constantly appears

After creating several destinations and transformers, the channel save prompt appears on every action in the UI. The only fix is to restart the client.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-10
Reporter: chrisl
Created: 2006-09-06T03:12:40.000-0700

Starting server with no FS space free leaves it unstartable

Take a look at these lines which are called every time you start the server.

// write the keystore back to the file
FileOutputStream fos = new FileOutputStream(keyStoreFile);
keyStore.store(fos, keyStorePassword);
IOUtils.closeQuietly(fos);

There is some circumstance[1] where those lines will result in a zero byte keystore file on disk. That's worse than the file being missing. The server will create a new file if it is missing, but it will fail to start if the keystore file is zero bytes (corrupted). And as long as that zero-byte keystore file remains there, the server will continue to fail to start, even if all other issues are addressed.

I think that the simplest fix that will prevent the problem I experienced is to treat a zero-byte file the same way you treat a missing file: make a new one.

You'd make that change here:

..Just change that line to something like this:

    if (keyStoreFile.exists() && keyStoreFile.canRead() && keyStoreFile.length() > 0) {

But, please consider reviewing this whole initializeSecuritySettings() method first. Is re-writing that JKS file every server start really what you want to do? (Is this not where you store the self-signed cert? How come my browser doesn't notice if it is regenerated all the time? Is it generated in a deterministic manner? Is that good?) I have not reviewed this method, these are just some questions that come to mind after glancing over it. Ideally each of those concerns turns out to be nothing.

1: Filesystem full (on NTFS, if that matters) while server is starting, possibly including other processes trying to write (claiming any free blocks) at the same time.

Global Variable checkbox should not appear on HL7 message builder pane

The checkbox "Add as global variable" is not valid for Outgoing messages built using the HL7 Message Builder pane on the outgoing message transformer pane. This needs to be removed.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-22
Reporter: chrisl
Created: 2006-09-11T03:34:53.000-0700

Generate reports for channels

Have the ability to generate reports (PDF, HTML, or just email) for the Mirth server providing statistics for all of the channels (# messages, types of messages, average message size, etc.) This should be configured through the server settings in the UI.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-12
Reporter: geraldb
Created: 2006-09-07T11:47:36.000-0700

Allow option to specify the end-of-segment character in the LLP listener

The HL7 spec expects CR (ascii 13) characters to deliminate segments of an HL7 message, however certain vendors only deliminate thier lines with \n (ascii 10). Mirth should stay compatabile with these vendors by allowing the option to specify the end of segment encoding character.

Imported Issue. Original Details:
Jira Issue Key: MIRTH-29
Reporter: chrisl
Created: 2006-09-12T14:05:54.000-0700

mccommand export channel excludes pruning settings

When I export a channel using mccommand (3.8.1), the exported file does not contain my pruning-settings.

Exported channel example from mirth connect client (does include pruning settings):

<exportData>
    <metadata>
...
      <pruningSettings>
        <pruneContentDays>90</pruneContentDays>
        <archiveEnabled>true</archiveEnabled>
      </pruningSettings>
    </metadata>
...
    <dependencyIds>
      <string>0c776d8a-870a-440d-b5fd-af1a47143917</string>
    </dependencyIds>
</exportData>

Exported channel example using mccommand (does not include pruning settings):

<exportData>
    <dependencyIds>
      <string>0c776d8a-870a-440d-b5fd-af1a47143917</string>
    </dependencyIds>
</exportData>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.