Hi Developers!

Often when we install a code package we want to make some post-install settings, e.g. call to a method, set up a configuration file.

This article describes how to do this with the ObjectScript Package Manager.

To make any post-install calls you need to add <Invoke> elements into <Invokes> tag to the module.xml. Each <Invoke> element can have nested <Arg> elements if you want to pass params to the method:

2 0
1 575

Hi Developers!

Suppose you published your application on Open Exchange with version 1.00. And then you've added a new outstanding feature and you make a new release.

You can also make a new release of your application on Open Exchange.

Why make releases on Open Exchange?

This the way for you to highlight the new features of your application. When you publish a new release the following happens:

Release notes appear on the News page of Open Exchange

The version of your app changes

Version History tab is updated

0 0
0 261

Hi Developers!

This post describes how you could publish your InterSystems application on Open Exchange.

What is the InterSystems application?

It could be anything, which is built with InterSystems data platforms or to help work with InterSystems data platforms: InterSystems IRIS, InterSystems IRIS for Health, InterSystems HealthShare, InterSystems Ensemble and InterSystems Caché. This could be tools, frameworks, adapters, examples and business solutions.

Why publish on Open Exchange?

InterSystems Open Exchange is an "App Central" for the solutions in InterSystems. It's the first place where the developer goes to look for tools, frameworks, and examples on InterSystems IRIS. And Open Exchange brings the added traffic to your solution which could be converted into leads.

We are having a set of business development tools for published Open Exchange applications. This definitely makes your InterSystems application more noticed.

Submitting an application

Suppose you have a library with open source published on Github which you want to publish on Open Exchange. For the purpose of a demo, I'll fork this remarkable project of @Peter Steiwer ObjectScript-Math which I forked and renamed to object script-super-math.

1 2
0 363

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in December 2019!

New applications in December 2019

ObjectScript-Math

Math library for InterSystems ObjectScript

Author: @Peter Steiwer , OEX Profile

JSONExportManyToMany

Sample for %JSONExport against a class with Many to Many Relationship

Author: @Peter Steiwer , OEX Profile

InterSystems ObjectScript zpm-registry

Server-side hosting service for ObjectScript packages installable via ZPM client.

Author: @Evgeny Shvarov, OEX Profile

Publisher: InterSystems Corporation

SUDOKU

SUDOKU game written in InterSystems ObjectScript

Author: @Robert Cemper, OEX Profile

Portlet Samples

Sample DeepSee Portlets showing different ways to implement custom widgets

Author: @Peter Steiwer , OEX Profile

Advent of Code ObjectScript Docker Template

A simple template to craft Advent of Code with ObjectScript in InterSystems IRIS

Author: @Evgeny Shvarov, OEX Profile

Ingestion Speed Test
Shows how IRIS can ingest thousands or millions of records per second while allowing for queries on the same cluster. Works on a single IRIS instance or on an IRIS cluster on the cloud.

Author: @Amir Samary, OEX Profile

John Conway's Game of Life

With this class, you could simulate Game of Life world that John Conway invented in 1970. We can see how John Conway universe evolves in our terminal

Author: @Jose-Tomas Salvador, OEX Profile

2 0
0 152

Hi Developers!

I stuck with one interesting problem.

For example, let's use this template repo. If you build this container A using docker-compose and then run the container it exposes REST-API which is available on:

localhost:52773/person/all

The question is how to make this REST-API accessible from another docker container B running on the same machine? E.g. with IRIS 2019.4 Community from this repo?

The problem is that for the second container localhost it's something which belongs to container B.

I think I need to set up a network between containers somehow. E.g. using docker-compose. But is there any simpler way?

0 2
0 324

Hi Developers!

Recently we updated the look and feel of articles on DC:

The font is bigger, with no ads on aside.

Articles look like that now:

The intent was to make reading process for articles more focused cause sometimes we want to share a deeper thought with article and this needs more concentration and less distraction.

Do you like it?

Share your thoughts, please?

1 1
0 250

Hi Developers!

I'm pleased to announce that ObjectScript package publishing is now generally available on Open Exchange with this November 2019 release!

If you want your ObjectScript application to be published in ObjectScript Package Manager just enable "Publish in Package Manager" option:

And send the app on approving.

Once the application is approved it will be published automatically in ObjectScript Package Manager Registry and will be available for installation via ZPM client.

