Enhancement
Refactor tabluar import to reduce code lines needed
Issue description
Tabular data import is a frequent task. It would be neat to improve that. While the actual persistance logic is fine as an algorithm, the validation that the input file conforms to the expectations could be held in the topic map. The conversion tasks ("here is string xyz, make it into a date") are cumbersome, are repedetivly implemented in stores and take away a lot of space in the import service.
Developer comments
A column format consists of:
* exactly one formal name, which is used in the import service code
* at least one column header used in the import file
* a boolean flag whether a non-null value is mandatory
* a converter, either predefined or custom (maybe any number)
* maybe a PHP datatype
A table format is a non-empty collection of column formats. It can be assigned to a new subtype of Topincs file called _Table file_. There should be an additional entry to the general topic menu: Check. This produces a HTML page with a detailed error report and the number of conforming rows, maybe in a tab. This report should enable users to correct any errors in the data.
There should be predefined converters based on the PHP datatype. If the right one is not available, use string and convert in the import service.
All columns must exist and the check should reveal the name of the effective column header for each column.
The Check should maybe contain a columns summary. For each column the effective header, non-null count, min value, max value should be displayed.
The check is better off as a tab. Should the tab menu be always present on the fact sheet? Or only on demand?
It should be possible to add more than one format per file.
Ideally there would be no longer a need to open Excel.
|
Work sessions8
Start |
2022-12-17T06:39:34
|
End |
2022-12-17T08:00:00
|
Participant |
Robert Cerny
|
Start |
2022-12-17T08:47:09
|
End |
2022-12-17T10:32:20
|
Participant |
Robert Cerny
|
Start |
2022-12-25T07:54:46
|
End |
2022-12-25T09:11:22
|
Participant |
Robert Cerny
|
Start |
2022-12-25T11:56:31
|
End |
2022-12-25T13:32:02
|
Participant |
Robert Cerny
|
Start |
2022-12-25T16:49:54
|
End |
2022-12-25T17:54:26
|
Participant |
Robert Cerny
|
Start |
2022-12-25T23:54:34
|
End |
2022-12-26T03:41:36
|
Participant |
Robert Cerny
|
Start |
2022-12-26T08:41:43
|
End |
2022-12-26T09:54:57
|
Participant |
Robert Cerny
|
Start |
2022-12-26T13:18:51
|
End |
2022-12-26T15:40:28
|
Participant |
Robert Cerny
|
|
We are sorry
This page cannot be displayed in your browser. Use Firefox, Opera, Safari, or Chrome instead.