Article
· Oct 18, 2018 3m read

How to Publish an Application on InterSystems Open Exchange?

Hi Community!

As you know we launched the InterSystems Open Exchange — the marketplace for solutions and tools on InterSystems Data Platforms!

But how to publish your application on OE?

Before we start, let me answer the few basic questions.

Who can publish?

Basically, everyone. You can sign in to Open Exchange with your InterSystems Developer Community or WRC account.

What is the application?

Open Exchange application is a solution, tool, interoperability adapter or interfaces developed using any InterSystems Data Platforms product: Caché, Ensemble, HealthShare, InterSystems IRIS or InterSystems IRIS for Health.

Or this tool or solution should help in the development, testing, deployment or management solutions on InterSystems Data Platforms.

What is the application for Open Exchange? 

Actually, it is the name, description and set of links to the application entries: download page, documentation, code repository (if any), license, etc.

Let me illustrate the process with my personal example.

Submitting the Application to Open Exchange

In order to illustrate the procedure, I developed a fantastic application on ObjectScript for InterSystems IRIS and want to share it with Developer Community: Ideal ObjectScript.

It demonstrates the ideal usage of ObjectScript coding guidelines for various ObjectScript use cases.

There are mandatory fields, which need to be presented on every Open Exchange application.

1. Name - a unique to Open Exchange name for the application

2. Description -  description of the application. The field supports markdown.

3. Product URL - the link to a Download page of your application. 

4. License - the link to the page which shows the license for your application.

5. InterSystems Data Platforms - set of InterSystems Data Platforms your application is intended for.

All the rest fields are optional.

So, let's submit my app.

I have the Name: Ideal ObjectScript

Description: Ideal ObjectScript demonstrates the ideal usage of InterSystems ObjectScript coding guidelines for various ObjectScript use cases.

Product URLhttps://github.com/evshvarov/ideal_objectscript/releases/tag/1.0  - the link to 1.0 version on Github releases section of the app.

License URLhttps://github.com/evshvarov/ideal_objectscript/blob/1.0/LICENSE - the link to the LICENSE file of the app.

InterSystems Data Platforms: And the application supports InterSystems IRIS, Caché, and Ensemble - this is the list of InterSystems products I tested the application with by myself.

With that, we are ready to submit the app.

Application version

Once you click Send For Approval you need to provide the version of the app and release notes. We use Semver for versioning. The release notes will be published in the Open Exchange News, DC Social Media and version history section of the app.

After that application enters the approval workflow which results with approval and automatic publishing on OpEx or with some recommendations on how to correct the application's descriptions and links.

Enter 

Additional parameters

Image URL

place an URL to an image icon of your app to let it be displayed on a tile. You can omit this and the standard OpEx icon will be shown.

Github URL

Place the link to a Github repository if you have it for your application. We have the integration with Github on Open Exchange, so if you introduce the link to the Github repository of your app Open Exchange will show the description from Github automatically (everything which is listed in Readme.md). E.g. see how Ideal ObjectScript page is displayed on Open Exchange.

Community Article URL

Of course, you can tell about your application on Developer Community with the nice article so place the URL to it here!

As you can see the procedure is very simple! Looking forward to seeing your InterSystems Data Platforms applications on Open Exchange!

Stay tuned!

Discussion (11)3
Log in or sign up to continue

Hi, Steve!

Thanks for your feedback! 

Does it have to be a Github repo or can I use BitBucket ?

It can be any public repository: Github, BitBucket or Gitlab. But today we have the embedded support only for Github. E.g. if you submit Github repo in the application OE will use README.md as description, LICENSE.md as license and we plan to introduce more support in the near future.

You can add the request for BitBucket support in Open Exchange issues.

Also - if we find an error  (eg WebTerminal on IRIS), can we leave a comment generally or for the developer ?

Every application has either repo with issues or the support link which are intended to receive feedback, bug reports, and feature requests.

If you find an error on Open Exchange, please submit it here! )

Hi @Evgeny Shvarov 

Thanks for the link to the updated article. 

I found out the error using the Google Chrome DevTools.

I was trying to upload an image in a Published App.

In the DevTools console I got the error: 

POST https://openexchange.intersystems.com/mpapi/packages/image/446 500 (Internal Server Error)

Using the Network tab, I could see the details in the Response: 

{
    "errors":[ {
            "code":5001,
            "domain":"%ObjectErrors",
            "error":"ERROR #5001: You can't to change title image of the published package. Please, unpublish package or create draft.",
            "id":"GeneralError",
            "params":["You can't to change title image of the published package. Please, unpublish package or create draft."
            ]
        }
    ],
    "summary":"ERROR #5001: You can't to change title image of the published package. Please, unpublish package or create draft."
}

As a suggestion, this response could be shown in a toast message?