The idea behind Twittergator is to aggregate multiple users' Twitter posts under one or more single accounts. There are a few ways this could be done:

1. Allow users with proper permissions to post select nodes to Twitter under a given account. This would be useful on a regular Drupal site with standard content such as blog entries, announcements, etc. that occasionally (or regularly) should be posted to Twitter:

node aggregation

2. Pull in a bunch of users' public twitter feeds and re-tweet them all as-is, filtered on a particular keyword/tag. This would be useful for aggregating all of the Drupalchix's posts about Drupal, for example:

twitter aggregation

What do you think? Which one is the way to go? Or both? Or something else entirely?

Comments

stella’s picture

I like both ideas. The second one seems more useful at present, but I imagine people will want both eventually.

For the first one, I think it also might be an idea to be able to configure a vocab or taxonomy term and any posts tagged with those terms will automatically be posted to twitter. However, that's a bit more complicated, so maybe we should just concentrate on the scenario you've outlined above as the first phase.

Great mock-ups by the way! Are you using sketch for those too? I really need to start using that.

Cheers,
Stella

blakehall’s picture

Seems to me like the first part could just be an extension to the Twitter module (support for multiple accounts). So I think it makes more sense to start work on the second option.

I'm definitely interested in helping make this happen. Thanks for getting the ball rolling!

robeano’s picture

I agree with Stella. I think they are both useful and really they are handling two separate needs. If we have enough dchix together, we may be able to split into two groups and work on each one.

Looking at the twitter module, it seems like it already handles posting content to a twitter account. For #1 are we extending the module or creating a new one?

I am not sure I understand #2. How do you restrict who can setup the retweeting? Is it still just a matter of knowing the password to the twitter account? That sounds correct as I write it, but just want to confirm.

Let's do both!

webchick’s picture

@stella: No, OmniGraffle. Skitch is just convenient for taking screenshots and posting them.

And yeah, Twitter module currently does the "post-a-node-to-Twitter" thing, although the logic currently ties it to an account associated with a user's profile (so it doesn't handle the group twittering requirement). However, there are feature requests for #369930: Ability to set multiple global Twitter accounts and #379748: Always post nodes of a particular type to Twitter (which we should probably change to taxonomy; I like that idea!) so I agree that that functionality is probably best left to Twitter module "proper."

webchick’s picture

@robeano: Yeah, the screenshot for #2 got a bit sloppy because I was starting to get tired. ;)

Basically, how it would work is this:

1. You enter the username and password of the Twitter account(s) you want to post to. This is required because Twitter doesn't have a decent API like OAuth. Bleh. :\

2. On the first part of the settings page, you give it a list of accounts to re-tweet. This can be either:
a) A list of people your account follows (so I could make @drupalchix start following people like you and add1sun and lauras, etc.)
b) A list of people that both your account follows *and* who follow you back (so if people didn't want their messages re-tweeted without their permission I could flip it to that)
c) A custom list of Twitter account names, comma-separated or whatever. Useful if I want to designate special "moderators" who are separate from the list of people I'm following with @drupalchix.

3. On the second part of the settings page, you tell it what posts from those people you want to re-tweet. You can either post all of them (which would be "Post all messages that do not contain the following words" with that field left blank), or only those that have #drupal or #drupalchix in them, or make it a manual process where the people you've designated as re-tweetable DM you and you re-post their stuff.

4. There should also be a field here similar to what Twitter module offers to set up a "template" for the messages. For example "RT @!username: !title" or just "!title" or whatever.

Does that make more sense? Note I'm not tied in any way to the UI, I was just using that as a way to get my thoughts in order. :)

KentBye’s picture

I'm actually skeptical of even having the option to out and out aggregating every post from multiple people.
It just feels sort of spammy, especially when you're searching for specific hashtags.

Usually retweeting something indicates that another human being has found value in that link, and they are adding more value by passing it on. By automating that process, then I think it actually devalues the tweet a bit. So at this point Twittergator seems like it could be very easily set up for abuse.

So if you start to add lots of people, then the noise starts to drown out the signal.

I think there's a lot of value in the human curation. So perhaps if twittergator helped make that process easier, by sticking them into a moderation queue.

I like the options to be able aggregate posts from people with a certain #keyword_hashtag like #drupal or #drupalchix or #whatever.

The DM option is a great idea too!

robeano’s picture

@KentBye, I don't think the module would aggregate every post. It's either Direct Message or a keyword list and we make the keywords required. Personally, I wouldn't mind tying it down to DM only. It forces the user to make an effort to say "this tweet is about Drupal and Chix, so therefore I want @drupalchix to see it. The twitter module posts the node as a tweet, so then all we need to add is some UI for saying this node is a DM to @account.

For using taxonomy to automatically tweet, the user could have a drupalchix term and twittergator could find it and send it as a Direct Message.

@webchick, thanks for clarifying. That totally helps. For #2, I think we need to be more selective. In the Aggregate Twitter Messages from, I think offering to retweet to whoever the account follows or even mutually following is a bit wide open. Of course that makes things easier for you, because we already have 40 or more women wanting to connect via @drupalchix. Who wants to enter all of those names...hmmm.

So if it offers retweeting whoever the account follows (or mutual following), then maybe tie down the Post Keyword Filter to Direct Message only? Then for selecting a keyword list, let's offer a custom list or taxonomy. This makes the UI a bit more complex. I need to think about this a bit more.

