Drupal APIs

Optimizing/Caching Poll's Block

We all know that Poll is a core module which ships with Drupal. After installing this module we can setup poll and we can place a "most recent poll" block any where in region, usually its on a front page. I investigated this module and I found that it takes 20-25 queries to load most recent poll block and when a user submits a vote on that poll it does a cache_clear_all. Which was like WOW, in addition to submitting a vote users were also clearing my cached data. Optimizing or Caching poll's block for any kind of user (authenticated or anonymous) is like piece of cake, but figuring out how to do it was really a big pain in a neck.

Advanced Workflow Management

Advance Workflow Management will help workflow admin define single workflow with states adding a layer of groups at top of that; access control will be based on groups. This module will create a new tab "Workflow Groups" through which admins can create various roles as workflow groups, assign group role to the user (author/editor/publishers) along with the role that manipulate workflow.

Index additional information using node_api hook

I was going through one of my projects and I came to know that how simple it is to insert additional information into your site's search indexes using hook_nodeapi. A comprehensive details about hook_nodeapi can be found here.

Following are the steps involved to make this happen:

  • Create a module that implements hook_nodeapi, lets say example_nodeapi()

function example_nodeapi($node, $op) {
  // Function definition here
}

Converting Texfield into autocomplete using Drupal's Form API

Inside Drupal APIs we can find separate set of APIs that deals with Forms, their elements and properties. Forms API reference guide has all the elements, properties and complete reference to the forms control structure where you can find easily a what properties all forms element carry. For more details please see Forms API Quick Start Guide.

Programmatically create blocks using hook_block

Drupal API provide a hook function hook_block that allow developers to create block or set of blocks their way. hook is a keyword that will replace by the module name, for example example.module file will implement this hook as example_block()

For further details about this hook please visit here

Create own Hooks and allow intervention from other modules

Drupal APIs and Drupal framework allows developer to provide means for other modules to interact or intervene using hooks. This can be done by simply using an API called module_invoke_all(), a comprehensive detail for this function can be found here. Details about hooks in drupal can be found here

Programmatically manipulating taxonomy terms in Drupal

Programmatically inserting, editing and deleting a taxonomy term using drupal api is as easy as A,B,C. After scanning taxonomy_term_save() function, it looks like that if we pass an associated array as an argument to this function with proper keys we can make this happen very easily.