Thursday, July 2, 2009

Google image search module for Drupal

We would working at contributing a module, auto-image-file-name to Drupal. There is a big need in all of our projects to google search enable our images. One of the important criteria for the same is the image file name.

We did not have a large content update team to rename images as they upload them. Hence we used this module to automate the process. The Image file name was the first few characters of the associated image title field, with a provision to override. In the admin interface the admin can set the number of characters, and also the image fields with which this feature can be associated. This works only with CCK module.



Friday, May 22, 2009

Steps to install memcache in drupal

1. Install the memcached binaries on your server. See How to install Memcache on Debian Etch[ ] or How to install Memcache on OSX [ ]
2. Install the PECL memcache extension for PHP.
3. In settings.php add ini_set('memcache.hash_strategy','consistent');
4. Put your site into offline mode.
5. Download and install the memcache module [ ]
6. If you have previously been running the memcache module, run update.php.
7. Apply the DRUPAL-5-cache-serialize.patch that comes with memcache module [memcache/patches]
I applied DRUPAL-5-3-cache-serialize.patch hence I am using drupal 5.3
8. Start at least one instance of memcache on the server.
[ex ./memcached -d -m 2048 -l -p 11211 ]
Here 11211 is an instance of memcache, is the IP of the server, 2048 is the allocated memory.
9. Add following in the settings.php
$conf = array(
  'cache_inc' => './sites/all/modules/memcache/',
  'memcache_servers' => array(
    'localhost:11211' => 'default',
  'memcache_bins' =>array(
    'cache' => 'default',
    'cache_views' => 'default',
    'cache_page' => 'default',
    'cache_path' => 'default',
    'cache_filter' => 'default',
    'cache_menu' => 'default',
10. Change memcache_stampede_semaphore time from 15 seconds to 600 in lineno:86
if ($result->expire && $result->expire <= time() && $mc->add($full_key .'_semaphore', '', FALSE, variable_get('memcache_stampede_semaphore', 600))) {
located in modules/memcache to get clear result of memcache.
Every 600 seconds cache from memcache will be cleared. If this is not set we will not see any performance benefit. Refer links… . .
11. First time after install, truncate all cache tables that are memcached.
12. Bring your site back online.
13. To check the memcache status login as admin and check memcahce logs at /admin/logs/memcache