Playground introduction

Open automation playground desktop is a fully preconfigured virtual desktop environment for testing and learning how Robot Framework could be used to implement business process automation with Camunda Platform.

Automation playground desktop with preconfigured shortcuts.

Technically, the playground desktop is a NixOS based Xfce Desktop Environment, configured to look minimal and simple. To make it easier to ease focus on learning.

Tip

Do not try to manually update the applications on the playround, or install new ones. Take it as a managed environment.

Keyboard configuration

kbd UI desktop icon

The first thing you want to do after launching the playground, is to configure your playground’s keyboard configuration to match your real keyboard.

At first, disable Use system defaults. Then add your own keyboard layout and remove all the other to make sure that yours stay always active.

Camunda Modeler

Camunda Modeler desktop icon

Camunda Modeler is the open source BPMN, DMN (and user task form) modeling tool made available for free by Camunda. The playground version comes with preinstalled Token Simulation plugin.

Camunda Modeler can also deploy and start processes at the Zeebe running on the playground (at http://localhost:26500/ without authentication).

Robocorp Code

Robocorp Code desktop icon

Robocorp Code is the open source Robot Framework development extension for VSCode (or VSCodium) made available for free by Robocorp. Together with Robot Framework LSP extension, it provides the best Robot Framework based automation development experience available.

Robocorp Code and Robot Framework LSP extensions together allow to debug Robot Framework automation packages with example data and visual breakpoints.

Note

Due to the setup of the playground, browser locator picker in Robocorp Code is not fully functional.

RCC integration

RCC integration desktop icon

RCC icon launches a new terminal window with parrot-rcc Zeebe worker integration. It delegates Zeebe jobs and their variables to their respective Robot Framework automation packages, and submits responses back to Zeebe.

RCC is an open source tool by Robocorp for executing Robot Framework or Python automation packages (while implicitly also managing their dependencies). parrot-rcc is a bridge between RCC style “robots” using RPA Framework work items and Zeebe-run BPMN processes.

RCC integration is not run automatically, but can be started from the desktop when RCC execution is needed. It runs with debug logging enabled for more insight how it works, and to ease access to the Robot Framework log files it creates.

Zeebe Play

Zeebe Play desktop icon

Zeebe Play is an open source developer tool for playing with and learning how BPMN processes are being executed by Zeebe. Lately, Play has been getting more love from its developers than Simple Monitor, and is currently the recommended open source user interface for learning process automation and orchestration with Zeebe. (Zeebe Play is a Camunda Community project and its use is not officially supported by Camunda.)

Zeebe Play allows to interact with the running processes with completing their service tasks, triggering timers and publishing BPMN messages directly from its user interface.

Zeebe Simple Monitor

Zeebe Simple Monitor desktop icon

Zeebe Simple Monitor is an open source web application for observing the running and completed processes on Zeebe engine. It is mainly intented for developer use, but it could work as a base for building monitoring small production deployments [1]. (Zeebe Simple Monitor is a Camunda Community project and its use is not officially supported by Camunda.)

Zeebe Simple Monitor is mostly read-only user-interface for observing processes. Yet, it does support creating new process instances and resolving incidents.

DMN simulator

DMN simulator desktop icon

DMN simulator is a free to use web service from Camunda to try out how DMN tables get executed. After execution, it uses DMN table itself to visualize the effective rows.

Unfortunately, there is no open source alternative for Camunda DMN Simulator yet.

Note

In time of writing, Camunda DMN Simulator does not support all value types available in Zeebe.

FEEL repl

FEEL repl desktop icon

FEEL icon launches a new terminal window with FEEL repl (Read-Eval-Print-Loop) to help in learning FEEL Friendly Enough Expression Language). It is a simple functional expression language defined in DMN specification, and is the only built-in expression language supported by Zeebe.

FEEL repl helps to test out FEEL expressions with the Camunda FEEL implementation, before using them in BPMN or DMN.

Note

While FEEL repl uses the same implementation as Camunda Platform, an unofficial JavaScript implementation at FEEL playground could be more convenient, as long as you are ready to double check weird results (seen with unaryTests) with the official implementation.

Here is an embedded example of a full FEEL expressions (those used in input/output mappings and gateway expressions of BPMN in Camunda):

And here is another one for FEEL unary test expression used in DMN decision table:

Mailhog

Mailhog desktop icon

Mailhog is an open source development email service with both SMTP and HTTP API. In also has nice web user interface for reading the mail. Traditional email is still in widely used, and sending email is popular way to communicate information in business processes. Mailhog makes it possible to test out email tasks on the playground.

On the playground, Mailhog waits for email at SMTP port is 1025, and the web service is available at http://localhost:8025/.

MinIO

MinIO desktop icon

MinIO is an S3 compatible open source file storage. On the playground MinIO is used to store and manage Robot Framework execution logs and RPA Framework work item files. While MinIO is used transparently by the RCC integration (parrot-rcc), MinIO user interface could be used to access the files outside the processes, or for cleaning up the storage.

Both the username and password for accessing MinIO on the playground is simply minioadmin. The playground comes with two buckets: rcc for Robot Framework execution logs and zeebe to store RPA Framework work item files by their related business processes.

Vault

Vault UI desktop icon

Hashicorp Vault is a popular open source secret management service. It is also a one possible option to provide secrets for Robot Framework automation run by RCC integration.

The most simple Vault feature static key value style secret management. On the playground, the admin token to enter Vault is simply secret.

Public folder

Public-folder shortcut icon

The playground, when run at Google Compute Engine, serves the Public-folder shortcut at https://[ipv4-address]/pub/ to make it easier to export your work from the playground. Simply drag files here and they become downloadable to your local machine.

Robots folder

Robots-folder shorcut icon

Robots-folder shortcut opens the folder shared with both Robocorp Code and RCC to develop and discover Robot Framework code packages.

Tips and tricks

Open command line

You may open command line terminal at the desktop or the current folder by selecting Open Terminal Here from the context menu (usually opened with a right click on mouse or track pad).

Reset Zeebe

By typing reset-zeebe on terminal window command line, you’ll be able to reset Zeebe, Zeebe Simple Monitor and Zeebe Play back to their clean initial states.

Wrap folders for export

To make it easier to export your work from Public* folder, you should archive them first into single easily downloadable files. This can be done by selecting the folders and files to be exported and then by selecting Create Archive… from the context menu (usually opened with a right click on mouse or track pad).

More applications

It is possible to search for applications not included on the playground by opening a terminal and typing nix search nixpkgs application and, when lucky, run it by typing nix run nixpkgs#application. For example nix run nixpkgs#gimp or nix run nixpkgs#libreoffice. The first runs for these commands will take some time.

Upgrading playground

If the playground upstream configuration has been updated, it is possible to do in-place upgrade for the playground virtual machine.

On Vagrant, open a new terminal window and type:

sudo nixos-rebuild switch --flake github:datakurre/automation-playground/main#vagrant

On Google Compute Engine, open a new terminal window and type:

sudo nixos-rebuild switch --flake github:datakurre/automation-playground/main#gce