Skip to content

Improved CSV export - feedback welcome #900

Open
@PhilippWendler

Description

@PhilippWendler

The CSV tables exported by table-generator have a layout that is inspired by the HTML tables, but this sometimes makes them hard to use programmatically in other tools. We should improve this.

Open points:

  • Right now the header has 3 lines, this has been mentioned as unexpected by several people. We should reduce it to one line. Open questions:
    • What should the content of the header cells be? If we put only the column name (e.g., status), it is no longer unique. Some concatenation of run set name, timestamp, and column name? Having stuff like the timestamp there would be highly inconvenient for those where it is not needed. Maybe keep only the column name as long as it is unique?
    • Should it have a # in front of the line?
  • What should the separator be? Right now we call it CSV but it is tab separated. Tab has the advantage that it can not occur in our data except in extremely rare cases, where as comma appears regularly in some columns. This makes it easier to handle with tools like cut. Should we change the name and extension to TSV instead? Will people understand that abbreviation?
  • What should we do with the task-id columns at the left? Right now, we show only those columns where not all values are equal. We should at least change this to show all columns for which data exists. But should we always add all columns, e.g., have expectedVerdict even if it is always empty?

In general, there is a trade-off between having tables that always have exactly same format (all task-id columns, header content with full information) even if redundant / not applicable and tables that are tailored to the specific use case (keeping column names short and easy to handle when they are anyway unique, hiding expected verdict if empty, etc.). The latter can be much more convenient in many use cases, but are more difficult to use in use cases where data from lots of different scenarios are combined.

Maybe we also need to add some options to the table definitions to make it possible for users to choose among them (e.g., which columns should be shown for the task id).

Any feedback and ideas, whether about the general goal or concrete ideas, is highly welcome!
@s-winter ping

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions