Opened 5 months ago

Last modified 3 weeks ago

#22942 new enhancement

Deprecate Post by Email

Reported by: ericmann Owned by:
Priority: normal Milestone: Awaiting Review
Component: Blog by Email Version: 3.5
Severity: normal Keywords: dev-feedback 2nd-opinion has-patch needs-testing
Cc: trepmal@…, sabreuse, mike@…, info@…, xoodrew@…, mdhansen@…, luke.gedeon@…, TheAdityaJain, erick@…, adam@…, bikertom@…

Description

We said last year that we'd remove the post by email functionality from core as it was better suited for plugins. The Jetpack plugin has already added this functionality and, honestly, includes better functionality than the core version.

We should move forward with our plans to remove this feature.

I recommend deprecating it similar to the way the link manager was removed in 3.5. Essentially:

  • New WordPress installations will never see the core feature
  • Existing installations that aren't using it won't see it any more
  • Existing installations that are using it will see a notice explaining they should switch to a plugin instead as the feature will be completely removed in the future

Basically, I want the option to go away, but I don't want anyone to start a riot if we remove a tool they're actively using.

Attachments (2)

22942.diff (4.5 KB) - added by ericmann 5 months ago.
First pass at deprecating the post by email settings section.
22942_updated.diff (4.5 KB) - added by adamsewell 3 months ago.
Fixed a typo in previous patch

Download all attachments as: .zip

Change History (25)

  • Cc trepmal@… added
  • Cc sabreuse added
  • Cc mike@… added

comment:4 follow-up: ↓ 5   toscho5 months ago

  • Cc info@… added

Before we do that there should be a good, standalone plugin as replacement. Jetpack might be nice, but for many people it is just not an option due to many side effects.

comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6   alex-ye5 months ago

Replying to toscho:

Before we do that there should be a good, standalone plugin as replacement. Jetpack might be nice, but for many people it is just not an option due to many side effects.

Yes I agree with you , We should publish an official plugin .

comment:6 in reply to: ↑ 5   ericmann5 months ago

Replying to alex-ye:

We should publish an official plugin.

That's what derailed this the first time 'round. We wanted to make post-by-email a "canonical" or "official" plugin and that never happened.

Before we do that there should be a good, standalone plugin as replacement.

No, we don't. Anyone who's not already using the feature will be unaffected if it goes away. Anyone already using the feature can still use it if we deprecate it.

JetPack is a perfectly reasonable plugin for the majority of people who need/want post-by-email functionality. Deprecating the feature (not turning it off, but warning people that it will be eventually disappearing) is the first step to encouraging others to develop a plugin that fills the I-need-this-but-can't-use-Jetpack void.

  • Cc xoodrew@… added
  • Cc mdhansen@… added
  • Version changed from trunk to 3.5

+1 on deprecation, but I don't agree Jetpack is a good replacement for it. I think there needs to be a good standalone plugin to do this. I've got a reply by email plugin for bbPress; I might see about adding support for posting by email too.

comment:11 follow-up: ↓ 21   Ipstenu5 months ago

Given how fugly the current one is, and it's limitations, deprecate.

I want to see more plugins challenge Jetpack, since offloading the email parsing to .com's servers won't work for everyone (but that's a lot why that plugin is so much better than the core version).

First pass at deprecating the post by email settings section.

  • Keywords has-patch needs-testing added

This first pass at a patch follows the same logic we used when deprecating/removing the Link Manager for 3.5:

  • Default options for Post by Email configuration are no longer added to the DB on install
  • New installs have post_by_email_enabled set to 0 (disabled)
  • Old installs that are still using the default values (i.e. mail.example.com for mail server) will have the post_by_email_enabled option set to 0 upon upgrade
  • Installations actually using the settings will have post_by_email_enabled set to 1
  • The table on options-writing.php that presents the Post by Email settings is hidden if post_by_email_enabled is set to 0

This doesn't actually remove the option to post by email from core, but it hides it from new installs. Hopefully, this first step will encourage more well-written plugins that enable post-by-email functionality to show up in the community. We already have Jetpack, but quite a few people have voiced concern to that being the only player.

Hiding the feature in such a way will:

  1. Encourage more plugin contributions
  2. Not have a negative impact on those currently using the feature
  3. Allow stubborn users/developers to easily turn things back on by changing 1 option in the DB, or by even adding a filter

The next step will, hopefully, be to actually remove the code for the feature in 3.7 or 3.8. But this should be a solid step forward for 3.6.

comment:13 follow-up: ↓ 14   JustinSainton5 months ago

Just voicing a reminder to check the db_version before 3.6 goes stable. IIRC, there was a link manager issue in an RC due to referencing a stale db_version.

comment:14 in reply to: ↑ 13   ericmann5 months ago

Replying to JustinSainton:

Just voicing a reminder to check the db_version before 3.6 goes stable. IIRC, there was a link manager issue in an RC due to referencing a stale db_version.

Solid reminder. The current patch is referencing the DB version as of 3.6-alpha (latest svn up) but can/should be incremented as things continue to develop.

comment:15 follow-up: ↓ 16   lgedeon5 months ago

  • Cc luke.gedeon@… added

Would be great if we could send a deprecation note via email to anyone that uses the feature. Reasoning: some people may be using this feature as their only interaction with their blog and never log in to see the notice.

comment:16 in reply to: ↑ 15   ericmann5 months ago

Replying to lgedeon:

Some people may be using this feature as their only interaction with their blog and never log in to see the notice.

At the very least, someone would have to log in to trigger the update in the first place. When we release a version deprecating the feature, we'll document it. When you upgrade you'll either see the announcement or the welcome screen with a list of changes. Either way, the person upgrading should be aware that the feature is going away.

Ha! I almost mentioned someone having to log in to update but I am notorious for answering objections that would never have been raised anyway. :)

You might see the notice when updating, but many installs are being automatically updated by hosts now. If the host sees the notice they might realize their client never logs in and needs to be notified by email. Maybe.

  • Cc TheAdityaJain added
  • Cc erick@… added

Fixed a typo in previous patch

  • Cc adam@… added

comment:21 in reply to: ↑ 11   mighty_mt7 weeks ago

  • Cc bikertom@… added

Replying to Ipstenu:

offloading the email parsing to .com's servers won't work for everyone

That's exactly why I don't like Jetpack's post by e-mail feature. I've written a plugin that hooks into the 'wp_mail_original_content' filter and parses/modifies the original body of the e-mail. This obviously doesn't work with Jetpack because the content has already been parsed/sanitized before it reaches my blog...

I know that wp-mail.php is quite rudimentary and can be a little buggy but I think it's a good base to build on. Would be very interested if it was made into a plugin and extended with some new functionality.

Researching this, I noticed the Codex entry references Postie, which appears to be a full replacement for wp-mail.php with new functionality.

I am applying now for the gsoc post by email project. And I would like to create that

good, standalone plugin as replacement

here is the description so far:
http://jukgsoc13.wordpress.com/

I would be glad for any kind of feedback, things that would be great to include, questions...

Note: See TracTickets for help on using tickets.