Scriptella Shell driver is available for early testing

Skip to first unread message

Fyodor Kupolov

Jan 31, 2020, 2:22:34 PM1/31/20
to Scriptella ETL
Hi All,

I've just uploaded a 1.3-snapshot of Scriptella artifacts to Sonatype repository. It introduces a new driver for running shell scripts -

The idea is simple. The query works by executing a shell script and exporting its output as a set of rows,
each row representing a line in the output.
Script element works by sending output of the script to stdout or resource specified by the URL connection parameter. Example:

    <!-- The shell script of the query element produces 2 lines. They are consumed by the inner script element
    which is printing every line of the consumed row prepended with "Exported" prefix. -->
    <query connection-id="in">
        echo Line${1}
        echo Line2
        <script connection-id="out">
            echo Exported $row

It also provides limited abstraction from the operating system shell environment by means of <dialect> element:

<script connection-id="in">
<dialect name=".*win.*">
Echo Running Windows
<dialect name=".*linux.*">
echo Running Linux/Unix
<dialect name=".*mac.*">
echo Running Mac OS

It is inspired by the driver suggested in the early days of Scriptella, but the actual implementation got lost due to javaforge shutdown. 
One of the immediate use-cases - it will serve as a replacement for the mail driver, which is going to be removed in 1.3 due to compatibility problems with JDK11.
But there are many more usages for shell scripts. 

Connection declaration:
<connection id="out" driver="shell" />


Jun 11, 2020, 1:10:20 AM6/11/20
to Scriptella ETL
It's a bit late, but want to say a big THANK YOU for continuing working on this wonderful tool.  This is one of the best tools I've discovered, and I use it daily for the 10+ years. You don't know how much time it has saved me.  I often have to aggregate data from different sources: text, csv, multiple databases, with complicated logics. The ability to be able to call a programming language like Python or Java allows me to do almost anything I want in Scriptella. Nothing fancy - I just that a tool that I can invoke from the command line, run via a cron job, no drag-and-drop GUI required.  Scriptella is exactly what I need for many of my jobs.

Thank you!

Fyodor Kupolov

Jul 20, 2020, 6:40:41 PM7/20/20
to Scriptella ETL
Thank you, Lucie!
Reply all
Reply to author
0 new messages