{"action":"created","issue":{"url":"https://api.github.com/repos/nextflow-io/nextflow/issues/88","labels_url":"https://api.github.com/repos/nextflow-io/nextflow/issues/88/labels{/name}","comments_url":"https://api.github.com/repos/nextflow-io/nextflow/issues/88/comments","events_url":"https://api.github.com/repos/nextflow-io/nextflow/issues/88/events","html_url":"https://github.com/nextflow-io/nextflow/issues/88","id":117395560,"number":88,"title":"Add a web UI that allows a user to launch and monitor a workflow execution","user":{"login":"pditommaso","id":816968,"avatar_url":"https://avatars.githubusercontent.com/u/816968?v=3","gravatar_id":"","url":"https://api.github.com/users/pditommaso","html_url":"https://github.com/pditommaso","followers_url":"https://api.github.com/users/pditommaso/followers","following_url":"https://api.github.com/users/pditommaso/following{/other_user}","gists_url":"https://api.github.com/users/pditommaso/gists{/gist_id}","starred_url":"https://api.github.com/users/pditommaso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pditommaso/subscriptions","organizations_url":"https://api.github.com/users/pditommaso/orgs","repos_url":"https://api.github.com/users/pditommaso/repos","events_url":"https://api.github.com/users/pditommaso/events{/privacy}","received_events_url":"https://api.github.com/users/pditommaso/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-17T16:43:26Z","updated_at":"2015-11-17T16:47:28Z","closed_at":null,"body":"The goals of this enhancement is to provide nextflow with a web graphical user interface that allows a user to: \r\n\r\n- [ ] provide input parameters \r\n- [ ] launch the workflow execution \r\n- [ ] monitor the process executions \r\n- [ ] stop/kill the workflow execution \r\n\r\n\r\n### Input parameters\r\n\r\nNextflow already implements an input parameters mechanism that allows a user to provide input values as command line options. \r\n\r\nThe same will be used to display an input form allowing a user to provide a workflow inputs. However in order to render an input field are required extra metadata that currently are not available. The required metadata will be a subset of the HTML5 field [input types and validation attributes](https://developer.mozilla.org/en/docs/Web/HTML/Element/Input) (to be defined). \r\n\r\nUI input fields will be defined in the `nextflow.config` files, using a built-in method called `field` (temporary name). For example: \r\n\r\n    params {\r\n       alpha = field foo, type: 'text', label: 'Alpha value'\r\n       beta = field bar, type: 'file' label: 'Beta value'\r\n       delta = field baz, type: 'choice', label: 'Delta value'  \r\n    } \r\n\r\nThe first argument will define the field default value (for consistency with the current mechanism). The other named attributes will define the input field metadata. \r\n\r\n### Web server \r\n\r\nNextflow will need to embed an web server container that will take care of render the user interface and display the workflow/processes runtime informations. \r\n\r\nPossible candidates are: \r\n\r\n* [Jetty](https://www.eclipse.org/jetty/)\r\n* [Spark](http://sparkjava.com/)\r\n* [Ratpack](https://ratpack.io/)\r\n* [Native HTTP server](http://docs.oracle.com/javase/8/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/package-summary.html)\r\n* [NanoHttpd](https://github.com/NanoHttpd/nanohttpd)\r\n\r\nThe web server instance will need also to manage a nextflow session, run it in the background, capture the standard output and display in as a web page for monitoring purpose. \r\n \r\n"},"comment":{"url":"https://api.github.com/repos/nextflow-io/nextflow/issues/comments/157427748","html_url":"https://github.com/nextflow-io/nextflow/issues/88#issuecomment-157427748","issue_url":"https://api.github.com/repos/nextflow-io/nextflow/issues/88","id":157427748,"user":{"login":"pditommaso","id":816968,"avatar_url":"https://avatars.githubusercontent.com/u/816968?v=3","gravatar_id":"","url":"https://api.github.com/users/pditommaso","html_url":"https://github.com/pditommaso","followers_url":"https://api.github.com/users/pditommaso/followers","following_url":"https://api.github.com/users/pditommaso/following{/other_user}","gists_url":"https://api.github.com/users/pditommaso/gists{/gist_id}","starred_url":"https://api.github.com/users/pditommaso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pditommaso/subscriptions","organizations_url":"https://api.github.com/users/pditommaso/orgs","repos_url":"https://api.github.com/users/pditommaso/repos","events_url":"https://api.github.com/users/pditommaso/events{/privacy}","received_events_url":"https://api.github.com/users/pditommaso/received_events","type":"User","site_admin":false},"created_at":"2015-11-17T16:47:28Z","updated_at":"2015-11-17T16:47:28Z","body":"RFC @emi80 @pbelmann"}}