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 of typed tasks that 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 workflow support systems are generated automatically.
This latest version features:
- A highly declarative API for specification of dynamic workflows
- A rich Ajax client interface for working on tasks
- Automatically generated editors for entering and updating data in workflows.
- A JSON based service API for spawning and interacting with running workflow instances
- The possibility to change running workflow instances
Snapshot for AFP2012 Course
For the Advanced Functional Programming course, a snapshot of Clean 2.4 + iTasks for 32-bit windows is available that works out of the box. You can download it here: iTasks-AFP2012-2-20121003.zip
Get from subversion
The iTask system is actively developed, but not regularly released. You can get the development trunk from our subversion repository. You can get started with iTasks by following the following three steps:
- Install a Clean 2.4 system for 32-bit Windows.
- Check out the iTask trunk https://svn.cs.ru.nl/repos/iTask-system/trunk to a directory named 'iTasks-SDK' in your Clean 2.4 directory.
- Follow the setup instructions in README.txt
Documentation 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:
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.