Difference between revisions of "ITasks"

From Clean
Jump to navigationJump to search
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[File:itasks-logo.png|right]]
 
[[File:itasks-logo.png|right]]
The iTask system ('''iTasks''') is a toolkit for programming workflow management applications in [[Clean]].
+
The iTask system ('''iTasks''') is a task-oriented programming toolkit for programming workflow support applications in [[Clean]].
  
With this toolkit workflows can be speficied using combinators in a very high level declarative monadic style. Workflows consist
+
With this toolkit, interactive systems can be specified using combinators in a very high level declarative monadic style. Programs are constructed by combining typed 'tasks'. These tasks produce results that can be passed as parameters to other tasks. Tasks are constructed by combining
of typed tasks that produce results that can be passed as parameters to other tasks. Workflows are constructed by combining
 
 
single steps sequentially or in parallel.
 
single steps sequentially or in parallel.
From iTask specifications, executable workflow support systems are generated automatically.
+
From iTask specifications, executable web-based workflow support systems are generated automatically.
  
 
[[File:itasks2-gui.jpg|thumb|The iTask2 GUI]]
 
[[File:itasks2-gui.jpg|thumb|The iTask2 GUI]]
  
 
This latest version features:
 
This latest version features:
* A highly declarative API for specification of dynamic workflows
+
* A highly declarative API for specification of interactive systems as task compositions.
* A rich Ajax client interface for working on tasks
+
* Automatic generation of web-based user interfaces for entering and updating and viewing data.
* Automatically generated editors for entering and updating data in workflows.
+
* Automatic data persistance
* A JSON based service API for spawning and interacting with running workflow instances
+
* Automatic instant synchronization between different clients using html5 push technologies.
* The possibility to change running workflow instances
+
* Easy creation of JSON webservices
 +
* A builtin HTTP1.1 webserver
 +
* Integration framework for common client-side javascript libraries (for example google maps)
  
 
+
== Installation ==
== Download ==
+
Follow the instructions at [[Download Clean]] to install the ''Latest iTask and Clean Release''. Stable version (e.g. Clean 3.1) are not supported in combination with iTasks.
The iTask system is actively developed, but has no regular release schedule. We provide alpha builds on request or on special occasions such as use during courses.
 
 
 
The latest development release is version 10.8 (Aug. 2010) which you can download below.
 
 
 
[[media:iTasks-SDK-10.8.zip|Download iTasks SDK 10.8]].
 
 
 
You also need a preview release of Clean 2.3 with a modified compiler which you can download from the [https://wiki.clean.cs.ru.nl/Download_Clean Clean download page] or directly using the link below:
 
 
 
[[Media:Clean-iTasks-10.8.zip|Clean system for iTasks]]
 
 
 
== Getting Started ==
 
To get started you need both the latest [https://wiki.clean.cs.ru.nl/Download_Clean Clean release for iTasks] and the latest release of the iTasks-SDK, which can be downloaded from this page. To combine them follow these steps:
 
 
 
# Unzip the Clean system into any directory on your system.
 
# Unzip the iTasks-SDK-XX.zip into the root-folder of the Clean System. This will create a folder 'iTasks-SDK'. It is required to put the iTasks system in this directory for the 'iTasks'-environment to work.
 
# Follow the instructions in 'readme.txt'. A build of the AJAX web-client is already included in the release, so you don't have to create one for yourself.
 
  
 
== Documentation ==
 
== Documentation ==
Documentation of iTasks is still mostly done in scientific papers (look for iTasks on the [[Publications]] page).
+
You can find up-to-date documentation via the [https://cloogle.org Cloogle] search engine which indexes all standard libraries, external libraries, compiler errors, ABC instructions, builtins and syntax elements. Documentation of the concepts of iTasks is still mostly done in scientific papers (look for iTasks on the [[Publications]] page).
On this Wiki the following additional resources are available:
 
 
 
* [[Interfacing with the iTasks JSON API]]
 
  
 
== Browsers ==
 
== Browsers ==
 
+
The iTask system supports recent versions of Firefox, Chrome and Edge.
The iTask system works with most browsers. IE 9 is a known exception, we are working on that.
 
 
 
Using the iTask system with Firefox can be very slow. This is caused by a delay that is added by Firefox for all events for localhost. There are several solutions and workarounds:
 
 
 
* Find out what your current ip address and use that instead of '''http://localhost/'''.
 
* Better: use '''http://127.0.0.1/''' instead of '''http://localhost/'''.
 
* best: change the settings of Firefox.
 
# type as url: '''about:config'''
 
# search for '''v6''', you will see '''network.dns.disableIPv6'''
 
# toggle the value of this parameter to '''True'''.
 
  
 
== Read more ==
 
== Read more ==
* [[iTasks_papers|Papers about iTasks]]
+
* [[ST_Publications|Papers about iTasks]]
 
* [[Workflow examples]]
 
* [[Workflow examples]]
 
* [[ITasksProjectIdeas| Ideas for projects to improve iTasks]]
 
* [[ITasksProjectIdeas| Ideas for projects to improve iTasks]]

Latest revision as of 08:01, 22 September 2022

Itasks-logo.png

The iTask system (iTasks) is a task-oriented programming toolkit for programming workflow support applications in Clean.

With this toolkit, interactive systems can be specified using combinators in a very high level declarative monadic style. Programs are constructed by combining typed 'tasks'. These tasks produce results that can be passed as parameters to other tasks. Tasks are constructed by combining single steps sequentially or in parallel. From iTask specifications, executable web-based workflow support systems are generated automatically.

The iTask2 GUI

This latest version features:

  • A highly declarative API for specification of interactive systems as task compositions.
  • Automatic generation of web-based user interfaces for entering and updating and viewing data.
  • Automatic data persistance
  • Automatic instant synchronization between different clients using html5 push technologies.
  • Easy creation of JSON webservices
  • A builtin HTTP1.1 webserver
  • Integration framework for common client-side javascript libraries (for example google maps)

Installation

Follow the instructions at Download Clean to install the Latest iTask and Clean Release. Stable version (e.g. Clean 3.1) are not supported in combination with iTasks.

Documentation

You can find up-to-date documentation via the Cloogle search engine which indexes all standard libraries, external libraries, compiler errors, ABC instructions, builtins and syntax elements. Documentation of the concepts of iTasks is still mostly done in scientific papers (look for iTasks on the Publications page).

Browsers

The iTask system supports recent versions of Firefox, Chrome and Edge.

Read more