Skip to content

Adding instructions and discussion for folders#2045

Merged
polarathene merged 16 commits intodocker-mailserver:masterfrom
hnws:master
Jun 22, 2021
Merged

Adding instructions and discussion for folders#2045
polarathene merged 16 commits intodocker-mailserver:masterfrom
hnws:master

Conversation

@hnws
Copy link
Copy Markdown
Contributor

@hnws hnws commented Jun 19, 2021

Description

It tries to explain the process of creating typical folders and a few points for consideration.

Fixes #2026

Type of change

  • Improvement (non-breaking change that does improve existing functionality)
  • This change requires a documentation update

Checklist:

  • I have made corresponding changes to the documentation (README.md or the documentation under docs/)

This replaces #2031

Copy link
Copy Markdown
Member

@polarathene polarathene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rephrased some content to sound more natural. I don't know too much about the actual topic being documented, so feel free to point out any misunderstandings I have.

Added some links and changed the link syntax so it's easier less noise to review markdown, and nicely groups the links for the docs page at the bottom which is preferred.

"Caution" perhaps isn't any better than "Consideration" for a heading. I thought of "Gotchas" but not sure how appropriate that is for the audience, especially if non-native english speakers? (Is it a commonly understood word?)

Some of the docs being contributed seem a bit iffy content wise. Without context I'm not quite sure why they're being mentioned, or how well they'd be understood (eg tags and i18n).

Comment thread README.md Outdated
Comment thread docs/content/config/best-practices/folders.md Outdated
@polarathene
Copy link
Copy Markdown
Member

polarathene commented Jun 19, 2021

Note, as this is a new page you're contributing to the docs, you'll need to add a new entry into mkdocs.yml:

- 'Best Practices':
- 'DKIM': config/best-practices/dkim.md
- 'DMARC': config/best-practices/dmarc.md
- 'SPF': config/best-practices/spf.md
- 'Auto-discovery': config/best-practices/autodiscover.md

I'm not sure if this really belongs to "Best Practices" personally, but this doc can be relocated at a later point if no maintainers want to suggest a more appropriate location.


@reneploetz perhaps should provide some feedback on if the documentation is sufficient?

These docs seem to be missing some insights discussed in #2031 , it would be better to point out known mail client issues (with an admonition) in our docs, rather than glossing over it with only "some mail clients".

@georglauterbach georglauterbach added this to the v10.0.1 milestone Jun 19, 2021
@georglauterbach georglauterbach added area/documentation kind/improvement Improve an existing feature, configuration file or the documentation priority/low labels Jun 19, 2021
@wernerfred
Copy link
Copy Markdown
Member

I'm not sure if this really belongs to "Best Practices" personally, but this doc can be relocated at a later point if no maintainers want to suggest a more appropriate location.

I personally would Put it in the examples section. Not Sure wether use cases or examples fits netter though.

Comment thread docs/content/examples/uses-cases/folders.md Outdated
Comment thread docs/content/examples/uses-cases/folders.md Outdated
Comment thread README.md Outdated
Copy link
Copy Markdown
Member

@polarathene polarathene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the document title "Folders" accurate? Does this make sense to someone interested in this example?

RFC 6154 makes no mention of "folder" or "directory". Am I right to assume that "folders" is from the user perspective of a mail client?

Perhaps "Custom Mailbox Folders" or similar is better? (maybe just "Mailbox Folders"?)

Comment thread docs/content/examples/uses-cases/folders.md Outdated
Comment thread docs/content/examples/uses-cases/folders.md Outdated
@hnws hnws marked this pull request as draft June 21, 2021 04:47
@hnws hnws closed this Jun 21, 2021
@hnws
Copy link
Copy Markdown
Contributor Author

hnws commented Jun 21, 2021

I will leave this to my own fork.

@polarathene
Copy link
Copy Markdown
Member

I will leave this to my own fork.

You're not going to complete the PR because of a disagreement with the review feedback?

It seemed like a nice contribution, I understand if it's been a hassle for you. I know I've made it more work to revise before accepting, but I have tried to make that easier for you with my own time.

Thank you for the contribution! 😄


As @hnws is not going to finish this, I think I can take over and get it merged.

@polarathene polarathene reopened this Jun 21, 2021
@polarathene polarathene assigned polarathene and unassigned hnws Jun 21, 2021
@hnws
Copy link
Copy Markdown
Contributor Author

hnws commented Jun 21, 2021

I will leave this to my own fork.

You're not going to complete the PR because of a disagreement with the review feedback?

