Difference between revisions of "ITasks"
Bas Lijnse (talk | contribs) |
|||
(20 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
The iTask system ('''iTasks''') is a task-oriented programming toolkit for programming workflow support applications in [[Clean]]. | The iTask system ('''iTasks''') is a task-oriented programming toolkit for programming workflow support applications in [[Clean]]. | ||
− | With this toolkit | + | 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. | 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 | + | * 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 | |
− | * A | + | * 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 == |
− | + | Download and unzip a [[Download Clean | Clean Development Release]]. It contains iTasks by default. Clean 2.4 is not supported in combination with iTasks. | |
− | |||
− | + | Mac and Linux users should follow the installation instructions provided in the README.txt. | |
− | |||
− | |||
− | |||
− | |||
− | |||
== Documentation == | == Documentation == | ||
Documentation of iTasks is still mostly done in scientific papers (look for iTasks on the [[Publications]] page). | Documentation of iTasks is still mostly done in scientific papers (look for iTasks on the [[Publications]] page). | ||
− | |||
− | |||
− | |||
== Browsers == | == Browsers == | ||
− | The iTask system works with most browsers. IE 9 is a known exception, we are working on that. | + | The iTask system works with most modern 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: | 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: | ||
Line 47: | Line 39: | ||
== Read more == | == Read more == | ||
− | * [[ | + | * [[ST_Publications|Papers about iTasks]] |
* [[Workflow examples]] | * [[Workflow examples]] | ||
* [[ITasksProjectIdeas| Ideas for projects to improve iTasks]] | * [[ITasksProjectIdeas| Ideas for projects to improve iTasks]] |
Revision as of 10:27, 28 April 2016
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.
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
Download and unzip a Clean Development Release. It contains iTasks by default. Clean 2.4 is not supported in combination with iTasks.
Mac and Linux users should follow the installation instructions provided in the README.txt.
Documentation
Documentation of iTasks is still mostly done in scientific papers (look for iTasks on the Publications page).
Browsers
The iTask system works with most modern 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.