X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=README.md;h=da012439d977c3983792be9cabe66a1a6a3d4c03;hb=610881d0df0171859c373252a986d59cf12ce836;hp=a17c5847a37b61e6f0c1600ad0a6f2503240a088;hpb=2345d4c0418e3c23a74930b9a2f657fb4b73cb61;p=rhynodge.git diff --git a/README.md b/README.md index a17c584..da01243 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# Reactor +# Rhynodge ## Description -Reactor is a tool that lets you periodically execute tasks that depend on certain conditions. +Rhynodge is a tool that lets you periodically execute tasks that depend on certain conditions. Its concept is quite similar to websites like ifttt (“if this then that”): you evaluate an input condition (e. g. data from a website, Facebook or Twitter posts, incoming emails, existence of a file), and if it evaluates to “yes” you execute a certain action. -## Concepts +## Internal Concepts -The core of Reactor comprises ``Reaction``s which in turn consist of ``Query``s, ``Filter``s, ``Trigger``s, and ``Action``s. +The core of Rhynodge comprises ``Reaction``s which in turn consist of ``Query``s, ``Filter``s, ``Trigger``s, and ``Action``s. ### Query @@ -28,10 +28,16 @@ A trigger decides if, given the current state and the previous state, a notewort The result of a ``Trigger`` is an ``Output``. +### Watcher + +A watcher combines a query, a list of filters, and a trigger into a single unit which can be configured a lot easier than the separate components. For example, you could have a “Twitter” that finds new status updates for a username and that only needs to be configured with that username; the rest of the configuration is contained in the watcher. + +A ``Watcher`` does not do any processing but instead offers a ``Query``, a list of ``Filter``s, and a ``Trigger``. + ### Action If a trigger found a change, the action is then executed. Again, an action can be almost anything: it can send an email, it can execute programs, print documents, initiate phone calls, take a picture from a webcam — anything you can program can be used an an action. ## Configuration -Reactor’s configuration uses JSON files (I tried using XML first but apparently polymorphic deserialization is something that is not easily done with XML parsers). The format of a ``Chain`` configuration is pretty straight-forward and can be seen in the example configuration files. +Rhynodge’s configuration uses JSON files (I tried using XML first but apparently polymorphic deserialization is something that is not easily done with XML parsers). The format of a ``Chain`` configuration is pretty straight-forward and can be seen in the example configuration files.