Welcome to Open Exchange

At InterSystems, we deeply appreciate the rapid innovation enabled by open-source development. Our team acknowledges the significant impact of the community's dedication, which has been a driving force behind the evolution of software and data technology.

Top contributors

Featured applications

204 Application(s)
Filter
Show only
Last release on OEX
Categories
Works with
Industry
Ensemble
Clear filters
Application NameDeveloperMade withRatingLast updatedViewsInstalls

InterSystems Testing Manager for VS Code

Use %UnitTest framework and Test Coverage Tool in VS Code

John Murray
4.5 (2)05 Sep, 2025 710

csp-fileview-download

view and download file via CSP application

Ashok Kumar T
Docker
IPM
4.8 (2)20 Aug, 2025 219

InterSystems Ideas Waiting to be Implemented

Parser for arbitrary binary protocols

Rapid growth of IoT industry in recent years produced a plethora of new protocols with varying levels of standardization and adoption. Quite a lot of these protocols are binary because: * It allows for greater throughput * On a device level these protocols are easier to implement * On a device level they are more resource (CPU/RAM) efficient Currently InterSystems IRIS offers several functions for work with binary data: * zzdump * $zhex * $char * $ascii But protocol implementation is left as a task for the end user. Removing the time-consuming need for protocol implementation would allow for easier and stronger positioning of InterSystems IRIS as an IoT platform. One of the possible approaches to protocol implementation is declarative parsing. With declarative parsing user describes the data structure that he wants parsed (i.e.{ name: title, type: string, length: 5}...) in some declarative language (XML, JSON, YAML) and we use this to generate a concrete parser. Afterwards user passes protocol data to the concrete parser implementation and receives parsed values (as objects or locals or $lb). Kaitai Struct (http://kaitai.io) is an OpenSource (MIT license) declarative parser implementation which allows user to generate parser code for several languages: C++, C#, Go, Java, JavaScript, Lua, Perl, PHP, Python, Ruby, Rust. It allows easy language extensibility by keeping most of the process language-agnostic and only the last step (concrete parser generation) is end-language specific. I propose we add ObjectScript as a Kaitai Struct generation language. It would allow us to generate native ObjectScript parsers easily which would help with presenting InterSystems IRIS an IoT platform especially at a PoC stage. Alternatives to Kaitai Struct: * binpac (https://github.com/bro/binpac) - C++ only * preon (https://github.com/preon/preon) - Java only The advantage of Kaitai Struct is that it's not aimed at one language form the beginning, so adding a new language is an expected procedure. Article on the topic (https://old.reddit.com/r/cpp/comments/5tcnmh/implementing_communication_protocols_in_c_for/)

E
by Eduard Lebedyuk

3

Votes

0

Comments
Vote

DataAILite

DataAIlite.com – Secure in-memory analytics

I
Irina Yaroshevskaya
AI
0.0 (0)19 Aug, 2025 33

Test Coverage Tool

Run your typical ObjectScript %UnitTest tests and see which lines of your code are executed. Includes Cobertura-style reporting for use in continuous integration tools.

Timothy Leavitt
Python
IPM
5.0 (2)13 Aug, 2025 2.0k 3.1k

SPOOL-mapping

SPOOL as SQL tabel

Robert Cemper
Docker
IPM
4.5 (1)03 Aug, 2025 329 22

Sync-Data-with-DSTIME

Synchronizing your data to some external DB

Robert Cemper
Docker
IPM
5.0 (1)03 Aug, 2025 364 22

ObjectScript-Over-ODBC

Allow running ObjectScript and especially Global copy over ODBC

Robert Cemper
Docker
IPM
4.5 (1)03 Aug, 2025 452 18

fast-JSON-formatting-Cache

fast JSON formating for Caché / Ensemble

Robert Cemper
Docker
IPM
5.0 (1)03 Aug, 2025 380 40

The adopted Bitmap

How to enable Bitmaps for nonstandard IDs

Robert Cemper
Docker
IPM
5.0 (1)03 Aug, 2025 253 33

Simple-remote-server-control

Simple Server Communication over TCP/IP

Robert Cemper
Docker
IPM
3.0 (1)03 Aug, 2025 384 22

SQL-for-ERRORS-Global

Map ^ERRORS Global and have a custom query for full content

Robert Cemper
Docker
IPM
5.0 (1)03 Aug, 2025 418 69

Global-Scan-to-SQL

Analyze Globals by Subscript-Level

Robert Cemper
Docker
IPM
4.5 (1)03 Aug, 2025 414 24

Multi-Line-Command-Editor

Terminal Multi-Line Input + Editor

Robert Cemper
Docker
IPM
5.0 (1)03 Aug, 2025 468 33

COS-ISOS-foreach-command

ZZFOREACH command + $$$FOREACH macro

Robert Cemper
Docker
5.0 (1)03 Aug, 2025 323

Restart-httpd-SMP

Restart httpd server for SMP

Robert Cemper
Docker
4.0 (1)03 Aug, 2025 255 13

GlobalStreams-to-SQL

Tools to investigate GlobalStreams by SQL

Robert Cemper
Docker
5.0 (1)03 Aug, 2025 300

Full-OBJ-Dump

Extended object dump example

Robert Cemper
Docker
0.0 (0)03 Aug, 2025 271

SUDOKU-en

A demo in traditional style

Robert Cemper
Docker
4.0 (2)03 Aug, 2025 235 34

SUDOKU-es

Sudoku demo in Spanish

Robert Cemper
Docker
5.0 (1)03 Aug, 2025 217 27

Terminal-Multi-Line-Option

Terminal Multi-Line Option for IRIS and Caché

Robert Cemper
Docker
4.5 (1)03 Aug, 2025 361 30

Beyond-Server-Limits

Run OS independent OS commands from IRIS / Caché

Robert Cemper
Docker
Python
5.0 (1)03 Aug, 2025 30

PyObjectscript Gen

Objectscript class code generation library for Python

A
Antoine Dhollande
Python
3.0 (1)01 Aug, 2025 71

Light-weight-EXCEL-download

Light weight Excel export over CSP

Robert Cemper
Docker
IPM
5.0 (1)31 Jul, 2025 572 28

Code-Scanner

Find Strings in any kind of ObjectScript

Robert Cemper
Docker
IPM
5.0 (2)26 Jul, 2025 196

Collection-Indexing-and-Query

How to get correct index for SQL query generator

Robert Cemper
Docker
IPM
4.0 (2)26 Jul, 2025 292 29

character-slice-index

Indexing text by characters

Robert Cemper
Docker
IPM
5.0 (1)26 Jul, 2025 191

CPIPE

Example of using CPIPE programmatically

Robert Cemper
Docker
IPM
5.0 (2)26 Jul, 2025 482 268

SPOOL-demo

Demo Code using SPOOL

Robert Cemper
Docker
IPM
4.5 (1)26 Jul, 2025 269 19

addsearchtable

Visualize the creation of a search table

X
XINING MA
Docker
IPM
3.5 (1)24 Jul, 2025 56

Global-Inspector

Inspect Global Details

Robert Cemper
IPM
5.0 (1)23 Jul, 2025 154 1