Code Monkey home page Code Monkey logo

disk-ui's Introduction

DISK User Interface (UI) DOI

The DISK system automates the execution of scientific workflows triggered on data changes. To do this DISK collects data from different data repositories and defines methods on different workflows systems. User defined goals are periodically check for new data/methods available. When a method detects new data, a new workflow execution will be send. Each experiment execution is stored with its metadata and outputs for posterior analysis.

How to install?

$ yarn install
$ yarn start

How to configure?

To configure the DISK UI, you need to create a config.js file in the public folder.

$ vim public/config.js

Configuration parameters

  • window.REACT_APP_DISK_API: URL of the DISK API

Documentation

Full documentation is available at https://disk.readthedocs.io

Related repositories

disk-ui's People

Contributors

hvarg avatar mosoriob avatar yolandagil avatar dgarijo avatar dependabot[bot] avatar

Stargazers

Fernando Aristizabal avatar  avatar

Watchers

Interactive Knowledge Capture Group avatar  avatar  avatar  avatar  avatar

disk-ui's Issues

unable to build

yarn build
yarn run v1.22.18
$ react-scripts build
Creating an optimized production build...
Failed to compile.

Module not found: Error: Can't resolve 'pages/Home' in '/home/mosorio/repos/disk/DISK-UI/src'


error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Notes Meeting Jul 28

  • Method configuration -> method
  • Two sections: workflow and meta workflow
  • Workflow bindings -> Workflow inputs
  • Rename Results to Dataset Retrieval
  • #45
  • rename weather-part1.csv to weather-jan-may.csv
  • edit notes read only
  • remove < loi view
  • [ ]

Home screen: What can I do with DISK?

Home screen: What can I do with DISK?

Imagine new users who don't know about the system.

We can provide a welcome message telling them:

  1. The questions can be answer by the system
  2. The hypothesis already test it

TLOI doesnt show workflow bindings

TLOI doesnt show workflow bindings

image

The API response seems ok