It seemed like a nice contribution, I understand if it's been a hassle for you. I know I've made it more work to revise before accepting, but I have tried to make that easier for you with my own time.

Thank you for the contribution!

As @hnws is not going to finish this, I think I can take over and get it merged.

Yes, disagreement creates different forks. And you need to learn more about sysadmin.

@polarathene
Copy link
Copy Markdown
Member

Yes, disagreement creates different forks.

You're contributing upstream which is welcomed, but it is fair for the reviewers to ask questions and want answers before merging a PR.

You can create a fork and maintain that if you believe it's worth the trade-off for a documentation or config difference (even when there is no need to do that for what you're doing). It does not bother anyone here.

And you need to learn more about sysadmin.

I don't follow? This seems to be a misunderstanding.

You've opted out of finishing the PR because I requested the document have a less vague title than "Folders", and to provide some context early on in the document. I cited various sources where mailboxes is valid for the topic and used by some mail clients, while acknowledging that IMAP/special folders is also used elsewhere as an alternative jargon, mostly from a frontend/client interface.

I did not demand you to replace "folder" throughout the document 😕

@hnws
Copy link
Copy Markdown
Contributor Author

hnws commented Jun 21, 2021

Last word on this issue, from my perspective, from my own experience and understanding, I believe calling IMAP folders "folder" is something without any doubt and discussion.
image
image

I do not have more time arguing with you here. I might have other changes to this project.
And as a critical infrastructure to my personal life, after the discussion here, I believe it's a better idea to keep my own fork.

@casperklein
Copy link
Copy Markdown
Member

Mailbox usually refers to the whole IMAP structure. And folder refers to individual folders..

I thought the same way. Mail(account/box) is the whole thing. And in that mailbox there are several folders.

Today I learned, after looking into @polarathene answer, that some vendors call the "folders" mailboxes, which I personally find very confusing and never have heard of before.
On the other hand, most MUAs seem to use the folder term.

For me, the terms folder, IMAP folder or Mailbox folder are all ok. I think, the majority will know what is meant.

@hnws I can understand, that sometimes, such discussions can be exhausting - I had a few of these myself 😉 But don't get angry because of that. It's not meant bad in anyway.

I did not demand you to replace "folder" throughout the document

I think this PR is then almost ready to merge. Can we find a compromise in using one of the three (or last two) term suggestions above?

@hnws I would really appreciate, if you reconsider your fork decision and instead contributing to this project directly (this PR and future things).

@hnws
Copy link
Copy Markdown
Contributor Author

hnws commented Jun 21, 2021

@casperklein
Thanks for the kind reply here.

For this PR and in general:
My main frustration here is that as I do not want to explain something which is, again from my own experience, is a truth.
I learnt this from my work experience as sysadmin for a few years. And I thought I should find common ground here.

To be honest, maybe it's a bit offensive, but do not this this offensive, I really really put this here at good faith, as email is really a critical path of a person's daily life: If a person does not have better than average knowledge of details of how a email system works, but simply docker-compose up -d, this person should not setup self-hosted email system.
This is a lesson I learnt the hard way myself.

@reneploetz
Copy link
Copy Markdown
Contributor

reneploetz commented Jun 21, 2021

Mailbox usually refers to the whole IMAP structure. And folder refers to individual folders..

Today I learned, after looking into @polarathene answer, that some vendors call the "folders" mailboxes, which I personally find very confusing and never have heard of before.

The correct term is mailbox as per all IMAP-related RFCs and the server configuration language of dovecot [1]. The RFCs give "remote folders" as alternative name, but from a specification level mailbox is the correct term.

It's also correct that many MDAs use "folder" as name because - I suspect - the name is less confusing for end-users and they generally do not care about using somewhat less well-defined names. Users usually understand what a folder is and less so that they can have multiple "mailboxes" at their (mail) address.

From a mail server adminstration perspective we can decide if we want to go for the dovecot configuration language of using "mailboxes" or use some alternative variant that might be better understandable for end users. Technically, I would prefer using the dovecot configuration language (or at least some reference to it), but i think the whole discussion is really only about semantics and the question what kind of domain/technical knowledge of IMAP/dovecot we expect users to have.

Note that throughout our own documentation we are mostly using "mailbox" whenever we talk about IMAP with the documentation related to MOVE_SPAM_TO_JUNK and docs/content/config/advanced/mail-sieve.md being the sole exceptions I could find.

[1] https://doc.dovecot.org/configuration_manual/namespace/#mailbox-settings

@wernerfred
Copy link
Copy Markdown
Member

