How do I import an exported ensemble operation?

I created an outbound FTP File Adapter operation and I need to duplicate it to like 10 namespaces.  I went to tools and clicked "Export" and saved it to the filesystem as an XML file.  Now... how on God's green earth do I import it into another namespace?  I'm cursing and throwing things over here...

  • 0
  • 0
  • 312
  • 4
  • 2

Answers

Hi Scott -

Part of this depends on "how" (from what context) did you create your "export"

Assuming that you mean that you created an "export" from the System Management Portal:

Then review the documentation that can be found:

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...

which will talk about the "Deployment" process for an "exported production"

Assuming that you are talking about an "export" from Studio, then the specifics of how a Business Operation is configured will be in the class definition of the Production Class (along with the actually configured Business Service/Operation class definitions (if they aren't standard InterSystems provided classes : i.e. If you have created your own FTP Operation class as opposed to using the FTP operation class InterSystems ships with the product)):

Then in this case you are looking at a more manual code promotion process, which involves importing from within Studio and recompiling things. This methodology is can work, but has a lot more moving parts (and therefor more "gotcha's" to look out for)

Based on the docs you linked, I found /csp/healthshare/<namespace>/EnsPortal.Deployment.DeployProductionChanges.zen

This allowed me to select a "Deployment" and successfully accomplish my goal.

 

This is terribly unintuitive.  Not only is the context completely different, but there is no parity among terminology.  To improve this, there are two options:

1. Change the "Export" process.  First, it should not be called "Export", it should be called "Create a Deployment" or "Create Deployment Package".  Second, it should not be in the actions for the adapter/operation, it should be in the main Ensemble menu.

2. Change the "Import" process. First, it should be called "Import" and not "Deployment".  Second, it should be in the context of the production, located in a similar place to the Export button.  Ideally, you would click "Production Settings" and there would be an "Import" button there.

When you export and import this class to another namespace(s), you will have multiple different copies. I think much better to have the same class in all namespaces. You can do it with package mapping. And here you have two ways create a mapping in the each namespace where you need access to this class, or create special namespace %ALL, and configure mapping which will be available in all namespaces (except DOCBOOK and SAMPLES).

These namespaces span multiple servers, so I think that rules this out?  Also, each of the copies will have minor changes (each FTP out adapter will have a different filename prefix, etc).  Plus, it sounds super complex for this simple use-case.

 

edit: But I appreciate the quick response, and mapping sounds really cool otherwise!