Archiving posts

How is archiving supposed to work when something is in multiple groups?

Should the archive button (in a pots) archive it everywhere or only in 1 group or only in the groups that the user has access to?

If the last, would it make sense to have a dropdown beneath archive to say where it should archive/move back?

We current get inconsistent behavior when @support (Which doesn’t have access to @sales) archives a post. It will show a “Move back to inbox” button in the post, but still shows in @sales.

1 Like

To be more precise, this is what happens:

  • email comes into Support.
  • Someone from Support assigns/invites Sales
    => email now shows in both
  • Someone in Support archives the email
    => email hides from Support list, but still shows in Sales. Going INTO the email there, there’s no more Archive button, but instead there’s “Move to Inbox”

clicking “Move to Inbox” seems to do nothing but bring me back to (my own) inbox list. but when I then navigate back to Sales and into the email, “Archive” is back and I can archive the mail out of Sales — finally.

Note that clicking “Move to Inbox” does not seem to actually move the mail anyways, it just changes it from Show "Move to Inbox" Button mode to Show "Archive" Button mode.

Suffice to say the 5 extra navigations to archive an handled mail get very annoying, when they need to happen several times a day…

thanx!

1 Like

This is @sam’s feature so he would need to comment on that.

wow … you sure are using this heck out of this feature, which is awesome.

To be honest I never thought through the flow of what should happen 2 different groups with different levels of access hit archive and am not surprised you are hitting edge cases. Can you do a list of examples with what your desired behavior would be.

6 Likes

Hi,

The most important thing for us is to be able to Archive a post if it’s partially archived.

Ideal would be some kind of choice “Archive: All, Sales, Support” (whichever groups are applicable) so that when Sales hands off a post to Support (invites @support), they can archive it for just sales (“done dealing with this”); only unarchiving it again should @sales be invited back again.

I need to work through how you see this working.

Say you have 2 groups, “sales” and “support” no members overlap.

Message goes had topic allowed groups of “sales” and “support”… “support” hit archive, what happens?

  1. message is archived for “sales” and not archived for “support”
  2. message is archived for both “sales” and “support”

They then click “unarchive”

  1. message is no longer archived for both?
  2. message is no longer archived for sales only?

Basically are you saying that you want archive state to always bleed between groups?

2 Likes

In our case, sales does have access to support, but not the other way around. I don’t think it’s a good idea to let support (which doesn’t have access to sales) affect sales@ “archived” state as that sounds like a security leak.

so imo, if support hits “archive” it should be archived for support, not sales.

If a sales member hits “archive” (and the folks in sales have access to support) they should imo get a choice of which group it should be archived for (sales or support), since they have access to both.

There’s a rare case where a post was sales, got archived and handed to support and has to be given back, but I’m fine with manually dealing with that.

this is where it gets confusing, cause now the archive button gets more painful to use. is default archiving it for all groups you have access to work for you?

Only for the cases where a post is in multiple groups.

That’s ok I guess, the only change then would be that one can do “archive” again if it’s only partially archived.

I am still confused … the table stores “archive” state per “group”…

So if you are in both groups it would be full archived for both groups. And I guess the reverse has to hold… if you unarchive it it would be fully unarchived for both groups.

So:

Archive == “archive message for all groups I belong to”
Unarchive == “unarchive message for all groups I belong to”

Sure; the problem starts here:

Message comes in to sales@
@Sales invites support@
[State: not archived for both]
@Support archives
[State: archived for @Support, not archived for @Sales]
@Sales still sees it, but the button says “Move to Inbox” on the post itself; sales has to do Move To Inbox, then Archive again to actually properly archive it.

(the folks in support don’t have access to sales)

1 Like

I see … what a giant pickle.

So if a message is “half archived” for you what do we do?

“Move to inbox” button is wrong. (it is already in one of your group inboxes)
“Archive” button is wrong. (it is already archived in one)

Displaying both buttons is weird … this is such a giant pickle of a mess.

Yep; that’s actually our problem… Additionally “Move to Inbox” moves you back to the group list, so then one has to find it again and Archive it again.

For us these cases are very common but I imagine most will only have 1 group.

1 option would be to change the title to “Archive All” and “Move to all inboxes” (and show both for the case of an inconsistent match) for the cases where there’s more than 1 applicable group. I agree it’s a mess though.

We could maybe just prefer to show “archive” cause that is more common?

Then if its in a “half” state we just show archive, which is, by far, the more likely action you want to take.

1 Like

That would be fine too. Archiving is the end goal after all.

1 Like

I am surprised we did not hit this cause we have a similarish setup… fixed now:

https://github.com/discourse/discourse/commit/f8637ed61602bbaf19b57321d6d3402ddf36b152

SQL is a bit gnarly but it is very fast.

7 Likes

Seems to work. Thanks!

2 Likes