Making WordPress.org

Opened 3 years ago

Closed 11 days ago

#5653 closed enhancement (fixed)

Plugin Directory: Track reasons for Rejection

Reported by: ipstenu's profile Ipstenu Owned by:
Milestone: Priority: normal
Component: Plugin Directory Keywords: has-patch
Cc:

Description

This came up in the conversation about making statistics boards for teams.

One of the things we don't do is track WHY something was rejected, so I came up with a list of why plugin submissions are rejected:

  • 6 months without completion (default)
  • Code is already in core
  • Duplicate (copy) of another plugin
  • Framework or Library Plugins
  • Generic for plugins we're just not hosting
  • New/renamed version of their own plugin
  • WP-CLI Only Plugins
  • Storefronts
  • Not Your Plugin (submitter tried to upload here instead of their own site)
  • Script Insertion Plugins are Dangerous
  • Test/Demo plugin (non functional)
  • Translation of existing plugin
  • Banned developer trying to sneak back in
  • OTHER (needs a followup to explain why)

That's actually the list of pre-defined emails we use, so it's pretty accurate.

Having this would allow us to customize the rejection email and obviate (or minimize) the need to re-send a 'why you were rejected'. Bonus, it can auto-update the plugin notes, so we have the history without having to spend more time copy/pastaing.

With the 6-months be default (in theory at least) we would still be able to bulk reject.

Change History (16)

This ticket was mentioned in PR #107 on WordPress/wordpress.org by @dd32.


18 months ago
#1

  • Keywords has-patch added

#2 @dd32
18 months ago

@Ipstenu It might be nearly two years later, but I made a start on this.

I haven't yet got to the Bulk rejection, but I'm assuming I'll just add the dropdown again for Bulk actions, although you'd suggested defaulting to 6-month, I'd rather have an explicit choice (even if it's all you use it for, I'm hopeful others might have a reason to use it for other things in the future).

Does the above list need any updates at all?

The rejection email can be customized in a followup change.

#3 @Ipstenu
18 months ago

From the list, there's on change:

-> 6 months without completion (default)

Change to 3 months.

The 'select all posts' works to reject like it does for a normal 'change the status of these posts' selector. I wouldn't mind integrating a 'why reject?' requirement but I cannot think of how that UX would work.

Now _automating_ rejections fully at 3 months... Is another thing all together :D

#4 @dd32
4 months ago

In 13033:

Plugin Directory: Record the reason a plugin is rejected.

See #5653.
Closes https://github.com/WordPress/wordpress.org/pull/107.

#5 @dd32
4 months ago

In 13084:

Plugin Directory: Don't output the close/disble reason selector twice.

[13033] accidentally caused the close/disable reason selector to display before each button, rather than once.

See #5653.

#6 @dd32
3 months ago

Just noting, that we still need to actually customise the rejection email with generic details for that rejection reason.

The rejection email sent in all cases is currently this:

Unfortunately your plugin submission for {$PLUGINNAME}, submitted on {$DATE}, has been rejected from the WordPress Plugin Directory.

Plugins are rejected after three months (90 days) when there has not been significant progress made on the review. If this is not the case for your plugin, you will receive a followup email explaining the reason for this decision within the next 24 hours. Please wait for that email before requesting further details.

If you believe this to be in error, please email plugins@… with your plugin attached as a zip and explain why you feel your plugin should not have been rejected.

We need to figure out a one (or two) paragraph template for each of those rejection reasons, explaining the why/how.

One thought that comes to mind, is that maybe we could have a handbook page with the various rejection causes, that would allow for creating .../rejected/translation-of-other which we could have full explanations of "here's how to use translate.w.org" and the reasons behind that stance.

Last edited 3 months ago by dd32 (previous) (diff)

#7 @frantorres
3 months ago

I agree to include it in the handbook and get it from there. If there is no technical limitation, I will check whether to have it in the public or private handbook ( #7358 would need to be addressed before including it the public one )

#8 @frantorres
3 months ago

Added all the replies to the private handbook as separated handbook posts to be able to get the text from there. Created as classic, so hope that getting the HTML from there might not be an issue.

These are the complete replies for each case, verified to be able to add this at the beginning:

Unfortunately your plugin submission for {$PLUGINNAME}, submitted on {$DATE}, has been rejected from the WordPress Plugin Directory.

They are at PrivateURL/handbook/reviewing-plugins/rejected/<rejection-reason>/

Being <rejection-reason> the key of the rejection reason arrays listed in the get_rejection_reasons() function.

For example: PrivateURL/handbook/reviewing-plugins/rejected/generic/

Besides all of this, it is needed to add a new rejection reason (reply is already created):
'security' => 'Security concerns'

#9 follow-up: @dd32
3 months ago

Added all the replies to the private handbook as separated handbook posts to be able to get the text from there. Created as classic, so hope that getting the HTML from there might not be an issue.

Thanks! The rejection emails are currently plain-text, but I can upgrade these to HTML as part of this to better communicate the email.

I think there was a bit lost-in-translation on the notion of a handbook page here though - mostly because I wasn't very clear; I was thinking this would be a public handbook page that expanded on a single paragraph in the email.. ie.

Your plugin has been rejected due to {blah}, we feel that plugins of this nature are not suitable for the directory, yadda yadda.

For more details on the reasoning behind this, please view https:...../handbook/rejected-for/unsuitable

I don't think that's necessarily needed, but thought it might be a way to keep the emails a bit more to the point.

But what that does mean is that I'm going to have to copy the contents from the handbook and move it to PHP templates instead, as I don't think we can realistically pull the contents from the handbook and email that to plugin authors, and have future editors of the handbook to realise whatever is on the page is going to go the author.

#10 @dd32
3 months ago

In 13153:

Plugin Directory: Review: Add a new 'Security Concerns' rejection reason.

Props frantorres.
See #5653.

#11 @dd32
3 months ago

In 13154:

Plugin Directory: Review: When rejecting a plugin, include the reason for the rejection in the initial email to the author.

This will result in less work for plugin reviewers, and plugin developers will get the information at rejection time, rather than shortly there after.

See #5653.

#12 in reply to: ↑ 9 @frantorres
3 months ago

Replying to dd32:

I think there was a bit lost-in-translation on the notion of a handbook page here though

Sorry, I misunderstood that and it was actually a great idea, if you ever want to do it that way, I'm in. The way it's done now will work too so thank you very much.

#13 @dd32
3 months ago

Sorry, I misunderstood that and it was actually a great idea, if you ever want to do it that way, I'm in. The way it's done now will work too so thank you very much.

Would be happy to, but upon actually adding these email templates, something jumped out at me:

  • Translations.

These are now available to be translated, and while the plugin reviews are only in english, and the rejection emails go out in english, we could switch to the plugin authors locale before sending the email, so they get translated rejection emails... we just don't know their locale atm..

#14 @dd32
3 months ago

Whether it needs changing again though, mostly comes down to the question of:

  • How often is it going to change?
  • Would the rejection reasons description be worth expanding upon?
  • Would a public page that's able to be referenced be of value.

#15 @dd32
2 months ago

In 13199:

Plugin Directory: Fix a variable typo causing a php warning.

See #5653.

#16 @dd32
11 days ago

  • Resolution set to fixed
  • Status changed from new to closed

I'm going to mark this as fixed, and the text followup can occur via #7555 as the long translations aren't great for translators.

Note: See TracTickets for help on using tickets.