Open-EO / openeo-web-editor

An interactive and easy to use web-based editor for the OpenEO API.
https://editor.openeo.org
Apache License 2.0
12 stars 17 forks source link

"run now" error handling #130

Closed jonathom closed 3 years ago

jonathom commented 3 years ago

These are some thoughts about the elusive "popup"-like error handling when clicking "run now" on a process graph. I understand that "run now" is much more dynamic by nature and therefore has not the same functionality as for example "view logs" as with regular batch jobs. Nonetheless appears the very short time an error-popup is shown very inconvenient to me, as it often gives no time to properly understand this error, especially when error messages are longer (or contain a traceback) and no possibility to look into the whole message is given (as in graph example below). The error message is then only accessible via the console. Keeping the message on screen by hovering over it doesn't solve the readability issue. I am uncertain whether the goal is to only have short, concise error messages everywhere but even those would be nice to keep around for analysis.

So, what I think would be a great addition towards debugging capabilites:

Here is an example where an unhelpful, since very long error is thrown to illustrate the problem: { "process_graph": { "load_collection_IEDVC4457Y": { "arguments": { "bands": [ "B04", "B08" ], "id": "SENTINEL2_L2A_SENTINELHUB", "spatial_extent": { "east": 4.5277, "north": 50.9305, "south": 50.7816, "west": 4.2369 }, "temporal_extent": [ "2020-10-01", "2020-10-15" ] }, "process_id": "load_collection" }, "reduce_dimension_YTJUK9239D": { "arguments": { "context": null, "data": { "from_node": "load_collection_IEDVC4457Y" }, "dimension": "bands", "reducer": { "process_graph": { "array_element_LHSHC0599Z": { "arguments": { "data": { "from_parameter": "data" }, "index": 1, "return_nodata": false }, "process_id": "array_element" }, "array_element_YNDTK0168H": { "arguments": { "data": { "from_parameter": "data" }, "index": 0, "return_nodata": false }, "process_id": "array_element" }, "normalized_difference_HVSPJ5019F": { "arguments": { "x": { "from_node": "array_element_YNDTK0168H" }, "y": { "from_node": "array_element_LHSHC0599Z" } }, "process_id": "normalized_difference", "result": true } } } }, "process_id": "reduce_dimension" }, "save_result_GNXZO1571R": { "arguments": { "data": { "from_node": "reduce_dimension_YTJUK9239D" }, "format": "NetCDF", "options": {} }, "process_id": "save_result", "result": true } } }

m-mohr commented 3 years ago

That is a good point. Actually, back-ends should be able to also include these into log files and return them with the result, but except GEE there's no implementation yet. What I could do is to open a Log window anyway and paste the error in there. Then we don't need any changes to these notification boxes.

m-mohr commented 3 years ago

Errors longer than 120 chars are now displayed in the log viewer:

image