Rule: Demo-data-exploration-additional-info
loading x elements...

Name: Demo-data-exploration-additional-info

Version: 2

Discussion Thread

NOTE: this Rule has been deleted.

There is a newer version of this Rule.

Creator: floriandietz@elody.com

This works alongside Demo-data-exploration and generates additional informative messages for the user.

ID: 258

Created: Feb. 7, 2019, 2:24 p.m.

full definition:

The below is the JSON description of this object.

It is annotated with links to the documentation of each component.

You can hide fields with default values to make things clearer, and copy it to a clipboard to make creating similar Rules and Options easier.

Rule

{ "name" : "Demo-data-exploration-additional-info", "description" : "This works alongside Demo-data-exploration and generates additional informative messages for the user.", "dependencies" : [

Dependency

{ "symbol" : "demo_data_exploration" }
,

Dependency

{ "symbol" : "show_tutorial_information" }
], "threshold" : 2.0, "trigger" :

Trigger

{ }
, "actions" : [

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-1", "name" : "demo-data-exploration-additional-info-stage-1", "confidence" : 9000.0, "trigger" :

Trigger

{ }
, "actions" : [

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Note</b></p>\n<p>These color-coded notes are added to explain what goes on in the background. To turn them off, just remove the symbol show_tutorial_information in the Scenario Plan that got you to this page.</p>\n<p>Note that while this current scenario is about analyzing a file, you can set up Scenario Plans of your own for any other type of software task.</p>\n<p>If you have any programs on github, you can upload them to Elody and create a quickstart-link to allow other people to run and test them online with just one click.</p>\n</div>" }
] }
,

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Note</b></p>\n<p>The analysis of the file proceeds in several separate tasks.</p>\n<p>These tasks are completely independent of each other and can be optimized separately, but can also be connected seamlessly.</p>\n</div>" }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-2", "name" : "demo-data-exploration-additional-info-stage-2", "confidence" : 9000.0, "trigger" :

Trigger

{ "arguments" : [

Tag filter (for search)

{ "type" : "tag", "symbol" : "task_obtain_file_from_user" }
] }
, "actions" : [

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 1: Get a file from the user</b></p>\n<p>Right now, you can either use a predefined example file or upload a file of your own.</p>\n<p>Later on, we will also add the ability to access SQL databases.</p>\n</div>" }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-3", "name" : "demo-data-exploration-additional-info-stage-3", "confidence" : 9000.0, "trigger" :

Trigger

{ "arguments" : [

Tag filter (for search)

{ "type" : "tag", "symbol" : "task_convert_file_type" }
] }
, "actions" : [

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 2: Convert the file into a format we can work with</b></p>\n<p>Right now, Elody can work with files in Excel, CSV or Pandas Pickle format.</p>\n<p>Do you need to work with a different format? You could upload a program that can convert the format you need, and from then on Elody will be able to work with those files, to the benefit of everyone.</p>\n<p>Once enough people have contributed, Elody will be able to work with even the weirdest files, and will be able to fix most common parsing, encoding and quotation errors automatically.</p>\n<p>You will no longer have to google the problem or look it up on Stackoverflow, because the same people who explain how to fix the problem on Stackoverflow today will write programs to just let Elody fix the problem automatically tomorrow.</p>\n<p></p>\n</div>" }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-4", "name" : "demo-data-exploration-additional-info-stage-4", "confidence" : 9000.0, "trigger" :

Trigger

{ "arguments" : [

Tag filter (for search)

{ "type" : "tag", "symbol" : "task_data_cleansing_and_analysis_for_pandas" }
] }
, "actions" : [

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 3: Clean and analyze the file</b></p>\n<p>This task covers a lot of different things, such as the following:</p>\n<ul>\n<li>Convert strings to numbers, dates or timedeltas where possible.</li>\n<li>Recognize when a string is a category and when it is a freeform text field and offer to correct likely typos in it.</li>\n<li>Identify and remove outliers in numerical columns.</li>\n</ul>\n<p>Some of these things are done automatically, while for others the user is asked for confirmation. Advanced users can customize this behavior.</p>\n<p>This whole task is completely modular and extensible, so that anyone can contribute and improve it further.</p>\n<p>If you have an idea for a useful type of analysis, you can simply upload a program for it and integrate it with what is already there.</p>\n</div>" }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-5", "name" : "demo-data-exploration-additional-info-stage-5", "confidence" : 9000.0, "trigger" :

Trigger

{ "arguments" : [

Tag filter (for search)

{ "type" : "tag", "_comment" : "we wait for require_present_table_main_info here instead of task_present_table_for_pandas because a visualization of only a single column of the table can also happen during the analysis, to let the user inspect things.", "symbol" : "require_present_table_main_info" }
] }
, "actions" : [

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 4: Visualize the results of the analysis</b></p>\n<p>All of the below visualizations are actually embedded websites, so they can be arbitrarily complex and can even interact with other websites (but only if you explicitly give us permission to do so, so your data won't be leaked).</p>\n<p>If you have a better idea for how to visualize this information, or if you simply know how to make the graphs prettier, go ahead and upload your programs. Elody will use whichever visualization has the highest rating.</p>\n</div>" }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-6", "name" : "demo-data-exploration-additional-info-stage-6", "confidence" : 9000.0, "trigger" :

Trigger

{ "arguments" : [

Tag filter (for search)

{ "type" : "tag", "symbol" : "task_explore_data_for_pandas" }
] }
, "actions" : [

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Note</b></p>\n<p>Developers can choose to ask users for feedback. Users can give ratings and make comments.</p>\n<p>Comments help developers improve their programs.</p>\n<p>Elody uses the rating to decide which programs should get executed and which should not.</p>\n</div>" }
] }
,

Create a Message

{ "type" : "create_message", "message_components" : [

HTML component

{ "type" : "html", "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 5: Advanced analyses</b></p>\n<p>Depending on what was found so far, different types of advanced analyses may become possible.</p>\n<p>If your file has a prominent date column, then a timeseries analysis or a prediction may be in order. If it has a large number of categorical variables, then how about a correlation analysis?</p>\n<p>Anyone can upload and contribute any algorithm, and Elody will offer any of them that apply to your file.</p>\n<p>There isn't much here right now, since we are just starting out, but since anyone can contribute, this will change quickly.</p>\n<p>Would <em>you</em> like to help us build the future of software execution? If so, have a look at <a target=\"_blank\" href=\"/tutorial\">the tutorial</a>.</p>\n</div>" }
] }
] }
] }
] }
] }
] }
] }
], "existing_variables" : { "demo-data-exploration-additional-info-stage-1" :

Variable

{ "type" : "option" }
} }