See the details below.

4 5
2 531

Hi Developers!

For those who want to participate in the Advent of Code 2019 and code with ObjectScript in IRIS, I created a very simple but handy Github Template.

Use the green button

to copy template in your own repo, clone the repo and run in the repo folder:

docker-compose up -d

you will get InterSystems IRIS 2019.4 Community Edition running with the template classes to load input data from files and Day1 solution.

This is also set up to start crafting solutions of Advent of Code 2019 and edit, compile and debug ObjectScript with VSCode addon.

Happy coding with Advent of Code 2019!

0 0
0 293

Hi Developers!

Here is what's we introduced in Developers Community features and UI last month:

  • Pinned topics for main feed and tags;
  • One-click unsubscribe option in every email we send;
  • A 'new' indicator for the posts and comments;
  • Notification of changes made by moderators;
  • Articles without translation don't show 'access denied' anymore.

See the details below!

0 0
0 295

Hi Developers!

As discussed in previous parts of Package Manager stories to turn your IRIS application into a deployable package you just need to introduce the module.xml file into the root folder of the repository and describe all the resources.

I’m pleased to introduce you to a new project template on Open Exchange which contains examples of how to make different types of resources of your InterSystems IRIS application a part of the ObjectScript package and so make the deployable ObjectSctipt package.

Let's see how you can describe your application resources using this template project as an example.

See the details below.

5 2
7 579

Hi developers!

I just want to share with you the knowledge aka experience which could save you a few hours someday.

If you are building REST API with IRIS which contains more than 1 level of "/", e.g. '/patients/all' don't forget to add parameter 'recurse=1' into your deployment script in %Installer, otherwise all the second and higher entries won't work. And all the entries of level=1 will work.

/patients

- will work, but

/patients/all

- won't.

Here is an example of CSPApplicatoin section which fix the issue and which you may want to use in your %Installer class:

    <CSPApplication Url="${CSPAPP}"
      Recurse="1"
      Directory="${CSPAPPDIR}"
      Grant="${RESOURCE},%SQL"
      AuthenticationMethods="96"
      />

2 0
1 282

Hi Developers!

Recently we announced two new challenges on Global Masters: 'Bugs Bounty' and 'Pull Requests'.

And we are getting a lot of submits to the challenges which are not the thing we are expecting there. So I hope this post will give some shine to this quest.

'Bugs Bounty'

Ok! What are we expecting from 'Bugs bounty'?

There are a lot of Open Exchange solutions that come with public open-source repositories on Github: project and repo, another project and the repo, another one and its repo, and many more on Open Exchange.

0 0
0 338

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in October 2019!

New applications in October 2019

simplemirror by Mario Sanchez Macias

This is a very simple docker-compose with a simple class that creates a mirror. It will create 2 folders (mirrorA and mirrorB) with the Iris installation files and mirror database MIRRORDB. Also creates a namespace MIRRORNS.

objectscript-rest-docker-template by Evgeny Shvarov

Very simple template to start development REST API with for persistent data in IRIS using Docker.

IRIS OAuth example by Dmitrii Kuznetsov

This is a template for InterSystems ObjectScript Github repository. The template goes also with a few files which let you immedietly compile your ObjecScript files in InterSystems IRIS Community Edition in a docker container

vscode-multi-connection by Dmitry Maslennikov

Example project, how to configure and use multiple connections in one namespace with VSCode-ObjectScript

iris-datatransform-unittest by Alberto Fuentes

IRIS Data Transform UnitTest Sample

SetEnv by Eduard Lebedyuk

Set Environment Variables

DocumentTemplate by Zenkov Artem

DocumentTemplate allows you to use ODT and DOCX files as templates for rendering reports or letters.

msgpack by Maks Atygaev

Implementation of MessagePack protocol where you need something more compact and speed then JSON. https://msgpack.org

Twitter Sentiment Analysis with IRIS by Amir Samary

Use IRIS Natural Language Processing and its interoperability capabilities to fetch realtime tweets and analyze their sentiment as well as their metadata.

Apache POI by Eduard Lebedyuk

ObjectScript part for apache-poi integration. Allows reading xlsx.

RabbitMQ adapter by Eduard Lebedyuk

InterSystems IRIS adapter for RabbitMQ

0 0
0 187