What i initially meant by my question: #2045 (comment) was if "sharing" is the correct verb.
I read it multiple times and always understood it that multiple clients (using multiple, different account) can share the same IMAP-folder (or however you will call it - imho folder is public spread the most).

But after reading through the discussion and reading it multiple times again i think i now know what @hnws meant: Instead of that every mail client of the same acocount uses its own (local) archive IMAP-folder you can create one which is then kind of "shared" between all clients so comparable to "sent" or "inbox".

The fact that it took me a few readings and days and that "sharing" IMAP folders among all clients connected/logged-in with the same account is basically the definition of IMAP folders still brings me to the point that "sharing" might be completely missleading or am i the only one thinking in that direction?

Maybe a simple "using the same folder (on the server)" is the better choice.


All in all I can only say that i agree 100% with the answer of @casperklein. It would be very disappointing to loose you with your knowledge as a contributor. I am also 100% sure that @polarathene didnt intended to offend you in any way, just adding his 2 cents by throwing in his thoughts with the goal to improve the docs.

I would really be happy to see you finishing this PR 🚀

@polarathene
Copy link
Copy Markdown
Member

@wernerfred

Instead of that every mail client of the same acocount uses its own (local) archive IMAP-folder you can create one which is then kind of "shared" between all clients so comparable to "sent" or "inbox".

My understanding is that these are intended as remote IMAP folders / mailboxes on the MDA (Dovecot for us), and that any MUA (mail client) should be aware of these. Compatibility with some features of IMAP extensions may vary, which the documentation page tries to make the reader aware of.

brings me to the point that "sharing" might be completely missleading or am i the only one thinking in that direction?

Yes, I took some time to rephrase the document myself. I think it's good enough for merging and keeps both "mailboxes" and "folders" wording, making it clear early on that they're the same and these are IMAP folders.

The standard / common mailboxes are considered special IMAP folders on some clients due to the SPECIAL-USE attribute or functionality that differs them from regular folders a user may user for organizing their mail.

I did not touch on it, but there is also virtual folders which are like aliases AFAIK, eg for things like labels functionality, an example is for marking something as important (starred/favourite in some MUA).

Maybe a simple "using the same folder (on the server)" is the better choice.

According to the information provided regarding various clients, some may behave differently and only use a folder locally (at least for archiving functionality).

@polarathene
Copy link
Copy Markdown
Member

I am also 100% sure that @polarathene didnt intended to offend you in any way, just adding his 2 cents by throwing in his thoughts with the goal to improve the docs.

I absolutely had no intention to offend. I don't have the experience that @hnws has as a sysadmin, but tried to express that our docs should try avoid being vague on terms that vary based on context.

I tried to highlight that with the Dovecot docs choice of "mailboxes", which the RFC uses and Apple mail clients UI too. I've always personally thought of them as mail folders myself and from a user perspective I can understand the bias/preference to that usage.

However we reference it in relation to Dovecot and these are intended as technical docs for setting up an email service, I don't see any major reason to debate what is used, other than clearly defining they're the same thing early on. That's now taken care of.


@hnws

I'm sorry if I come off as difficult, I don't mean to! 😅 I am just providing feedback during review, I welcome to be corrected if you disagree, but I would appreciate adequate justification to back it up, or waiting on other maintainers to throw in their opinion.

Again, I was not trying to imply you were wrong about anything, but try to come to a common understanding based on the information available.

And as a critical infrastructure to my personal life, after the discussion here, I believe it's a better idea to keep my own fork.

I wouldn't want to make you feel that you have to fork due to our interaction here.

I'm not representative of the other maintainers, I just care about the quality of the docs and tried to collaborate with you on your contribution. I hope you can understand and appreciate that, but if it would make you comfortable to contribute in future, I can avoid being a reviewer on any future PRs of yours?

This config has not been updated since 2016 (ignoring the Junk autosubscribe addition).

Synced to upstream equivalent at https://github.com/dovecot/core/blob/master/doc/example-config/conf.d/15-mailboxes.conf

Retains the `auto = subscribe` additions and `Archive` example definition.
@polarathene polarathene marked this pull request as ready for review June 22, 2021 05:15
@polarathene

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

Documentation preview for this PR is ready! 🎉

Built with commit: b3c79ee

@polarathene polarathene merged commit 630e083 into docker-mailserver:master Jun 22, 2021
@wernerfred
Copy link
Copy Markdown
Member

@all-contributors add @hnws for docs

@allcontributors
Copy link
Copy Markdown
Contributor

@wernerfred

I've put up a pull request to add @hnws! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation kind/improvement Improve an existing feature, configuration file or the documentation priority/low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FR] Enable "Archive" folder by default

6 participants