Problem: We recently tried to add a list of users to a group by adding their email addresses to the Bulk Add to Group page. This list had 191 emails. Upon completion, I got the following message: The users have been added to the group. However, I noticed when later that there were only 127 members of the group. I first figured the list was too long and tried splitting it up, but that didn’t help. I ended up writing a Data Explorer query to get the emails of the members of the group so I could check it against the email list I had, and discovered that some of the emails didn’t exist on the forums, or were duplicated.
Request: More details on the success page if emails did not work. The amount of manual effort required to figure out which emails failed is currently far too high. Ideally, the list of emails (or username) would be displayed with a “success” or “failed” for each. Alternatively, only display the unsuccessful entries.
I replaced success page with a success alert which informs total users added to group.
I spent considerable time on this feature today trying to squeeze the information you asked for, but I realized that it’s not possible without impacting performance.
Initially I thought it will be possible because I have worked on bulk invite feature where we do provide detailed error log via PM. It’s not possible here though because instead of looping through each username/email we simply use IN condition to find out the IDs of users you are trying to add to group. So invalid username/email gets ignored, not resulting in further error. Changing this code to loop through each username/emails will result in significant performance hit when bulk adding thousands of users to a group.
I will discuss this further with @eviltrout to see if there is a possibility to add detailed error log here without significant performance hit.
Thinking out loud here: could this be made a background task, just like exporting one’s posts is?
Getting a number is great, but if I try to add 200 users to a group, and the message says 199 users have been added... that’s not really helpful. It’s better than before - now I’m explicitly told it didn’t get everyone in the list - but I still have to go through a complicated process to figure out which 1 user wasn’t added.
The only reason I can think of is that the email is not used on the forums, which is exactly what I expected.
Edit: For context, I have a list of “hired staff”. If they’re on my list it means they’ve been hired. It does not mean they’ve signed into our WordPress site, which is what creates their account on the forums (SSO). I’m tracking which emails fail in a spreadsheet to try again later.
Edit 2: One more thing, the list of emails is not sorted in any way, and that’s great! It makes it much easier to compare to my list than if it was, say, sorted alphabetically.