Page MenuHomePhabricator

adminbot (morebot) to lose ability to post to Twitter due to API deprecations
Closed, ResolvedPublic

Description

Identi.ca is migrating to a new distributed social service called 'pump.io'. This was supposed to have happened on June 8th, but details about it are a bit scarce. One of the things entailed in the migration is the deprecation of the current status.net API with adminbot uses to post messages to identi.ca that then get forwarded to Twitter.

Twitter also retired version 1.0 of its API, obsoleting some of the Python Twitter API libraries in Ubuntu Precise.

The future of identi.ca seems rather uncertain and the underlying protocol of the new pump.io API probably has a kink or three. It probably makes sense to ditch it and post to Twitter exclusively. (We have several hundred people following the SAL via Twitter.) We should start by identifying a reliable Twitter API client library that has some established history of following Twitter API changes.

http://identi.ca/doc/pumpio
https://github.com/e14n/pump.io/blob/master/API.md
https://github.com/e14n/pump.io/issues/151


Version: unspecified
Severity: normal
URL: http://identi.ca/doc/pumpio
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=20079

Details

Reference
bz49476

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:42 AM
bzimport added a project: Utilities-Other.
bzimport set Reference to bz49476.
bzimport added a subscriber: Unknown Object (MLST).

(Credit to Nemo for noticing this, BTW.)

Someone should warn the social media team, they also are taking care of some identi.ca migration stuff and are interested in identi.ca<->Twitter coordination.

Yes, we have been discussion this in the social media team. After Erik reached out to Evan last week, we are currently proceeding under the assumption that a Twitter bridge will become available again soon after the pump.io transition.

I think for the time being we should drop identi.ca support and just post directly to twitter for adminbot (morebots). The follower count on identi.ca is far smaller than twitter (85 vs 599) and there's only a single pump.io python library that is mostly incomplete, isn't packaged, requires python 3.3, and requires us to drop another unpackaged library into its path. The following on pump.io is likely to be even smaller than identi.ca's and without the pump.io -> twitter bridge we'd be cutting off a larger following for a much smaller following.

Related URL: https://gerrit.wikimedia.org/r/70032 (Gerrit Change I18c836dea5d39aff4811780abdedd24a7865d3d7)

(In reply to comment #4)

The following on
pump.io is likely to be even smaller than identi.ca's and without the pump.io
-> twitter bridge we'd be cutting off a larger following for a much smaller
following.

Just so it's clear: the following count won't change post pump.io transition. If anyhting, it might go up as people try out pump.io either via their identi.ca account or via another pump.io powered site. Think of it as a backend rewrite where the users will just experience the site differently. All their follows/etc will stay intact.

(In reply to comment #6)

(In reply to comment #4)

The following on pump.io is likely to be even smaller than identi.ca's and
without the pump.io -> twitter bridge we'd be cutting off a larger following
for a much smaller following.

Just so it's clear: the following count won't change post pump.io transition.
If anyhting, it might go up as people try out pump.io either via their
identi.ca account or via another pump.io powered site. Think of it as a
backend rewrite where the users will just experience the site differently.
All their follows/etc will stay intact.

Patch 70032 (above) adds the ability to log directly to Twitter via v1.1 of their API. It doesn't disable or remove the code that logs to identi.ca.

Since the patch is in, the question of priorities is now moot. If we want to throw our support behind pump.io by adding pump.io integration to adminlog, that's totally cool, but unrelated to Twitter.

It doesn't look like https://github.com/xray7224/PyPump will support Python 2.x or be stable/mature enough to depend on any time soon, though, so we'd likely have to write some custom Python code ourselves. This shouldn't be too hard. python-twitter depends on python-oauth2, so we can use python-oauth2 without adding an additional dependency. This should make it possible to write a concise method for logging a single message to pump.io.

Shall we make this bug only about Twitter and close it (after we see the first real post using the code you wrote, Ori) and file another one for identi.ca support? Seems cleaner and we'll at least be FIXED RESOLVED for one part....

(In reply to comment #8)

Shall we make this bug only about Twitter and close it (after we see the
first
real post using the code you wrote, Ori) and file another one for identi.ca
support? Seems cleaner and we'll at least be FIXED RESOLVED for one part....

That seems reasonable to me.

(In reply to comment #9)

(In reply to comment #8)

Shall we make this bug only about Twitter and close it (after we see the
first
real post using the code you wrote, Ori) and file another one for identi.ca
support? Seems cleaner and we'll at least be FIXED RESOLVED for one part....

That seems reasonable to me.

Done. See bug 50109 for identi.ca stuff. Once there's a good post from adminbot to twitter, we can RESOLVED FIXED this'un.

Fixed! Thanks Faidon, Ryan, Greg & Antoine for reviewing / testing / packaging / deploying etc.!