Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OIE Source Code Search

build release License: MPL 2.0 Java OIE

A plugin for Open Integration Engine (OIE) that provides grep-like search across all channel scripts, code templates, global scripts, and message templates — directly from the Administrator UI.

Source Code Search in action

Features

  • Full-text search across all artifact types in a single query
  • Literal and regex search modes, case-sensitive or insensitive
  • Scope control — search Channels, Code Templates, Global Scripts, and Message Templates independently
  • Names and descriptions included — channel, code template, and global script names and descriptions are searched alongside their code, so finding an artifact by name just works
  • Channel scoping — search all channels, selected channels, or the current channel from the editor
  • Hierarchical results with location breadcrumbs and match highlighting
  • Export results as JSON (with metadata) or CSV
  • Non-modal dialog — search while you work
  • Permission aware — publishes a "Search Source Code" permission and honors per-role channel restrictions

Permissions

The plugin registers a single permission, Search Source Code, covering both of its REST operations and both of its menu entries.

On a stock OIE install this changes nothing: the default authorization controller allows every operation for every authenticated user, exactly as it does for the channel editor.

On installs running a role-based authorization controller, the permission must be granted to a role before its users can search, and results stay within the channels that role can access. Channels outside the role are skipped, code templates are limited to libraries in scope for at least one accessible channel, and global scripts are excluded, since they are server-wide rather than channel-scoped. The same applies to names and descriptions: a channel a role cannot access is never visited, so its name cannot surface through a name search either. When anything is filtered the dialog says so, and the notice travels into JSON and CSV exports so a partial result set is never mistaken for a complete one.

Upgrading from 1.2.0 or earlier on a role-based server: search was previously ungated, so every role could use it. After upgrading, an administrator must grant the new permission to each role that should keep it. See issue #5.

Documentation

See the Wiki for full documentation, including:

Design Notes

docs/design-notes.md explains why parts of the plugin are shaped the way they are, particularly its authorization behavior and search scope model, and what the test suite does and does not guarantee. Worth reading before changing anything in the authorization path.

Requirements

Attribute Value
OIE Version 4.6.0+
Java 17+

Installation

Download the latest release ZIP from the Releases page and install it through the OIE Administrator plugin manager.

Building from Source

The public repsy mirror at repo.repsy.io/mvn/kpalang/mirthconnect does not yet carry the 4.6.0 engine artifacts. Build the engine (ant in donkey/ then server/) from a sibling checkout, then run:

ENGINE_DIR=/path/to/engine ./scripts/install-engine-jars.sh
mvn verify

The script installs mirth-server, donkey-server, mirth-client-core, and mirth-client at version 4.6.0 into your local Maven repository. If ENGINE_DIR is unset, it defaults to ../engine relative to this repo.

License

MPL-2.0 — Copyright (c) 2025-2026 Diridium Technologies Inc.

Developed with the moral support of Finnegan the dog.

About

OIE plugin providing grep-like search across channel scripts, code templates, global scripts, and message templates

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages