OpenRefine / OpenRefine/OpenRefine
Extend exporter architecture to support error reporting
@sjathin is already working on this.
Since May 23, 2021.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.