Open Bug 1782034 Opened 2 years ago Updated 2 years ago

Implement "Add to List" button for adding multiple existing, selected contacts to a mailing list


(Thunderbird :: Address Book, enhancement)

Thunderbird 102


(Not tracked)


(Reporter: thomas8, Unassigned)


(Depends on 1 open bug, Blocks 1 open bug)


(Keywords: ux-discovery, ux-efficiency)


(2 obsolete files)

+++ This bug was initially created as a clone of Bug #1777754 +++

Steps to reproduce:

  1. Select multiple contacts in an address book
  2. Look for a convenient way of adding them to an existing mailing list without dragging

Actual result

  • There's no way


  • Implement Bug 1779786 - context menu entry Add to list (both for single and multiple selected contacts)
  • There should be a convenient Add to list button with a drop-down list of available mailing lists, right next to the existing New List button (this bug)
  • We could consider adding an Add to list button for a single selected contact, too.
See Also: → 1782397
Assignee: nobody → alessandro
  • This is a list
  • To explain whatever
Attachment #9295479 - Attachment description: Bug 1782034 - Test, ignore this. r=micahilbery → WIP: Bug 1782034 - Test, ignore this.
Attachment #9295479 - Attachment description: WIP: Bug 1782034 - Test, ignore this. → Bug 1782034 - Test, ignore this. r=micahilbery!,darktrojan
Attachment #9295479 - Attachment is obsolete: true

We have a limitations due to valid technical reasons regarding which contacts can be added to a mailing list, but we don't enforce this consistently and it's kinda confusing, we should define a consistent approach.
Apologies for the wall of text, but here's the overview:

Contacts from different Address Books can't be added to the same mailing list

And more specifically, a contact from AB1 can't be added to a mailing list created in side AB2.

But, we don't enforce this everywhere
Users can workaround this limitation through these actions:

  • Open the edit list dialog and add contacts from within, as the autocomplete doesn't filter out contacts not in the same AB.
  • Select multiple contacts from the list and click "New List".

Doing so will create a duplicate (not linked?) in the address book in which the contact doesn't exist but the mailing list does.
Geoff, is this correct? Are those duplicate contacts independent from their "original" contact?

So, what do we want to do?

  1. Completely prevent it from happening. Which will mean:
  • Fix the contacts autosuggestion in the edit list dialog to be aware of the current AB.
  • Prevent creating a list if contacts from multiple ABs are selected.
  1. Allow it to happen. Which will mean:
  • Implement a sort of "dynamic link" to reference contacts added to a foreign list.
  • Handle the aftermath of deleting the "original" contact.
  • Avoid creating duplicates.

Personally, I think option 2 would be super cool as it removes any mental burden to the users, allowing them to manage their ABs the way they want, but I understand the nightmare in managing this complexity, and the issues in trying to properly sync the data to a remote AB.

Do I have some wrong assumptions?

Flags: needinfo?(geoff)

If you add someone to a list that isn't in the same address book (regardless of autocomplete) a brand new card will be added to the book with the name and address provided. It's got no relation to any existing card. Autocomplete probably shouldn't suggest people from different books. Let's start by implementing 1 and seeing where we get to with categories/tags (i.e. do we even want to keep lists?).

Flags: needinfo?(geoff)

The more I look at our lists implementation the more I want to drop it entirely in favour of vcard categories.
That will solve all of our issues.
I'll circle back to this in a few days and define an action plan.

Attachment #9295363 - Attachment is obsolete: true

This will be dropped in favour of the new categories implementation.

Assignee: alessandro → nobody

As much as I dislike how lists work atm, it might not be possible to drop lists entirely even if we have categories.
I know some larger orgs depend heavily on lists, and nested lists. Categories will be nice, but there may be places it's not a full match. It will need some evaluation.