webchick’s picture

I guess it ultimately depends on what we decide we want @drupalchix to be.

If we want it to be "This is what Drupal women are doing," then having @drupalchix only follow women Drupal contributors and automatically re-tweeting their posts with "drupal" in them accomplishes that goal. It's simple from a setup standpoint (I just click "Follow" on the accounts who want to be broadcast) and also simple from a maintenance standpoint; none of the followed accounts needs to do anything special, just do their normal tweeting. Ones that are relevant to Drupal get automatically piped through. Done. :) And, actually, I could do this with the current FeedAPI module -> custom module -> Twitter module kludge.

However, if we want it to be a curated announcement channel, where humans pick the messages that are important and add context to re-tweets, that also works. But I can't do it alone, and I don't even think "christening" one or two other people with the user/pass to @drupalchix is good; we're a big community, and we should all be able to announce to main channel.

The DM approach would work well for this. My only worry with the DM approach is then people need to do a separate workflow from the norm and they might be less likely to do it. But OTOH, maybe that's good. It would ensure that something only make it through the channel if someone meant it to happen.

webchick’s picture

Hm. One other thought. @drupalchix replies from people who are on the follow list. Only issue with that is that replies are a natural part of most peoples' Twitter activity, so they might mistakenly do a "@drupalchix LOL!" which gets piped through as an announcement. So nevermind. This is a horrible idea! :D

webchick’s picture

Incidentally, here's the API documentation for Direct Message methods: http://apiwiki.twitter.com/REST+API+Documentation#DirectMessageMethods

And the API functions provided by Twitter module's twitter.inc:
http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/twitter/twi.... It currently doesn't provide support for direct message, but there's a patch at #365877: API direct messages that might be useful.

seanreiser’s picture

I think I llke 2 better then 1, but just barely.

Just a thought. Why limit it to Twitter? As laconica supports a twitter compatible API (http://laconi.ca/trac/wiki/TwitterCompatibleAPI) it would be nice if a user could specify a non-twitter account. Granted you'd need to store the URL of the service but I don't think much else would change. Just my 2cents worth.

Either way, it looks great!

webchick’s picture

@sreiser: Actually, Twitter module supports any service. It's a simple setting you can swap out in admin/settings/twitter; just defaults to twitter.com. Since Twittergator would be leveraging the existing Twitter module's APIs, etc. I don't really see a reason it couldn't work with laconica, identica, etc.

Also, drewish mentioned http://drupal.org/project/tapatio, which is a Drupal 5 module for doing moderated content posting to Twitter. It sounds a bit heavy for our needs, but might be worth checking out.

seanreiser’s picture

disclaimer: I have 1 too many Y chromosomes (or 1 too few X) to be a DrupalChix but I am interested in this project.

I wasn't clear earlier, as I was running out to a meeting and perhaps I'm really pointing out a weakness in the twitter module. I get that at a global level one can change which service they work with and based on that you can build a twitergator, an indentcagator, a twitarmygator or even a plurkgator. And that's really cool. However, if we move the service selection down from the admin level to the user account level we now have (with not much extra work) a microbloggator.

What intrigues me about this idea is how it allows you to effectively bridge one community which is spread across multiple microblogging platforms.

webchick’s picture

Ah, I understand now. Filed as a feature request in the Twitter module queue: #386504: Allow optionally setting external service per account

Shai’s picture

#2 I think is better handled with feedapi. This would especially be the case if search.twitter.com continues to extend its search operators. Now it's a bit limited, but you can still do a lot. For a sample, you can go to a proof-of-concept site I set up a few days ago called: http://torahtweets.org. It pulls in tweets that are marked "#Torah." The value-added of the site is that there is a views-bulk-operation view where an editor can come in and super-easily unpublish tweets that don't fit the mission of the Torahtweets.org site. Even though I'm the only editor now at this proof-of-concept site, I've set a clear policy, "remove all wefollow posts and any post that consists only of a url and no other content."

As for #1 I'm quite interested. As per the discussion at: http://drupal.org/node/369930 I think the Twitter module is making the way you've proposed handling the permissions to be really awkward. It would seem to require that a new permission be set for each Twitter account. Uggh.

Shai

Shai’s picture

Gave a wrong URL in the previous example: http://torahtweets.org

sorry,

Shai

ralva83638’s picture

I definitely would like to implement #1 on a site I'm doing, when can we start?

visitor82’s picture

Hi webchick and all

If you are in need of motivation for this project I think its a feature Drupal really needs. My idea is to have a feed of tweets from the ABC (our Govt funded national media outlet in Australia) and our politicians on my property consultancy site. I was really surprised this doesn't seem to be a current capability of Drupal given how much it can do.

I'm a newbie still struggling with theming so I can't be much help on the development side sadly, but happy to take on some role if it will help......

Webchick - "using Drupal" is a godsend, great book ;-)

sun’s picture

Did this stall? Or is there any code one could help with?

gausarts’s picture

Subscribing. Thanks

Project: » Lost & found issues

This issue’s project has disappeared. Most likely, it was a sandbox project, which can be deleted by its maintainer. See the Lost & found issues project page for more details. (The missing project ID was 384804)