listmonk
listmonk copied to clipboard
Improve Contact Imports
Why?
Well , sure we already have a good way of importing CSVs but they need to have those fields rpobably in that order. Which is a little painful , specially when any extra attributes need to be put in a json. Normally CSVs exported from different places will have a different structure and hence it is harder to have it imported easily without manual scripting.
What do we want really?!
Well , what if there was a visual attribute picker which went through the first row of the CSV to get all the attributes . Then the user gets to map which one is the name column, which one is the email column and what to put in the attributes . We can just give them options to select what goes in the attributes and that should make it super easy to import custom data effortlessly.
How do we do it?
Well, most of it is in the UI and using basic javascript shouldn't be that hard. If this does make sense I would love to work on this over the weekend and throw out a pr!
Yep, this sounds like a useful feature.
but they need to have those fields rpobably in that order
Order doesn't matter currently.
If this does make sense I would love to work on this over the weekend and throw out a pr!
Please feel free to experiment! Thanks.
Order doesn't matter currently.
Is this a recent change? Last time I forgot to change the columns to the right order it failed.
Is this a recent change? Last time I forgot to change the columns to the right order it failed.
If I recall correctly, this is how it's been from the beginning. Just re-tried with a random order of name, attribs, email
and it works fine.
Oh, maybe it was because I capitalized the first letter:
failed
0 / 2001 records
2023/09/25 00:08:57processing 'Thanks 2023-09-25 2k.csv'
2023/09/25 00:08:57ignoring unknown header 'Name'
2023/09/25 00:08:57ignoring unknown header 'Email'
2023/09/25 00:08:57ignoring unknown header 'Attributes'
2023/09/25 00:08:57'email' column not found in '/tmp/listmonk3347330977'
Is it possible to make it case-insensitive?
Casing should be a strict convention, or it'll end up enabling files with varying cases even with the same orgs. While listmonk will process it, it's still not ideal to have non-standard headers. This will also affect any tooling built around listmonk for import/export, all of which will then have to account for case insensitivity.
Closing this. Realised that since order doesn't matter at all, there is no need for a field mapping UI.