Foopipes 2.4 with C# scripting released 2017-09-07

Foopipes 2.4 with C# scripting released

Foopipes 2.4 is here!

Nodes to Foopipes to Google Analytics

The big news is, of course, C# scripting capabilities using Roslyn. C# scripting combined with community written "add-ins" is a welcome addition to the existing possibility to write Node.js modules and custom plugins.

But that is not it - we've also created stand alone downloads for those that can't or won't run Foopipes in Docker. Downloads are available for various versions of Windows, Linux, and macOS.

Add-Ins

An Add-In differs from a Plug-In by the fact that they're very lightweight and are compiled during startup. No boiler plate code is necessary - they go straight to the point and are very easy to write and distribute. They can even be written inline in the configuration file.

addins:
  - script: |
      PipelineTask("myTask")
        .Json((context, jsonData, ct) =>
          {
            // Do something here
            return jsonData;
          });

Add-ins are not necessarily simple pipeline tasks. Complex services can also be created this way.

Want to see an example? Check out this article about how to use Foopipes for aggregating encrypted telemetry data into Google Analytics.

Community Add-ins

One of the best parts with Add-Ins is that they can be loaded from an URL. That means that we can now have a public git-repository with community created add-ins, that can easily be loaded and referenced in your configuration file.

The repository can be found here: https://github.com/AreteraAB/Foopipes.Addins

addins:
  - url: "https://raw.githubusercontent.com/AreteraAB/Foopipes.Addins/master/Tail/Tail.csx"

services: 
  logtail: 
    type: tail
    filename: "/project/logs/myfile.log"

pipelines: 
  - 
    when: 
      - logtail
    to:
      - log 

If you use a .csx extension for your add-in files, you'll get automatic syntax highlighting and code completion in Visual Code or Visual Studio.

We're expecting many add-ins will be wrappers around an already existing task, making it easier to invoke external service API:s without knowing the details.

addins:
  - url: "https://raw.githubusercontent.com/AreteraAB/Foopipes.Addins/master/Mailgun/mailgun.csx"

pipelines: 
  -
    when: 
      - queue: entry_submitted    
    to:
      - mailgun.send
        to: "#{email}"
        subject: "Thank you, #{name}!"
        text: Thank you for your submission!

Stand alone downloads

Containers are great, but sometimes they make things a bit more difficult than they need to be. Also, older infrastructure can easily set limits of what's possible or desirable. Therefore Foopipes can now be downloaded and installed on various operating systems: Windows, Linux, and macOS. Download here.

Questions? Join us in Slack!