Article Nikolay Solovyev · Jul 29, 2025 3m read

Sending emails is a common requirement in integration scenarios — whether for client reminders, automatic reports, or transaction confirmations. Static messages quickly become hard to maintain and personalize. This is where the templated_email module comes in, combining InterSystems IRIS Interoperability with the power of Jinja2 templates.

Why Jinja2 for Emails

Jinja2 is a popular templating engine from the Python ecosystem that enables fully dynamic content generation.

0
0 108
Article Nikolay Solovyev · Jun 21, 2023 3m read

The Telegram Adapter for InterSystems IRIS serves as a bridge between the popular Telegram messaging platform and InterSystems IRIS, facilitating seamless communication and data exchange. By leveraging the capabilities of the Telegram API, the adapter allows developers to build robust chatbots, automate tasks, and integrate Telegram with InterSystems IRIS applications.

The most common scenarios where the Telegram Adapter can be used include:

  1. Real-Time System Notifications: Sending immediate notifications about specific events occurring in the system.
0
2 460
Question Nikolay Solovyev · Sep 20, 2022

I'm trying to send a message into a production on change a persistent object. 

And when I change an object using SQL - I get an error, 
when change the object using objectscript - I get  a message (but not an error or exception) 
But the most interesting - everything works fine (the object has been changed, and business service receives data) 

Persistent class

Class Demo.
2
0 512
Article Nikolay Solovyev · Nov 23, 2021 1m read

A new release of ZPM has been published - ZPM 0.3.2.

New in this release:

  • Various changes in the output command of help
  • Changes in colors in the outputs
  • Added an ability to add more repo types
  • Added an ability to specify a post-installation message, with AfterInstallMessage tag in module.xml
  • Added variable ${webroot}, which refers to url with host and port where the internal web-server is available
  • Fixed issue when during install if no module was specified (issue #243)
  • Fixed issue with uppercased FileCopy resource
  • Some other minor bugfixes
2
0 440
Announcement Nikolay Solovyev · Apr 2, 2021

ZPM-Registry – is the package registry for the ZPM package manager.

As you probably know, the ZPM package manager is configured by default to work with the public community registry https://pm.community.intersystems.com/, which currently has more than 150 packages published.
You can install and configure your own registry for use in your organization.

Starting from version 1.1.2, zpm-registry includes the Proxy feature.
Now you can link your own registry to another (for example, the public registry of the community).

2
1 506
Announcement Nikolay Solovyev · Jan 11, 2021

We released a new version of ZPM (Package Manager)

New in ZPM 0.2.10 release:

1) FileCopy

Added some improvements to already existing tag FileCopy

Example of module.xml


<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
  <Document name="test-binary.ZPM">
    <Module>
      <Name>test-binary</Name>
      <Version>0.0.1</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <FileCopy Name="lib" Target="${libdir}my-lib"/> <!-- Copies content of lib folder to target -->
      <FileCopy Name="somefile.
2
0 357
Article Nikolay Solovyev · Jun 24, 2020 2m read

ZPM is a package manager designed for convenient deployment of applications and modules on the IRIS platform.

Module developers, in order for their module to be installed using ZPM, need to follow a series of simple steps.

  • Write module code
  • Create a module.xml file that contains the meta description of the module
  • Using the test registry, publish the module, verify that it is published
  • Install the module from the test registry
  • Publish the module. To publish in the public registry pm.community.intersystems.com, you need to publish the module in https://openexchange.intersystems.
2
2 644
Article Nikolay Solovyev · Feb 17, 2020 5m read

Dasha.AI is a platform that allows you to create and manage voice interfaces for your applications. One of Dasha’s distinctive features is that most users believe they are talking to a human, not a robot.

Voice is the most natural way for people to interact. Dasha allows to use voice interface to interact with your application as naturally as communication between people.   

The voice interface cannot completely replace the traditional user interface of the application, but some tasks could be perfectly solved with the help of the speech interface.

0
3 380
Article Nikolay Solovyev · Aug 1, 2019 3m read

In many projects I was faced with storing hierarchical data (tree) in classes.
By tree, I mean such data, where each node has a parent node — an object of the same class.
Many examples of such data can be given. For example, a catalog in the online store. Suppose that this online store sells books, in this case, the category tree might look like this:

 

The number in front of the name is the category ID.
For storage, you can create classes:

The MyApp.Category class  is used to store the category tree and contains the property “Parent” - reference to the same class.

1
1 1270
Article Nikolay Solovyev · Feb 19, 2019 6m read

1. Blockchain

As I am writing this article, Bitcoin costs less than one-fifth of what it used to be at the pinnacle of its success. So when I start telling someone about my blockchain experience, the first thing I hear is undisguised skepticism: "who needs this blockchain stuff now anyway?"

That's right, the blockchain hype has waned. However, the technologies it is based on are here to stay and will continue being used in particular areas.The Internet in general offer tons of materials describing the general usage of these technologies 

4
2 1050
Article Nikolay Solovyev · Apr 25, 2018 4m read

"Telegram" is a well-known instant messenger, which provides an API for creating bots. The features of this API allow you to create bots with a wide range of functionality including receiving payments. 
With the help of the telegram bot, I solved a simple task - sending Alerts from Ensemble to Telegram.

Advantages: Alerts come to the mobile phone, a notification appears, so there is no need to install any additional applications (in contrast to the solution https://community.intersystems.com/post/sending-alerts-mobile-phone-using-pushover- httpoutboundadapter).

The bot can be extended by adding new commands, for example, for managing the Production or for solving other tasks in Iris, Ensemble or Cache.

 
0
5 1489