This version introduces “extended rules” within Conctr’s action triggers system.

New Features and Improvements

Extended Rules

In Conctr, rules have been a way to pair a condition with a rule to allow
Conctr to react to certain events. In this release, we have extended rules to
allow connecting a condition with a chain of actions. This gives you much
more flexibility in the way you manage your data throughout the rule, including
transforming, splitting, and buffering.

Flow-Control Actions

To facilitate useful extended rules which help to implement application logic,
we have introduced a new class of actions, called flow-control actions.
These are actions which are designed to be intermediary between other actions
or conditions. They don’t do anything useful on their own, but can be useful
with managing the flow of data through a rule. The available flow-control
actions are:

  • Buffer: buffers multiple inputs to output an array
  • Change Detect: detects whether input has changed (compared to the previous input)
  • Delay: delays its output
  • Filter: custom filtering to pass or drop packets
  • Random: randomly load-balances between multiple outputs
  • Round Robin: load-balances between multiple outputs in a round-robin fashion
  • Split: splits different fields of an object to different outputs
  • Switch/Case: selects between multiple outputs based on values in the input

Inputs and Outputs

To enable more flexible actions we have introduced the concept of inputs and
outputs to actions. These are like “channels” of input and output that exist
on each action. Instead of simply connecting an action to another action, you
will connect an output of one action to an input of another action. Some
inputs and outputs are “fixed”, meaning they are always available for any
action of that type. Examples are the “pass” and “fail” outputs for “Filter”.
Some actions have a variable number of outputs defined by the user, for example
“Random” randomly selects between a user-defined list of outputs. Each of the
outputs can be connected to different downstream actions.

Transform Classification

Transforms are user-defined pieces of code that Conctr can run on your behalf
in various scenarios. They help to implement custom logic such as parsing or
filtering of data. In this release, we do away with our old and unused system
of classifying transforms by “argument” and “operation” and introduce a new,
more intuitive system using a list of tags.

New API Methods

Action Route
Search All Transforms /admin/apps/:app_id/transforms/search
Search Latest Rules /admin/apps/:app_id/rules/latest/search

For more information see the Conctr API docs

Changes and Bug Fixes

v1.3.0 (2018-10-16)

  • Fix bug with failing to retry timers for schedules