I can understand both arguments for/against automatic folder creation.
Please allow me to share my experiences with roundcube deployment so
far. There are currently maybe a hundred people using Roundcube in the
department (BYU Chemistry) where I work. Their expectation is that
webmail works like it does with Yahoo mail or Hotmail, which is that you
click delete, and the message is put in a Trash folder. I don't believe
that with either of these services I've ever had to create a Trash
folder for things to work that way. (Actually, until roundcube, I don't
recall ever having to create a Trash folder in my life). The reason I
submitted the patch in the first place was because my users were having
a hard time figuring out why they had to create a Trash folder and why
it wasn't done for them already.
As a system administrator, I need things to work fairly standardly for
every one of my 100 users. It is easier for me if all 100 users have a
trash folder and it is called Trash, so that when they call me up all in
a panic because they can't find a message, I can talk them through how
to find it again. The decision to have a trash folder called Trash
should be the decision of the system administrator, and not something we
confuse the individual users with. Dean Jones has said, "Just not a big
fan of the program thinking it knows better than the user." I agree,
except in this particular case, it isn't the program verses the user, it
is the system administrator verses the user.
Now having said all that, let me talk about the patch I submitted for a
second. The patch doesn't just go creating folders. It will only create
folders that are in the $rcmail_config['default_imap_folders'] array in
the config file. I'm assuming if you don't want the trash folder to be
automatically created, then you just remove it from the list of default
folders.
A couple other options I think are ok:
* create the default folders ($rcmail_config['default_imap_folders']) if
they don't exist on login
* create only $rcmail_config['trash_mbox'] if it doesn't exist