Given the explosion of Twitter, I think it is natural that multiple Twitter-related modules evolve. I believe the requirements and use-cases for what I'm proposing are significantly different from the concerns of the current Twitter module. I'm making this proposal here because I think that it will be the easiest way for people to find it who would naturally be most interested in it. In addition, I think having a dialog with the constituents of the current module is the best practice for launching a new module that exists in a related realm.

Working Title: Twitter Shared Accounts (twittersharedaccounts)

Short Description: Allows multiple users to post to a single Twitter account without more than one of the users having access to manage the Twitter account itself.

Use-case/Audience: Just about every organization and business needs to have an "official" Twitter account that speaks for the organization. These accounts are used to communicate the voice of the business or the organization, not of a particular employee. Many orgs and businesses would like to have the responsibility for writing these tweets to be shared among two or more employees or volunteers. Twitter itself offers nothing to help with this nor have I seen anything in the Twitter ecosystem that deals with this issue. Drupal's robust roles and permissioning systems provide an ideal environment to create such functionality since most of the code is already in place in core or well-established contrib modules.

First pass on possible implementation strategy/requirements:

  1. The module would implement a custom node-type that would be extendable by CCK.
  2. Each node of the node-type would represent a unique Twitter account. Built-in fields for the node would be the Twitter account username and password.
  3. An embedded Twitter posting form would be included any time a Twitter Account node was displayed. (So having permission to view the Twitter Account node would allow people to post from that account. I think the content_access module has easy to use functionality to cover this.)
  4. The embedded form would use a js widget to count-down the characters imput from 140 to 0 and then go into minus numbers. This functionality would attempt to replicate Twitter's tweet entry form on Twitter.com (see #7 for a slight improvement on Twitter's UI).
  5. Upon submitting the tweet, the module would use the Twitter API to post the tweet to Twitter.com.
  6. The contents of the tweet together with a success/fail message would be written to Watchdog
  7. Tinyurl functionality (or an alternative service) would convert links before being sent to Twitter. This would be done with the following UI improvement on the js widget: when the widget encounters a hyperlink, it will only count down a maximum of 25 characters (the known length of a tinyurl url) until it encounters a space when it will continue counting down again.

What this module does that the twitter.module doesn't do: This module facilitates users posting to shared Twitter accounts. It also focuses on a UI that helps authors work within the 140 character limit.

Partial list of what twitter.module does that Twitter Shared Accounts will not do:

  1. Twitter Shared Accounts will not make nodes out of tweets. (Note: this is fairly simply done using feedapi for those who want the account sharing functionality but also want the tweets as nodes on their site.)
  2. Twitter Shared Accounts would not add any code, as the current Twitter module does, to facilitate the insertion of data in replacement of placeholders (e.g. !Title, !user, !url etc).

So, what do people think of this idea? Do you think there is a need? Do you agree that it is a different project than the current twitter.module? Do you have different ideas about how these reqs might be achieved? Would you be willing to help?

I appreciate your feedback,

Shai Gluskin
Content2zero

Comments

Leeteq’s picture

Interesting, please also make it support posting to the opensource laconi.ca microblogging platform, as the Twitter module does.

mlncn’s picture

Yes, we want this. The "post to sitewide Twitter" (in an old patched Drupal 5 version of the twitter module i have on one site) would meet one of the use cases for this, though, right?

benjamin, Agaric Design Collective

asb’s picture

sub

dkinzer’s picture

Hello, I'm planning on working on a widget this weekend for cck that would essentially satisfy most of the requirements for this feature except for the creation of a new node type.

Instead the widget could be applied to a teaser field (or any other field) of any node type. Then a Twitter like field effect over that field will be super imposed when a new node is being added.

When the node is saved the contents of the field would be tweeted to the shared account.

An added feature will be that a tiny URL will be automatically generated back to the node and added to the tweet.

Shai’s picture

@dkinzer,

Awesome... do report your progress back to this thread. Or do you have a project page for what you are working on? Are you using the Twitter module's API or are you hardcoding the Twitter API into your module.

Thanks,

Shai Gluskin

dkinzer’s picture

I'll be porting something I already cooked up for my employer. But I'm guessing the Twitter module probably uses the same Twitter API that I was using so it shouldn't be too difficult to use the Twitter module API instead.

I don't have a project page yet. I was waiting for the move to git which I guess will happen tomorrow. But I'll probably still wait for the weekend to create the project page.

dkinzer’s picture

Assigned: Unassigned » dkinzer
dkinzer’s picture

@Shai, I've created a sandbox project at http://drupal.org/sandbox/dkinzer/1075542

steinmb’s picture

Version: 6.x-2.x-dev » 6.x-3.x-dev
Assigned: dkinzer » Unassigned
13rac1’s picture

Status: Active » Closed (works as designed)

This looks fixed in #8. Re-open as needed.