Using Twitter oAuth with Drupal

Steps to Get Twitter.module working with Rules:

Required Modules:

Take the following steps:

  1. Install a few modules: To start with, install the following modules:

    • oAuth
    • Twitter
    • Twitter Post
    • For using Rules (optional)
      • Twitter actions
      • Token
      • Rules
      • Rules Administration UI
  2. OAuth settings: Visit the oAuth setting page (admin/settings/oauth) and under OAuth cryptography select “RSA-SHA1” and click “Save configuration”.

  3. Register with Twitter: On the Twitter settings page (admin/settings/twitter) you now need to register your application with Twitter (https://twitter.com/apps/new).

    • Application Name: a simple name to identify what you are doing.
    • Description: Minimum of 10 characters is required.
    • Application website: The URL of the website your are registering.
    • Organization: Your organization name.
    • Website: Your homepage URL.
    • Application Type: Browser
    • Callback URL: This is provided by the Twitter module (admin/settings/twitter) http://{your_url}/twitter/oauth
    • Default Access type: Read & Write
  4. Secrets: Once the application has been registered, Twitter will provide you with the Consumer key and Consumer secret. Enter those on the Twitter module settings page back on your site (admin/settings/twitter) and click “Save configuration”.

  5. Post to Twitter (Optional): If you wanting an option to post to Twitter when you add new content to your site, click the “Post” tab and select the node types you want it to show on as well as set the default format of the post.

  6. Setup your account: This next step is critical. Edit your account page and select the sub-tab of “Twitter accounts” (user//edit/twitter) and click “Add account”. This will take you to the Twitter.com page to authorize and allow access to your account.

    • If you want to use the “Post to Twitter” form at the bottom of the new node’s you can make this account global to the site by clicking “make global”. This will not effect the rules module.
  7. Time to add a rule (Optional: Rules integration): Go to the “Add a new rule” page (admin/rules/trigger/add), set the name, and set the Event for “After saving new content”. On the next page, add and action of “Post a message to Twitter”. On the setting page, enter the Twitter account name that you authorized in step 6. Enter the message that you want to tweet. If you installed the Token module you will be able to add tokens like “Node Title”.

  8. Watch it work! Now all you need to do is create a new node and it will post a message to the Twitter account you specified.

Searching your Drupal site for Content by Author

Recently at work the issue came up that people were searching our site for all the posts by an author but it only returning the author’s biography node. After some digging, I finally found a simple solution thanks to Julia at juliakm.com.

The solution was simple and worked exactly as I was hoping it would. All you have to do is add the following code to your custom module (You don’t have a custom site module?).

 

//Adding author name to the search index
function custom_helper_nodeapi($node, $op, $arg = 0) {
   switch ($op) {
     case 'update index':
       if ($node->uid) {
          $user = user_load(array('uid' => $node->uid));
          return $user->name;
       }
    }

  }

Hopefully you find this helpful. The only drawback to this method is that you will have to trigger a reindex of all the content on the site.

Comments

I have had problems with either not knowing that I had new comments or not realizing they were in the moderation queue. So this weekend, I setup two things that should help alleviate that.

First, I turned off comment moderation. But I didn’t just do that alone. I also added Mollom, a content moderation service. Mollom is a webservice that will monitor your content, comments and form submissions and present CAPCHA or just plain block the content if it feels that it is spammy.

The second thing I did was to enable comment notification. How, you might ask? Drupal 6 has actions and triggers built in and this was my first experience getting to play with them. Over the weekend I found an article on how to setup comment notifications in Drupal 6 using triggers and actions and it really was easy. So now, everytime someone leaves a comment, I know what was left and I can respond quickly, if need be.

Dataloss Warning: Google Analytics Drupal Module

[flickr-photo:id=2325454621,size=s]

I had read about it a few weeks back but it wasn’t till I logged into my Google Analytics account tonight did I notice that my stats had flat-lined on one of my sites. Gone. So it appears that the module author decided to reverse the way the role tracking features work. Instead of having you check which roles shouldn’t be tracked, it changed to tracking only the roles that where checked. In the grand scheme of things, it makes perfect sense, but when I upgraded to that module, there was no warning message.

It appears that that has now been fixed.

I wouldn’t have known about the issue except that I saw a post on the Drupal Planet from Norio.be.

So, be forewarned: Check your Google Analytics accounts if you have updated your modules. The offending version is the change from v 1.3 to v 1.4.