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.
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
The first thing you want to do after launching the playground, is to configure your playground’s keyboard configuration to match your real keyboard.
Camunda Modeler
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.
Robocorp Code
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.
Note
Due to the setup of the playground, browser locator picker in Robocorp Code is not fully functional.
RCC integration
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.
Zeebe Play
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 Simple Monitor
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.)
DMN simulator
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.
Note
In time of writing, Camunda DMN Simulator does not support all value types available in Zeebe.
FEEL repl
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.
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 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.
MinIO
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.
Vault
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.
Public folder
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 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
Reset Zeebe
Wrap folders for export
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