End user pre-approval queue experience can be much improved

At the moment the pre-approval queue feature is pretty user hostile.

If you submit a topic you see:

How can you tell what topics you have in the queue? There is nothing in activity.

Allowing edit is possibly a spam vector if implemented incorrectly (cause people could edit it JUST as you are approving a previous version) however if we were careful you could very cleanly allow safe edits. Which enormously improves the end user experience.

The situation for posting in a topic is even worse.

You get the same dialog.

However on the actual topic you see no trace of your pending post.

I can not tell it exists in my profile, I can not tell it is out there for approval on the topic. I can not edit it.

As an end user, when I experienced this whole thing at https://discuss.reactjs.org/ I felt absolutely terrible. It is like you are driving completely blind.

@xrav3nz as you are improving the moderation queue I really want you to keep this in mind, making a user hostile feature even more easy for moderators may not be the correct order of operation here. We got to think about the users.

12 个赞

Same problem with Akismet: Akismet has temporarily hidden your post, but which one? - #9 by erlend_sh

1 个赞

Akismet and moderation queue really need to be unified, having 2 systems now that have radically different features is really bad. Akismet is now missing all the fancy edit stuff @xrav3nz just added.

2 个赞

Thanks for pointing this out! As I was testing the approval workflow for my last PR, I did feel awkward about the end-user experience. Chose to ignore that at the moment because that wasn’t the area of focus. Now is probably a good time to come back to this!


A few potential improvements off the top of my head:

  • User Activity Page:
    • include pending posts into all/topics/replies, with indication that they’re awaiting approval
    • a separate section dedicated to pending posts; only visible if the user has pending posts
  • “Post Needs Approval” Dialog
    • link to the “pending posts” section on User Activity Page
    • “3 staff who are online have been notified”? - This can also be a bad idea
  • Topic list / post stream
    • could display the pending topic/reply with clear indication that it’s invisible and awaiting approval
    • the pending posts’ ordering with respect to other posts is important
  • Approval queue edit:
  • Improved notification upon approval
    • “your post have been approved, here’s the link to it”
    • maybe a generated message from the staff who approved the post; implement with care as we do not want to spam the user
    • or something close to what we have right now:
      image

The above list is actually missing how to treat rejected post:

  • Do they continue to show up in pending posts?
  • Should we notify the user? If so, how?

Will try to compile a better and more detailed list after giving it some more thoughts.


I actually don’t know anything about the behavior of the posts affected by Akismet and its queue; will get myself familiar with it.

4 个赞

Problem is, that is a plugin vs. core. So that implies we move Akismet to core.

No need to do that, the problem was the we built akismet prior to building the approval queue.

If we had to do it from scratch akismet would simply extend the approval queue UI and use it via the plugin instead of introducing its own ui.

7 个赞

A few proposed new features that aims to improve the approval queue experience:


Notification upon approval

Currently, the user has no insight into the status of their pending post; they will not even know when their post is approved!

notification popup menu

Similarly, when a post is rejected, a system generated PM could be sent with an optional reject reason.


"Pending" section on user activity page

  • This section is only visible to the user him/herself.
  • This section is only visible if the user had posts pending approval
  • Posts awaiting approval can be deleted, but not edited.

Record full edit revisions on queued posts

This does not improve the user experience directly. However, what happens when the user finds out his/her post had been magically edited?

I actually have a PR ready for this, and it can benefit from some serious review :wink:


"Post needs approval" Modal

Obviously, this could link to the “Pending” section mentioned above:

Additionally, what about a system generated PM similar to the one we have for Akismet? This is to empathize with the user, and it is only sent the first time that a user submitted a post pending approval.


Show pending reply in an existing topic

This should only be visible to the author:

When the user is replying to the same topic again, a composer message could be helpful:

It looks like that you already have a reply that’s pending approval:

Original reply excerpt here

Are you sure you want submit another one?


I understand that this may not be a priority for the team; I’d love to work on them once the specs are finalized.

Open to suggestions, cheers! :muscle:

1 个赞

I think you are scoping a GIANTENORMOUS bit of work here.

Start with 1 feature, I would say the most URGENT feature is showing the end user the post they have in the queue

You have one post pending approval on this topic

:arrow_up_small: just scope how this should work for now.

5 个赞

Allowing user edits to posts in the queue would be very valuable for us. I anticipate that members of our community will post topics without reading the pinned topic we have. Providing a list of a few things to make sure their post includes in the ‘Post needs Approval’ dialogue would reduce the amount of back-and-forth between our moderators and the topic creator.

2 个赞

I agree with the editing request here @sam but we need to unify all post queues first yes?

2 个赞

I just experienced this on https://discuss.python.org/ again. As an end user it felt really crummy. :sob:

  1. I can not tell in which topics I have pending approval posts
  2. I can not edit my pending approval posts
  3. I can not tell when my thing is going to be approved

What I would like:

  1. On topics, simply display my unapproved post as the last post in the stream with special formatting saying it is pending approval. It will always be last no matter what. This is editable by me.

  2. When I post instead of “Please be patient”, “It usually takes about 4 hours for posts to be approved”, we can recalculate weekly.

  3. Extra super bonus points stretch goal, allow 2 TL3s to approve one of these guys so it happens faster

@eviltrout maybe we can assign this out once your review queue is shipped? It would be a nice little first project for someone who is not yet familiar with the review queue.

11 个赞

I feel like we have a feature request here that ties into the work @dan is doing… basically, arbitrary staff post annotations.

What’s the difference between this…

and this…

and this…

?? cc @hawk

5 个赞

I agree – same works here. Maybe a different colour when it’s just for you and when it’s for everyone though.

5 个赞

Sure, I’d be happy to do it myself but there is value in letting other people explore and test out my code.

6 个赞
  1. and I can’t tell if my post has been approved! (of course unless someone has liked or replied to my post).

may number 4 be a simple notification?

image

5 个赞

我们有关于这里所做工作的任何UI截图吗?@sam?只是为了完成这个。

2 个赞

现在会发生这种情况。

如果您发布新帖子:


可能的改进:

  1. 最终用户“删除”无需确认。单击即可永久删除,无法撤销。

  2. 一旦进入审核队列,就无法“编辑”,必须删除并重新发布。

  3. “等待批准”的帖子不显示完整上下文(回复的是什么)

  4. 我们没有链接到可以查看所有待处理帖子的位置:(不是指向活动的超链接)


我想说自从我第一次提出这个问题以来,我们已经取得了很大的进步,但是在此之前,我不想关闭这个问题:

  • 为删除添加确认或撤销选项
  • 将“2 个待处理帖子”链接到用户活动,以便轻松找到它们。
  • 在追踪记录中显示回复的是什么
  • 改进链接,使其指向帖子,而不是主题中的第一个内容。

编辑是一个不错的远大目标,它有点棘手,因为存在竞态条件。

我想我们需要决定这个功能要做到什么程度,我觉得我们应该再给它一周的开发时间,然后关闭它,完成所有简单明确的改进。

同样,从管理员的角度来看,我总是很难决定如何处理需要批准的帖子,因为我在批准队列中缺乏上下文。

特别是,我见过垃圾邮件机器人复制代码并更改一两个单词然后再次发布。在没有上下文的情况下,这似乎是合理的,但一旦您访问该主题并获得上下文,您就可以看到他们刚刚做了什么。我想直接从主题中添加支持批准可能是有意义的,这样如果您寻求更多上下文,就可以在人们回复的地方批准帖子。但这显然可以等。

2 个赞