Script Executor Management

Manage the Script Executors that run Scripts.

What is a Script Executor?

In ProcessMaker Platform, a Script Executor is a Docker container for a specifically supported programming language to run Scripts developed in that programming language. See an example.

When the ProcessMaker Platform instance calls a Script to run, the Script Executor for that programming language creates a Docker container corresponding with that programming language, runs the Script, and then destroys the Docker container. This ensures that any malicious script that anyone in your organization might inadvertently introduce to ProcessMaker Platform does not affect the ProcessMaker Platform instance or its hosting environment: Docker containers cannot access them. Furthermore, Docker containers cannot listen for inbound connections; therefore, a Docker container cannot be accessed externally.

When the Script Executor creates a Docker container to run a Script, required libraries are already built in that Docker container. The Script Executor for each supported programming language contains the ProcessMaker Platform Software Development Kit (SDK) that supports extensibility to provide programmatic interaction with ProcessMaker Platform.

Script Executors not only manage Docker containers to run Scripts. Savvy Administrators may add Docker commands and customized code to new or default Script Executors that adds custom packages that allow Scripts to call sanctioned third-party Application Program Interfaces (APIs) and SDKs. Process designers who develop Scripts may make calls and requests to those APIs and SDKs via customized Script Executors. Since the Administrator must provide the Docker commands and configuration to a customized Script Executor, that Administrator controls access to sanctioned APIs and SDKs to those Process designers to ensure security.

See an example in the following video how to use a Script Executor that includes a Docker RUN command to package the Google Client class provided by Google into that Script Executor, thereby allowing Scripts using that Script Executor to successfully call the Google API.

  • Intended audience: Administrators, software developers, and coding engineers

  • Viewing time: 3 minutes; contains narration

Supported Programming Languages

ProcessMaker Platform supports the following programming languages in the open-source edition:

  • PHP

  • Lua

  • JavaScript

ProcessMaker Platform Enterprise edition supports the following additional programming languages:

  • C#

  • Java

  • Python

  • R

View Script Executors

ProcessMaker Platform displays all Script Executors in one location. Any Script Executor developed by any Administrator can be used in any Process model. This makes it easy to manage Scripts.

Follow these steps to view all Script Executors in your organization:

  1. Log on to ProcessMaker Platform.

  2. Click the Admin option from the top menu. The Users page displays.

The Script Executors page displays the following information in tabular format about Script Executors:

  • Language: The Language column displays for which Scripts the Script Executor runs based on its programming language.

  • Title: The Title column displays the name of the Script Executor.

  • Modified: The Modified column displays the date and time the Script Executor was last modified. The time zone setting to display the time is according to the ProcessMaker Platform instance unless your user profile's Time zone setting is specified.

ProcessMaker Platform provides the following Script Executors.

  • C# Executor: This is the default Script Executor to run Scripts developed using C#.

  • Java Executor: This is the default Script Executor to run Scripts developed using Java.

  • Node Executor: This is the default Script Executor to run Scripts developed using JavaScript.

  • LUA Executor: This is the default Script Executor to run Scripts developed using Lua.

  • Python Executor: This is the default Script Executor to run Scripts developed using Python.

  • R Executor: This is the default Script Executor to run Scripts developed using R.

Last updated

© Copyright 2000-2024 ProcessMaker Inc. All rights reserved.