[wp-trac] [WordPress Trac] #35435: Support Webmentions

WordPress Trac noreply at wordpress.org
Thu Jan 14 06:02:26 UTC 2016


#35435: Support Webmentions
------------------------------+------------------------------
 Reporter:  dshanske          |       Owner:
     Type:  enhancement       |      Status:  new
 Priority:  normal            |   Milestone:  Awaiting Review
Component:  Pings/Trackbacks  |     Version:
 Severity:  normal            |  Resolution:
 Keywords:                    |     Focuses:
------------------------------+------------------------------

Comment (by dshanske):

 Part of the big problem with implementing per the spec is the asynchronous
 processing by the receiver, however without it, you lose some of the
 advantages. This needs to be very carefully thought out to avoid it
 becoming a liability.

 This is what I have so far trying to break the specification down. A
 webmention is sent to the endpoint...

 1. The receiver checks if they are valid URLs and that the target is
 something accepting webmentions.
 2. A comment is created with a new status(let's call it queued or pending,
 names don't matter) and comment type webmention. This status does not
 trigger the traditional spam checks. It would return notice of the queue
 to the sender with a URL to check status.
 3. A wp-cron job processes the pending webmentions. The job would then...
 4. Check for previous webmentions with the same source and target. If
 multiple webmentions, that is probably indicative of a flood.
 5. If there is an existing webmention with same source and target, call a
 function to update the existing webmention. Otherwise, create a new
 webmention.
 6. Regardless, retrieve the source document, imposing a maximum size and
 timeout limitation to prevent exploits, verify the source document links
 to the target URL.
 7. If there isn't a match, the update function would delete the existing
 webmention. If there is no existing webmention, it should be classified as
 spam so it could be used appropriately.
 8. If there is a match, the webmention would be parsed(separate issue), a
 complete webmention would be run through the traditional spam checks and
 plugin hooks, and posted or not as the case may be.

 There are opportunities to break this into pieces to make it more
 manageable. But there is no specific urgency for a webmention to be
 displayed immediately upon its receipt. The queue could process it 2
 seconds later, or 5 minutes later.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/35435#comment:2>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list