Rule

{ "name" : "Demo-data-exploration-additional-info", "description" : "This works alongside Demo-data-exploration and generates additional informative messages for the user.", "dependencies" : [

Dependency

{ "symbol" : "demo_data_exploration", "weight" : 1.0, "comment_filter" : null }
,

Dependency

{ "symbol" : "show_tutorial_information", "weight" : 1.0, "comment_filter" : null }
], "threshold" : 2.0, "trigger" :

Trigger

{ "repeat" : "never", "arguments" : [], "deactivate_if" : {} }
, "actions" : [

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-1", "name" : "demo-data-exploration-additional-info-stage-1", "description" : null, "confidence" : 9000.0, "trigger" :

Trigger

{ "repeat" : "never", "arguments" : [], "deactivate_if" : {} }
, "display" : null, "actions" : [

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Note</b></p>\n<p>These color-coded notes are added to explain what goes on in the background. To turn them off, just remove the symbol show_tutorial_information in the Scenario Plan that got you to this page.</p>\n<p>Note that while this current scenario is about analyzing a file, you can set up Scenario Plans of your own for any other type of software task.</p>\n<p>If you have any programs on github, you can upload them to Elody and create a quickstart-link to allow other people to run and test them online with just one click.</p>\n</div>", "external_domains" : [] }
] }
,

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Note</b></p>\n<p>The analysis of the file proceeds in several separate tasks.</p>\n<p>These tasks are completely independent of each other and can be optimized separately, but can also be connected seamlessly.</p>\n</div>", "external_domains" : [] }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-2", "name" : "demo-data-exploration-additional-info-stage-2", "description" : null, "confidence" : 9000.0, "trigger" :

Trigger

{ "repeat" : "never", "arguments" : [

Tag filter (for search)

{ "type" : "tag", "var" : null, "role" : "required", "search_type" : "last", "search_postfilter" : null, "targeted_by" : [], "equals" : null, "created_by" : null, "created_earlier_than" : null, "created_in_same_event_as" : null, "created_later_than" : null, "is_reserved" : null, "symbol" : "task_obtain_file_from_user", "comment" : null, "comment_contains" : null, "comment_matches" : null, "weight" : null, "min_weight" : null, "max_weight" : null, "nullified" : false, "requirement_is_provided" : null, "task_is_finished" : null, "arguments" : {} }
], "deactivate_if" : {} }
, "display" : null, "actions" : [

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 1: Get a file from the user</b></p>\n<p>Right now, you can either use a predefined example file or upload a file of your own.</p>\n<p>Later on, we will also add the ability to access SQL databases.</p>\n</div>", "external_domains" : [] }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-3", "name" : "demo-data-exploration-additional-info-stage-3", "description" : null, "confidence" : 9000.0, "trigger" :

Trigger

{ "repeat" : "never", "arguments" : [

Tag filter (for search)

{ "type" : "tag", "var" : null, "role" : "required", "search_type" : "last", "search_postfilter" : null, "targeted_by" : [], "equals" : null, "created_by" : null, "created_earlier_than" : null, "created_in_same_event_as" : null, "created_later_than" : null, "is_reserved" : null, "symbol" : "task_convert_file_type", "comment" : null, "comment_contains" : null, "comment_matches" : null, "weight" : null, "min_weight" : null, "max_weight" : null, "nullified" : false, "requirement_is_provided" : null, "task_is_finished" : null, "arguments" : {} }
], "deactivate_if" : {} }
, "display" : null, "actions" : [

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 2: Convert the file into a format we can work with</b></p>\n<p>Right now, Elody can work with files in Excel, CSV or Pandas Pickle format.</p>\n<p>Do you need to work with a different format? You could upload a program that can convert the format you need, and from then on Elody will be able to work with those files, to the benefit of everyone.</p>\n<p>Once enough people have contributed, Elody will be able to work with even the weirdest files, and will be able to fix most common parsing, encoding and quotation errors automatically.</p>\n<p>You will no longer have to google the problem or look it up on Stackoverflow, because the same people who explain how to fix the problem on Stackoverflow today will write programs to just let Elody fix the problem automatically tomorrow.</p>\n<p></p>\n</div>", "external_domains" : [] }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-4", "name" : "demo-data-exploration-additional-info-stage-4", "description" : null, "confidence" : 9000.0, "trigger" :

Trigger

{ "repeat" : "never", "arguments" : [

Tag filter (for search)

{ "type" : "tag", "var" : null, "role" : "required", "search_type" : "last", "search_postfilter" : null, "targeted_by" : [], "equals" : null, "created_by" : null, "created_earlier_than" : null, "created_in_same_event_as" : null, "created_later_than" : null, "is_reserved" : null, "symbol" : "task_data_cleansing_and_analysis_for_pandas", "comment" : null, "comment_contains" : null, "comment_matches" : null, "weight" : null, "min_weight" : null, "max_weight" : null, "nullified" : false, "requirement_is_provided" : null, "task_is_finished" : null, "arguments" : {} }
], "deactivate_if" : {} }
, "display" : null, "actions" : [

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 3: Clean and analyze the file</b></p>\n<p>This task covers a lot of different things, such as the following:</p>\n<ul>\n<li>Convert strings to numbers, dates or timedeltas where possible.</li>\n<li>Recognize when a string is a category and when it is a freeform text field and offer to correct likely typos in it.</li>\n<li>Identify and remove outliers in numerical columns.</li>\n</ul>\n<p>Some of these things are done automatically, while for others the user is asked for confirmation. Advanced users can customize this behavior.</p>\n<p>This whole task is completely modular and extensible, so that anyone can contribute and improve it further.</p>\n<p>If you have an idea for a useful type of analysis, you can simply upload a program for it and integrate it with what is already there.</p>\n</div>", "external_domains" : [] }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-5", "name" : "demo-data-exploration-additional-info-stage-5", "description" : null, "confidence" : 9000.0, "trigger" :

Trigger

{ "repeat" : "never", "arguments" : [

Tag filter (for search)

{ "type" : "tag", "_comment" : "we wait for require_present_table_main_info here instead of task_present_table_for_pandas because a visualization of only a single column of the table can also happen during the analysis, to let the user inspect things.", "var" : null, "role" : "required", "search_type" : "last", "search_postfilter" : null, "targeted_by" : [], "equals" : null, "created_by" : null, "created_earlier_than" : null, "created_in_same_event_as" : null, "created_later_than" : null, "is_reserved" : null, "symbol" : "require_present_table_main_info", "comment" : null, "comment_contains" : null, "comment_matches" : null, "weight" : null, "min_weight" : null, "max_weight" : null, "nullified" : false, "requirement_is_provided" : null, "task_is_finished" : null, "arguments" : {} }
], "deactivate_if" : {} }
, "display" : null, "actions" : [

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 4: Visualize the results of the analysis</b></p>\n<p>All of the below visualizations are actually embedded websites, so they can be arbitrarily complex and can even interact with other websites (but only if you explicitly give us permission to do so, so your data won't be leaked).</p>\n<p>If you have a better idea for how to visualize this information, or if you simply know how to make the graphs prettier, go ahead and upload your programs. Elody will use whichever visualization has the highest rating.</p>\n</div>", "external_domains" : [] }
] }
,

Create an Option

{ "type" : "create_option", "var" : "demo-data-exploration-additional-info-stage-6", "name" : "demo-data-exploration-additional-info-stage-6", "description" : null, "confidence" : 9000.0, "trigger" :

Trigger

{ "repeat" : "never", "arguments" : [

Tag filter (for search)

{ "type" : "tag", "var" : null, "role" : "required", "search_type" : "last", "search_postfilter" : null, "targeted_by" : [], "equals" : null, "created_by" : null, "created_earlier_than" : null, "created_in_same_event_as" : null, "created_later_than" : null, "is_reserved" : null, "symbol" : "task_explore_data_for_pandas", "comment" : null, "comment_contains" : null, "comment_matches" : null, "weight" : null, "min_weight" : null, "max_weight" : null, "nullified" : false, "requirement_is_provided" : null, "task_is_finished" : null, "arguments" : {} }
], "deactivate_if" : {} }
, "display" : null, "actions" : [

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Note</b></p>\n<p>Developers can choose to ask users for feedback. Users can give ratings and make comments.</p>\n<p>Comments help developers improve their programs.</p>\n<p>Elody uses the rating to decide which programs should get executed and which should not.</p>\n</div>", "external_domains" : [] }
] }
,

Create a Message

{ "type" : "create_message", "var" : null, "visibility" : "all", "message_components" : [

HTML component

{ "type" : "html", "scenario_history" : false, "scenario_history_title" : null, "scenario_history_description" : null, "html" : "\n<style>\n.notification-box {\nborder: 1px solid #C9F0DD;\nmargin: 0;\npadding: 10px;\nbackground: #F1FFF7;\n}\n</style>\n<div class=\"notification-box\">\n<p><b>Task 5: Advanced analyses</b></p>\n<p>Depending on what was found so far, different types of advanced analyses may become possible.</p>\n<p>If your file has a prominent date column, then a timeseries analysis or a prediction may be in order. If it has a large number of categorical variables, then how about a correlation analysis?</p>\n<p>Anyone can upload and contribute any algorithm, and Elody will offer any of them that apply to your file.</p>\n<p>There isn't much here right now, since we are just starting out, but since anyone can contribute, this will change quickly.</p>\n<p>Would <em>you</em> like to help us build the future of software execution? If so, have a look at <a target=\"_blank\" href=\"/tutorial\">the tutorial</a>.</p>\n</div>", "external_domains" : [] }
] }
] }
] }
] }
] }
] }
] }
], "existing_variables" : { "demo-data-exploration-additional-info-stage-1" :

Variable

{ "type" : "option", "value" : null }
} }

all versions of this Rule:

Version 5

Version 4 (deleted)

Version 3 (deleted)

Version 2 (deleted)

Version 1 (deleted)