As usual, each upcoming release will bring a few improvements, fixes and changes for scripting, reporting and generally customization. With this article I would like to teaser a bit what’s coming.
Extended scripting CLI to support more use cases
Running scripts from Command Line Interface (CLI) is and always will be a bit different than running scripts inside the running tool client. The user interface is not up and running, there is no "Workbench" window and other things which makes it special. However, a few differences in 25.2 were just "glitches" and basically unnecessary, for example were a few root objects missing and undefined. This is now fixed. In addition, there is a way to disable the experimental disclaimer to avoid any modal dialog blocking any CI/CD integration when using experimental API in scripts.
Support additional execute() function in JS (experimental)
So far, medini supports a number of scripting languages, each having its advantages and disadvantages and specific areas of application. OCL and AQL for example are nice and handy query languages, writing an object query with filters and mappings is often much easier (at least shorter) than doing the same in JS while writing descriptive code that manipulates the model object is easiest in JS. There is now a new function `evaluate` in JS which accepts script code, a scripting language and some context information and allows any Java Script to execute queries in other languages. This function is only available when having the $EXPERIMENTAL$ pragma enabled.
Scripted Importer
We have released the scripted importer framework a while back, supported a number of standard inputs like EA files, Excel files or Simulink files. For Excel there is now a switch that can be set via the script itself to switch from our simplistic excel API known from `excel.js` to the official Apache POI™ Excel API. In addition there is a generic "import anything" hook that allows the importer to load the resource itself.
Scripted Decorator
Another experimental feature was release with 26.1. It is basically a generic decorator that can be enabled in the model browser preferences. Once enabled, the decoration can be controlled via a custom script which itself can be specified in the "Scripting" preferences. That should give hard-core scripters a way to annotate and decorate each and everything in the model browser.
M2Doc Reporting
The M2Doc reporting got 1 major and a few minor updates: the biggest change is that we upgraded to M2Doc Release 4.0.0. Biggest impact surely is that this release now supports authoring templates with Office 365 and other tools like Libre Office or even Google docs. The change is that M2Doc statements are now plain text and not anymore "Word fields". An automatic migration was added with different options. For details see the user documentation or simply try to generate your old reports in the new version, it should be transparently be possible.
Other changes: most of our custom AQL services are now also available for AQL based derived properties and scripts and not only for report templates. In addition there are new services for example to define and manage maps, and to extract system and environment information. Error handling and multi report generation for online collab projects was improved.
Final and more information will be available in the final documentation. Official release date will the 9th of March 2026.
Happy Scripting
Jan