I came across a workflow engine at an public ftp (government site) site back in late 1999 using Tcl as it core programming language. The only copyright notice is from a university.

What can be done with this. Since it was a public site, and no other notice of use was ever disclosed on the code or site...

It is a very good workflow engine.

I have rewritten the database connectivity to support ODBC, made it an extension, and added a few new features...

Note that only the creator, or possibly the employer of the creator, can make changes or clarification to a license/copyright.

LV If the code has no specific license or copyright indicator, then it is owned strictly by the authors. One cannot make it available, and while I am not an intellectual property lawyer (IANAIPL) I certainly would be recommending to any company thinking of using the code in a product that they do a LOT of research before doing so with the condition of the code being what is described above.

AK I'm a bit lost to with regard to the information above. Is it possible to add an url referencing the ftp site or any other place having this workflow engine ?

Anyone want to tell me what a workflow engine is?

AK If I understand the term right a system which can be programmed with (business) rules and then helps to organize the flow of documents in an organization. Like for example if I apply for a vacation I go to a website, enter the info and the wf engine then transports it someone in HR etc. who can (dis)approve the application, based on availability of such people. There's more to it I guess.

Well, the ftp site went private, it seems that that ftp site was not supposed to be public. Oh well, I downloaded it and liked what they did. The site was publicly open, and no restrictions where placed on the code.

The originators left JPL to form a new company and had licensed the code from NASA ( ), but they parted from using Tcl and went to java for J2EE...But on November 9, 2001, the company closed it doors....

As for the definition, it is a complete adhoc workflow engine from which you write code using Tcl and custom functions to provide workflow steps and tasks to process stuff or assign tasks to users.... or as it was explained above by AK...

the backend being in Tcl as an executable, the web cgi being perl, the web server being java...From which I redesign the backend to be an extension, the web server and cgi are now pure Tcl...I've added ODBC to the built-in microsoft sql stuff...

I found some references to 'WWWork' - is this the code that you mention?

I would be interested in seeing this code.

See WWWorkflow: World Wide Web based Workflow

Another Tcl based workflow engine is 'wftk', see ; ZLM: I don't think this is "Tcl based".|%RestFlow%|% is a dataflow programming language and runtime engine designed to make it easy for scientists to build and execute computational pipelines (see Key Features of RestFlow). These scientific workflows can include steps for automated sample handling, instrument control, data acquisition, and data analysis. Steps in a scientific workflow may invoke third-party scientific applications or be defined using any of a variety of scripting languages familiar to scientists including Python, Bash, Perl, and Tcl.

In addition to scheduling steps in a workflow and managing the flow of data through those steps, RestFlow organizes the intermediate and final data products of each run of a workflow in directory structures that make it easy to find and evaluate results.

RestFlow is named for its strategy for scientific software integration. It facilitates the integration of variable-based scripts and program units via the flow of data items whose values are at rest (see Dataflow Programming Concepts). Additionally, its use of URI templates to organize data produced during a workflow run is inspired by the REST paradigm.

RestFlow was originally developed by the Macromolecular Crystallography group at the Stanford Synchrotron Radiation Lightsource and the DAKS group at UC Davis as part of the AutoDrug project.

OmniFlow is an XML/TclTk implementation of a universal, user-configurable and highly interactive client that creates a taskflow-oriented programming environment.

A user can (1) write a hierarchical taskflow configuration, (2) invoke the universal client that reads the configuration and renders its GUI, and (3) interact with the taskflow in a number of ways.

The recursive schema of component instances is conveniently captured as an extension of XML in a collaborative distributed task mark-up language called cdtML. A generic Tcl-XML parser reads both the cdtML schema and the user-created cdtML task description and outputs a taskflow description in TclTk. This in turn generates the interactive GUI as the hierarchical taskflow, waiting for user inputs.

A user may choose to interact in any of the following ways: reconfigure the taskflow interconnections, view or edit data, descend/ascend the taskflow hierarchy, select the mode of execution, invoke the taskflow, abort the taskflow (if already executing), reset the state of the taskflow, etc.