-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding bulk-import accounts using csv sample file #976
base: master
Are you sure you want to change the base?
Conversation
I chose a CSV file instead of, for example:
|
@Shadow243 thanks for this but that's not a declarative config. You still need UI to import the csv. It also has problems with storing passwords in plain text. However, if it opens use-cases when people want to bulk-import accounts, then it is fine. |
Most definitely @kroky, in this case I will keep the config way too. this will be a bit tricky though for multiple users in one instance. Any suggestions about that ? |
As I suggested in #974 - user can copy either the file system settings or the db settings to another machine to make it easier to transfer multiple accounts that are already setup. I don't think we need any config updates in that case. |
8cd5cf4
to
ab16ec8
Compare
My 2¢, if such a plain-text file were to be introduced for this, I'd suggest using something like YAML which gives a richer structure and helps to avoid the "endless horizontal field list" that is prevalent in the world of using 2-dimensional tables (which we see with sprawling SQL tables, for example). Just to show a snippet of the benefits of a format like YAML: Migadu:
servers:
jmap:
hostname: jmap.abc.com
imap:
hostname: imap.abc.com
smtp:
hostname: smtp.abc.com
port: 485
tls: true It's human-readable while offering a richer structure that is future-proofed for growth. But I agree with the concerns around storing credentials in a plaintext file. That's a no-no. |
Please also see https://wiki.mozilla.org/Thunderbird:Autoconfiguration:ConfigFileFormat and #470 I'm looking for a good way to parse XML file. |
ab16ec8
to
de7dbf0
Compare
de7dbf0
to
6c46733
Compare
jmap: | ||
jmap_server: | ||
user: | ||
username: [email protected] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please use https://example.org for fake data
@@ -38,6 +38,7 @@ | |||
"paragonie/random_compat": "^2.0.18", | |||
"php": ">=7.4", | |||
"symfony/dotenv": "^4.3 || 5.4", | |||
"symfony/yaml": "^5.4", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's good that you took same component as Tiki: https://gitlab.com/tikiwiki/tiki/-/blob/master/vendor_bundled/composer.json
'nux_all_inkl_login' => FILTER_DEFAULT, | ||
'accounts_source' => FILTER_DEFAULT, | ||
'accounts_source' => FILTER_DEFAULT, | ||
'accounts_csv' => FILTER_DEFAULT, | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so it is csv, yaml or both?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This on is using yaml for now. Should i add csv too or just remove any mention of it ??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should i add csv too or just remove any mention of it ?
@TheDigitalOrchard You suggested YAML. What do you think?
Email Account Configuration for Cypht
This repository contains the account configuration settings for the Cypht. Unlike an approach based on directly storing configuration settings in the code (ex: config/account.php), we have opted to use a CSV file for configuring accounts.
Related Issue: #974
Data Isolation
By storing configuration settings in a CSV file, each user can have their own distinct configuration file. This allows for data isolation, ensuring that each user only has access to their own configured accounts and cannot access accounts configured by other users.
Example CSV File Structure:
This is the display