{
	"id": "TriggeredLOI-V7jwivV06OPX",
	"name": "Triggered: test",
	"description": "test",
	"author": null,
	"dataSource": "https://endpoint.mint.isi.edu/tutorial",
	"status": "SUCCESSFUL",
	"parentLoiId": "LOI-wCyt1mV8eG2V",
	"parentHypothesisId": "Hypothesis-xQ3dqnfdgABX",
	"workflows": [
		{
			"source": "wings_dev",
			"workflow": "linearRegressionBikes",
			"workflowLink": "https://wings.dev.disk.isi.edu/wings-portal/users/admin/bikes/workflows/linearRegressionBikes.owl",
			"description": null,
			"bindings": [
				{
					"variable": "weatherRecordCsvFile",
					"binding": "[SHAW86598_bikes-2019-2020-ny.csv, SHAW266eb_bikes-2021-ny.csv]",
					"collection": true,
					"bindingAsArray": [
						"SHAW86598_bikes-2019-2020-ny.csv",
						"SHAW266eb_bikes-2021-ny.csv"
					]
				},
				{
					"variable": "weatherSensor1",
					"binding": "Wind Speed",
					"collection": false,
					"bindingAsArray": [
						"WindSpeed"
					]
				},
				{
					"variable": "weatherSensor2",
					"binding": "Ambient Temperature",
					"collection": false,
					"bindingAsArray": [
						"AmbientTemperature"
					]
				},
				{
					"variable": "weatherSensor3",
					"binding": "Humidity",
					"collection": false,
					"bindingAsArray": [
						"Humidity"
					]
				},
				{
					"variable": "weatherSensor4",
					"binding": "Season",
					"collection": false,
					"bindingAsArray": [
						"Season"
					]
				},
				{
					"variable": "weatherSensor5",
					"binding": "Month",
					"collection": false,
					"bindingAsArray": [
						"Month"
					]
				},
				{
					"variable": "weatherSensor6",
					"binding": "Workday",
					"collection": false,
					"bindingAsArray": [
						"Workday"
					]
				}
			],
			"run": {
				"id": "https://wings.dev.disk.isi.edu/wings-portal/export/users/admin/bikes/executions/linearRegression-2fd622b8-e8fd-4c6d-8666-0729df64e855.owl#linearRegression-2fd622b8-e8fd-4c6d-8666-0729df64e855",
				"link": "https://wings.dev.disk.isi.edu/wings-portal/users/admin/bikes/executions?run_id=https%3A%2F%2Fwings.dev.disk.isi.edu%2Fwings-portal%2Fexport%2Fusers%2Fadmin%2Fbikes%2Fexecutions%2FlinearRegression-2fd622b8-e8fd-4c6d-8666-0729df64e855.owl%23linearRegression-2fd622b8-e8fd-4c6d-8666-0729df64e855",
				"status": "SUCCESS",
				"outputs": {
					"report.txt": "https://wings.dev.disk.isi.edu/wings-portal/export/users/admin/bikes/data/library.owl#report.txt-cmtinqq9d2s283148ql62wa0y",
					"p_value.txt": "https://wings.dev.disk.isi.edu/wings-portal/export/users/admin/bikes/data/library.owl#p_value.txt-ncyyq6ys3fm1qfuznqlbt2cm"
				},
				"files": {
					"SHAW266eb_bikes-2021-ny.csv": "https://wings.dev.disk.isi.edu/wings-portal/export/users/admin/bikes/data/library.owl#SHAW266eb_bikes-2021-ny.csv",
					"SHAW86598_bikes-2019-2020-ny.csv": "https://wings.dev.disk.isi.edu/wings-portal/export/users/admin/bikes/data/library.owl#SHAW86598_bikes-2019-2020-ny.csv"
				},
				"startDate": "15:30:53 2022-08-05",
				"endDate": "15:30:55 2022-08-05"
			},
			"meta": {
				"hypothesis": null,
				"revisedHypothesis": null
			},
			"allVariables": [
				"SHAW86598_bikes-2019-2020-ny.csv",
				"SHAW266eb_bikes-2021-ny.csv",
				"WindSpeed",
				"AmbientTemperature",
				"Humidity",
				"Season",
				"Month",
				"Workday"
			],
			"nonCollectionVariables": [
				"WindSpeed",
				"AmbientTemperature",
				"Humidity",
				"Season",
				"Month",
				"Workday"
			]
		}
	],
	"metaWorkflows": [],
	"confidenceValue": 0,
	"notes": null,
	"dateCreated": "15:30:52 2022-08-05",
	"dateModified": "15:30:52 2022-08-05",
	"dataQuery": "?weatherFile <http://disk-project.org/ontology/disk#hasVariableName>\n\"Wind Speed\", \"Ambient Temperature\", \"Humidity\", \"Season\", \"Month\", \"Workday\".\n?weatherFile <http://purl.org/dc/terms/Location> \"New York\"\n",
	"dataQueryExplanation": "",
	"tableVariables": "",
	"tableDescription": ""
}

Unable to create new LOI

http://localhost:3000/lois/new

Uncaught Error: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.

User Authentication Required for Downloads

If the user is not authenticated, they will be unable to download the outputs. The user interface does not display an error warning that the user must be authenticated. This could lead to confusion and frustration for users who are not aware of this requirement.
To resolve this issue, the user interface should display an error warning that the user must be authenticated before they can download the outputs. This will help to ensure that users are aware of the requirement and are not confused or frustrated when they are unable to download the outputs.

image

docs - rename narrative to tloi

Getting the Execution Provenance¶

All the LOI and workflow executions are recorded in detail. DISK generates a narrative from those provenance records that explains how the results were obtained.

To display the narrative, you can select the Narrative button.

The following image shows the execution narrative for the first LOI, along with a table that summarizes key metadata of the input datasets used.

Notes from 5 jul

Hypothesis viewing

  • Hide formal expression
  • Don't show the variables using brackets. Use a different color
  • #20
  • #21
  • Rename Select a pattern that can express your hypothesis or question:
  • #23

Executions

  • Rename P value
  • Add executions date
  • #30
  • Successful is not related to the hypothesis

LOI view

  • After selecting the workflow, the UI doesn't display meta workflow
  • #29
  • List of variable -> Column to show on table
  • No hide text fields between View and Edit screen

Infinite loop if there are not hypothesis

This generates an infinite loop

    useEffect(() => {
        if (hypotheses && hypotheses.length === 0 && !loading && !error) {
            dispatch(setLoadingAll());
            DISKAPI.getHypotheses()
                .then((hypotheses:Hypothesis[]) => {
                    dispatch(setHypotheses(hypotheses));
                })
                .catch(() => {
                    dispatch(setErrorAll());
                });
        }
    // eslint-disable-next-line react-hooks/exhaustive-deps
    } );

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.