If I have two address books A and B and each has a mailing list Aa and Bb and I want a contact currently located in Aa mailing list put into Bb mailing list, it is a nightmare to do it.
I would require the contact to get auto 'copied' into address book B and auto added to mailing list Bb if I use drag and drop over a Mailing List where the contact is currently not in the associated address book.

However, at the moment if you use drag and drop from Address Book A to Address Book B, it 'removes' the contact from address book A.
It is physically impossible to copy a contact to another address book let alone a mailing list.
Thus if you attempt the above, you discover it auto deletes from Mailing List Aa which is not desirable. There are people in Support Forum who tried to get a copy elsewhere and ended up messing up Mailing Lists.

If you try drag and drop to from Address Book A to another Mailing list Bb, it event should auto add a copy to the B address book and also put into Mailing List Bb. There is also no means of using any menu and no means of achieving this via the keyboard.
There is no means of copying a contact.
Removing a contact from address book A should not be the default when using drag and drop to a Mailing List.
Currently, you have to manually add all the same information of contact into another address book and then add contact to mailing list. Not helpful and not business wise efficient.

I agree with Magnus, you still need Mailing Lists as separate from Categories. They are not the same.
I'm not sure how categories would work. It sounds like you are suggesting just one address book for storing all contacts and then Categories which can be added within a contact details which then act like sub address books, But you would need the Categories to be listed separatelylike the currebt address books eg: Personal from Business and then mailing lists which can be sub to any category. But that would also need to be a selectable item within the edit contact. So you may have a contact who is a a Business Associate and Walker Club friend, so listed once in the Address Book, but is listed in Category Business and Also Category Walker Club and this contact may be in a Mailing list called 'Walkers Club'

So in effect the current 'All Address Books' becomes the one and only real address book where all contacts are stored.
Thought - Maybe if only one then there should be an auto backup like 'calendar-data' folder has 'backup' for sqlite file.
You have the choice of choosing 'Categories' within the 'Edit Contact' - with a default Category selected eg: Personal.
The current 'Address Books' become the 'Categories', so they are a virtual list for organising and display purposes.
In Edit Contact you would also have a choice of choosing any 'Mailing List' within any Category.

Contacts in the 'All Address Book' can appear in any Category and any Mailing List.

Either way you would still need to drag and drop into Categories because editing each contact is not quick nor efficient and you would still need to drag and drop into Mailing Lists which are not categories.
You would need a facility to select contact (s) in Address Book and use a right click menu to add to a 'Catagory' and also add to a Mailing List which would by default add to the associated Category.

The one thing I see as a benefit is if I now export the new 'All Address Books' or you may now just call it 'The Address Book' , it also exports the contact data which includes the Category data and the Mailing List data.
In the past that has been a real problem because reinstalling an address book with contacts does not restore mailing lists. Perhaps this is an opportunity to remedy that age old problem at the same time.

Previous comment is assuming a contact may be 'The Address Book' and also in Category 'Walker Club' but it stores only name address and telephone number - no email address, so not in a Mailing List.
I would also assume an imported address book like gmail may be a completely separate Address Book - not sure how that works with 'categories'.

Not all contacts would necessarilly have an email address. So that would have to considered.

(In reply to Magnus Melin [:mkmelin] from comment #7)

I know some larger orgs depend heavily on lists, and nested lists.

Do we support nested lists?

Anyway, there's no need to panic :D
Obviously we will consider this very thoroughly and make sure that categories are suitable to properly replace lists, like giving users the ability to show specific categories in the left sidebar for quick access (like lists), and so on.
More proper planning, with mock-ups and proposed improvements will be soon shared in our usual mailing lists.

(In reply to Alessandro Castellani [:aleca] from comment #10)

Do we support nested lists?

Yes, we do.

Not really. I mean they're possible but only by abusing mechanisms intended for other things. To claim we support them is a bit of an exaggeration.

All I know is they work, and there are people relying on that behavior.

You need to log in before you can comment on or make changes to this bug.