OpenRefine / OpenRefine/OpenRefine

Extend exporter architecture to support error reporting

Open
#2,836 2 comments 1 reaction 1 assignee View on GitHub

@sjathin is already working on this.

Since May 23, 2021.

error handling export Type: Feature Request
Dominant language
Java
Stars
12k
Forks
2.2k
Avg merge
1d 14h
Merged PRs (30d)
27

Description

Currently there is no way to report exporter errors to users in a reasonable fashion because the interfaces aren't specified in a way that allows it. This causes suboptimal workarounds like stuffing error messages in the user output data (e.g. "ERROR: TOO MANY COLUMNS") where they could be easily missed or silently dropping data (#352) or dumping errors into a raw HTML page (#1801).

Proposed solution

Extend TabularSerializer and CustomizableTabularExporterUtilities.exportRows() to support error reporting, probably by defining new versions which allow exceptions (to preserve backward compatibility) and implementing those new interfaces in the code that we control.

On the front end, we'll need an error dialog to be able to display the information. Ideally we'd have a set of error codes that could map to internationalizable error messages, but there's probably too wide a variety of possible problems.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.